summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/openssl/ossl_pkey_dsa.c10
2 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 77caf51ac53..3165fa66a2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu May 12 08:18:45 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
+
+ * ext/openssl/ossl_pkey_dsa.c: Use generic X.509 SubjectPublicKeyInfo
+ format for PEM-encoding DSA public keys.
+ [ruby-core:35328] [Bug #4422]
+
Thu May 12 07:27:31 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
* ext/openssl/ossl_pkey_rsa.c: Use generic X.509 SubjectPublicKeyInfo
diff --git a/ext/openssl/ossl_pkey_dsa.c b/ext/openssl/ossl_pkey_dsa.c
index 976e15eeefa..3a46866cd75 100644
--- a/ext/openssl/ossl_pkey_dsa.c
+++ b/ext/openssl/ossl_pkey_dsa.c
@@ -163,22 +163,22 @@ ossl_dsa_initialize(int argc, VALUE *argv, VALUE self)
if (!dsa) {
(void)BIO_reset(in);
(void)ERR_get_error();
- dsa = PEM_read_bio_DSAPublicKey(in, NULL, NULL, NULL);
+ dsa = PEM_read_bio_DSA_PUBKEY(in, NULL, NULL, NULL);
}
if (!dsa) {
(void)BIO_reset(in);
(void)ERR_get_error();
- dsa = PEM_read_bio_DSA_PUBKEY(in, NULL, NULL, NULL);
+ dsa = d2i_DSAPrivateKey_bio(in, NULL);
}
if (!dsa) {
(void)BIO_reset(in);
(void)ERR_get_error();
- dsa = d2i_DSAPrivateKey_bio(in, NULL);
+ dsa = d2i_DSA_PUBKEY_bio(in, NULL);
}
if (!dsa) {
(void)BIO_reset(in);
(void)ERR_get_error();
- dsa = d2i_DSA_PUBKEY_bio(in, NULL);
+ dsa = PEM_read_bio_DSAPublicKey(in, NULL, NULL, NULL);
}
BIO_free(in);
if (!dsa) {
@@ -264,7 +264,7 @@ ossl_dsa_export(int argc, VALUE *argv, VALUE self)
ossl_raise(eDSAError, NULL);
}
} else {
- if (!PEM_write_bio_DSAPublicKey(out, pkey->pkey.dsa)) {
+ if (!PEM_write_bio_DSA_PUBKEY(out, pkey->pkey.dsa)) {
BIO_free(out);
ossl_raise(eDSAError, NULL);
}