diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-12-19 15:01:59 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-12-19 15:01:59 +0000 |
commit | 45da1efcdb822d8ff992e13d5a1600fa62c96c6d (patch) | |
tree | c997ce2acf968ce1a4d9f9f23dafbedfda7aba4d /apps/x509.c | |
parent | 54a0076e94dc411e3569bb069dd6d53f95787575 (diff) |
Backport X509 hostname, IP address and email checking code from HEAD.
Diffstat (limited to 'apps/x509.c')
-rw-r--r-- | apps/x509.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/apps/x509.c b/apps/x509.c index 3863ab968d..361eca624e 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -207,6 +207,8 @@ int MAIN(int argc, char **argv) int need_rand = 0; int checkend=0,checkoffset=0; unsigned long nmflag = 0, certflag = 0; + unsigned char *checkhost = NULL, *checkemail = NULL; + char *checkip = NULL; #ifndef OPENSSL_NO_ENGINE char *engine=NULL; #endif @@ -450,6 +452,21 @@ int MAIN(int argc, char **argv) checkoffset=atoi(*(++argv)); checkend=1; } + else if (strcmp(*argv,"-checkhost") == 0) + { + if (--argc < 1) goto bad; + checkhost=(unsigned char *)*(++argv); + } + else if (strcmp(*argv,"-checkemail") == 0) + { + if (--argc < 1) goto bad; + checkemail=(unsigned char *)*(++argv); + } + else if (strcmp(*argv,"-checkip") == 0) + { + if (--argc < 1) goto bad; + checkip=*(++argv); + } else if (strcmp(*argv,"-noout") == 0) noout= ++num; else if (strcmp(*argv,"-trustout") == 0) @@ -1044,6 +1061,8 @@ bad: goto end; } + print_cert_checks(STDout, x, checkhost, checkemail, checkip); + if (noout) { ret=0; |