diff options
Diffstat (limited to 'ext/openssl')
-rw-r--r-- | ext/openssl/ossl_pkey_rsa.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/ext/openssl/ossl_pkey_rsa.c b/ext/openssl/ossl_pkey_rsa.c index 15c1d6934d..d57e5b5270 100644 --- a/ext/openssl/ossl_pkey_rsa.c +++ b/ext/openssl/ossl_pkey_rsa.c @@ -159,27 +159,27 @@ ossl_rsa_initialize(int argc, VALUE *argv, VALUE self) if (!rsa) { (void)BIO_reset(in); (void)ERR_get_error(); - rsa = PEM_read_bio_RSAPublicKey(in, NULL, NULL, NULL); + rsa = PEM_read_bio_RSA_PUBKEY(in, NULL, NULL, NULL); } if (!rsa) { (void)BIO_reset(in); (void)ERR_get_error(); - rsa = PEM_read_bio_RSA_PUBKEY(in, NULL, NULL, NULL); + rsa = d2i_RSAPrivateKey_bio(in, NULL); } if (!rsa) { (void)BIO_reset(in); (void)ERR_get_error(); - rsa = d2i_RSAPrivateKey_bio(in, NULL); + rsa = d2i_RSA_PUBKEY_bio(in, NULL); } if (!rsa) { (void)BIO_reset(in); (void)ERR_get_error(); - rsa = d2i_RSAPublicKey_bio(in, NULL); + rsa = PEM_read_bio_RSAPublicKey(in, NULL, NULL, NULL); } if (!rsa) { (void)BIO_reset(in); (void)ERR_get_error(); - rsa = d2i_RSA_PUBKEY_bio(in, NULL); + rsa = d2i_RSAPublicKey_bio(in, NULL); } BIO_free(in); if (!rsa) { @@ -268,7 +268,7 @@ ossl_rsa_export(int argc, VALUE *argv, VALUE self) ossl_raise(eRSAError, NULL); } } else { - if (!PEM_write_bio_RSAPublicKey(out, pkey->pkey.rsa)) { + if (!PEM_write_bio_RSA_PUBKEY(out, pkey->pkey.rsa)) { BIO_free(out); ossl_raise(eRSAError, NULL); } @@ -297,7 +297,7 @@ ossl_rsa_to_der(VALUE self) if(RSA_HAS_PRIVATE(pkey->pkey.rsa)) i2d_func = i2d_RSAPrivateKey; else - i2d_func = i2d_RSAPublicKey; + i2d_func = (int (*)(const RSA*, unsigned char**))i2d_RSA_PUBKEY; if((len = i2d_func(pkey->pkey.rsa, NULL)) <= 0) ossl_raise(eRSAError, NULL); str = rb_str_new(0, len); |