summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Hudson <tjh@cryptsoft.com>2014-04-03 13:23:51 +0100
committerDr. Stephen Henson <steve@openssl.org>2014-04-03 13:37:04 +0100
commit50522642a02bdab2755ee43d52076e8a04f16d10 (patch)
treeec6f6de9186c92d63488df31d64909d251fda628
parentbfc3424d1fbaf684c812c03e3c6cb8d38d2d6f1d (diff)
downloadopenssl-new-50522642a02bdab2755ee43d52076e8a04f16d10.tar.gz
Add option to generate old hash format.
New -hash_old to generate CRL hashes using old (before OpenSSL 1.0.0) algorithm. (cherry picked from commit de2d97cd799f38024d70847bab37d91aa5a2536e)
-rw-r--r--apps/crl.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/apps/crl.c b/apps/crl.c
index c395b2afd5..8797d300cf 100644
--- a/apps/crl.c
+++ b/apps/crl.c
@@ -81,6 +81,9 @@ static const char *crl_usage[]={
" -in arg - input file - default stdin\n",
" -out arg - output file - default stdout\n",
" -hash - print hash value\n",
+#ifndef OPENSSL_NO_MD5
+" -hash_old - print old-style (MD5) hash value\n",
+#endif
" -fingerprint - print the crl fingerprint\n",
" -issuer - print issuer DN\n",
" -lastupdate - lastUpdate field\n",
@@ -108,6 +111,9 @@ int MAIN(int argc, char **argv)
int informat,outformat;
char *infile=NULL,*outfile=NULL;
int hash=0,issuer=0,lastupdate=0,nextupdate=0,noout=0,text=0;
+#ifndef OPENSSL_NO_MD5
+ int hash_old=0;
+#endif
int fingerprint = 0, crlnumber = 0;
const char **pp;
X509_STORE *store = NULL;
@@ -192,6 +198,10 @@ int MAIN(int argc, char **argv)
text = 1;
else if (strcmp(*argv,"-hash") == 0)
hash= ++num;
+#ifndef OPENSSL_NO_MD5
+ else if (strcmp(*argv,"-hash_old") == 0)
+ hash_old= ++num;
+#endif
else if (strcmp(*argv,"-nameopt") == 0)
{
if (--argc < 1) goto bad;
@@ -304,6 +314,14 @@ bad:
BIO_printf(bio_out,"%08lx\n",
X509_NAME_hash(X509_CRL_get_issuer(x)));
}
+#ifndef OPENSSL_NO_MD5
+ if (hash_old == i)
+ {
+ BIO_printf(bio_out,"%08lx\n",
+ X509_NAME_hash_old(
+ X509_CRL_get_issuer(x)));
+ }
+#endif
if (lastupdate == i)
{
BIO_printf(bio_out,"lastUpdate=");