diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/t_crl.c')
| -rw-r--r-- | src/lib/libcrypto/asn1/t_crl.c | 49 |
1 files changed, 8 insertions, 41 deletions
diff --git a/src/lib/libcrypto/asn1/t_crl.c b/src/lib/libcrypto/asn1/t_crl.c index c2e447ce6f..60db305756 100644 --- a/src/lib/libcrypto/asn1/t_crl.c +++ b/src/lib/libcrypto/asn1/t_crl.c | |||
| @@ -64,8 +64,7 @@ | |||
| 64 | #include <openssl/x509.h> | 64 | #include <openssl/x509.h> |
| 65 | #include <openssl/x509v3.h> | 65 | #include <openssl/x509v3.h> |
| 66 | 66 | ||
| 67 | static void ext_print(BIO *out, X509_EXTENSION *ex); | 67 | #ifndef OPENSSL_NO_FP_API |
| 68 | #ifndef NO_FP_API | ||
| 69 | int X509_CRL_print_fp(FILE *fp, X509_CRL *x) | 68 | int X509_CRL_print_fp(FILE *fp, X509_CRL *x) |
| 70 | { | 69 | { |
| 71 | BIO *b; | 70 | BIO *b; |
| @@ -86,11 +85,10 @@ int X509_CRL_print_fp(FILE *fp, X509_CRL *x) | |||
| 86 | int X509_CRL_print(BIO *out, X509_CRL *x) | 85 | int X509_CRL_print(BIO *out, X509_CRL *x) |
| 87 | { | 86 | { |
| 88 | char buf[256]; | 87 | char buf[256]; |
| 89 | unsigned char *s; | ||
| 90 | STACK_OF(X509_REVOKED) *rev; | 88 | STACK_OF(X509_REVOKED) *rev; |
| 91 | X509_REVOKED *r; | 89 | X509_REVOKED *r; |
| 92 | long l; | 90 | long l; |
| 93 | int i, j, n; | 91 | int i, n; |
| 94 | 92 | ||
| 95 | BIO_printf(out, "Certificate Revocation List (CRL):\n"); | 93 | BIO_printf(out, "Certificate Revocation List (CRL):\n"); |
| 96 | l = X509_CRL_get_version(x); | 94 | l = X509_CRL_get_version(x); |
| @@ -109,15 +107,12 @@ int X509_CRL_print(BIO *out, X509_CRL *x) | |||
| 109 | BIO_printf(out,"\n"); | 107 | BIO_printf(out,"\n"); |
| 110 | 108 | ||
| 111 | n=X509_CRL_get_ext_count(x); | 109 | n=X509_CRL_get_ext_count(x); |
| 112 | if (n > 0) { | 110 | X509V3_extensions_print(out, "CRL extensions", |
| 113 | BIO_printf(out,"%8sCRL extensions:\n",""); | 111 | x->crl->extensions, 0, 8); |
| 114 | for (i=0; i<n; i++) ext_print(out, X509_CRL_get_ext(x, i)); | ||
| 115 | } | ||
| 116 | |||
| 117 | 112 | ||
| 118 | rev = X509_CRL_get_REVOKED(x); | 113 | rev = X509_CRL_get_REVOKED(x); |
| 119 | 114 | ||
| 120 | if(sk_X509_REVOKED_num(rev)) | 115 | if(sk_X509_REVOKED_num(rev) > 0) |
| 121 | BIO_printf(out, "Revoked Certificates:\n"); | 116 | BIO_printf(out, "Revoked Certificates:\n"); |
| 122 | else BIO_printf(out, "No Revoked Certificates.\n"); | 117 | else BIO_printf(out, "No Revoked Certificates.\n"); |
| 123 | 118 | ||
| @@ -128,39 +123,11 @@ int X509_CRL_print(BIO *out, X509_CRL *x) | |||
| 128 | BIO_printf(out,"\n Revocation Date: ",""); | 123 | BIO_printf(out,"\n Revocation Date: ",""); |
| 129 | ASN1_TIME_print(out,r->revocationDate); | 124 | ASN1_TIME_print(out,r->revocationDate); |
| 130 | BIO_printf(out,"\n"); | 125 | BIO_printf(out,"\n"); |
| 131 | for(j = 0; j < X509_REVOKED_get_ext_count(r); j++) | 126 | X509V3_extensions_print(out, "CRL entry extensions", |
| 132 | ext_print(out, X509_REVOKED_get_ext(r, j)); | 127 | r->extensions, 0, 8); |
| 133 | } | ||
| 134 | |||
| 135 | i=OBJ_obj2nid(x->sig_alg->algorithm); | ||
| 136 | BIO_printf(out," Signature Algorithm: %s", | ||
| 137 | (i == NID_undef)?"UNKNOWN":OBJ_nid2ln(i)); | ||
| 138 | |||
| 139 | s = x->signature->data; | ||
| 140 | n = x->signature->length; | ||
| 141 | for (i=0; i<n; i++, s++) | ||
| 142 | { | ||
| 143 | if ((i%18) == 0) BIO_write(out,"\n ",9); | ||
| 144 | BIO_printf(out,"%02x%s",*s, ((i+1) == n)?"":":"); | ||
| 145 | } | 128 | } |
| 146 | BIO_write(out,"\n",1); | 129 | X509_signature_print(out, x->sig_alg, x->signature); |
| 147 | 130 | ||
| 148 | return 1; | 131 | return 1; |
| 149 | 132 | ||
| 150 | } | 133 | } |
| 151 | |||
| 152 | static void ext_print(BIO *out, X509_EXTENSION *ex) | ||
| 153 | { | ||
| 154 | ASN1_OBJECT *obj; | ||
| 155 | int j; | ||
| 156 | BIO_printf(out,"%12s",""); | ||
| 157 | obj=X509_EXTENSION_get_object(ex); | ||
| 158 | i2a_ASN1_OBJECT(out,obj); | ||
| 159 | j=X509_EXTENSION_get_critical(ex); | ||
| 160 | BIO_printf(out, ": %s\n", j ? "critical":"",""); | ||
| 161 | if(!X509V3_EXT_print(out, ex, 0, 16)) { | ||
| 162 | BIO_printf(out, "%16s", ""); | ||
| 163 | ASN1_OCTET_STRING_print(out,ex->value); | ||
| 164 | } | ||
| 165 | BIO_write(out,"\n",1); | ||
| 166 | } | ||
