aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf S. Engelschall <rse@openssl.org>1999-02-24 17:17:31 +0000
committerRalf S. Engelschall <rse@openssl.org>1999-02-24 17:17:31 +0000
commit7be304acdb36feddccb2b1d324c67fd1cefdfe2a (patch)
treed0057c0c63be3008c7fd9a7e83447a43f5611655
parent6b313a7365defc2334430284455e535adbb8e9f4 (diff)
downloadopenssl-7be304acdb36feddccb2b1d324c67fd1cefdfe2a.zip
openssl-7be304acdb36feddccb2b1d324c67fd1cefdfe2a.tar.gz
openssl-7be304acdb36feddccb2b1d324c67fd1cefdfe2a.tar.bz2
Make `openssl x509 -noout -modulus' functional also for DSA certificates (in
addition to RSA certificates) to match the behaviour of `openssl dsa -noout -modulus' as it's already the case for `openssl rsa -noout -modulus'. For RSA the -modulus is the real "modulus" while for DSA currently the public key is printed (a decision which was already done by `openssl dsa -modulus' in the past) which serves a similar purpose. Additionally the NO_RSA no longer completely removes the whole -modulus option; it now only avoids using the RSA stuff. Same applies to NO_DSA now, too.
-rw-r--r--CHANGES11
-rw-r--r--apps/x509.c9
2 files changed, 18 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 93f1447..19bd019 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,17 @@
Changes between 0.9.1c and 0.9.2
+ *) Make `openssl x509 -noout -modulus' functional also for DSA certificates
+ (in addition to RSA certificates) to match the behaviour of `openssl dsa
+ -noout -modulus' as it's already the case for `openssl rsa -noout
+ -modulus'. For RSA the -modulus is the real "modulus" while for DSA
+ currently the public key is printed (a decision which was already done by
+ `openssl dsa -modulus' in the past) which serves a similar purpose.
+ Additionally the NO_RSA no longer completely removes the whole -modulus
+ option; it now only avoids using the RSA stuff. Same applies to NO_DSA
+ now, too.
+ [Ralf S. Engelschall]
+
*) Add Arne Ansper's reliable BIO - this is an encrypted, block-digested
BIO. See the source (crypto/evp/bio_ok.c) for more info.
[Arne Ansper <arne@ats.cyber.ee>]
diff --git a/apps/x509.c b/apps/x509.c
index c4e4890..c20d213 100644
--- a/apps/x509.c
+++ b/apps/x509.c
@@ -468,7 +468,6 @@ bad:
BIO_printf(STDout,"%08lx\n",X509_subject_name_hash(x));
}
else
-#ifndef NO_RSA
if (modulus == i)
{
EVP_PKEY *pkey;
@@ -481,15 +480,21 @@ bad:
goto end;
}
BIO_printf(STDout,"Modulus=");
+#ifndef NO_RSA
if (pkey->type == EVP_PKEY_RSA)
BN_print(STDout,pkey->pkey.rsa->n);
else
+#endif
+#ifndef NO_DSA
+ if (pkey->type == EVP_PKEY_DSA)
+ BN_print(STDout,pkey->pkey.dsa->pub_key);
+ else
+#endif
BIO_printf(STDout,"Wrong Algorithm type");
BIO_printf(STDout,"\n");
EVP_PKEY_free(pkey);
}
else
-#endif
if (C == i)
{
unsigned char *d;