X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fasn1%2Ft_req.c;h=6049909a02f4dca8f66d86e33199f4cd066de25a;hb=87c49f622e7fe9d93b3ab87b1edd5faa32fa6e74;hp=7df749a48fdf5e3e6d970940ebcff61de306f261;hpb=78414a6a897db42c9bcf06aa21c705811ab33921;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/t_req.c b/crypto/asn1/t_req.c index 7df749a48f..6049909a02 100644 --- a/crypto/asn1/t_req.c +++ b/crypto/asn1/t_req.c @@ -58,15 +58,14 @@ #include #include "cryptlib.h" -#include "buffer.h" -#include "bn.h" -#include "objects.h" -#include "x509.h" +#include +#include +#include +#include +#include #ifndef NO_FP_API -int X509_REQ_print_fp(fp,x) -FILE *fp; -X509_REQ *x; +int X509_REQ_print_fp(FILE *fp, X509_REQ *x) { BIO *b; int ret; @@ -83,16 +82,16 @@ X509_REQ *x; } #endif -int X509_REQ_print(bp,x) -BIO *bp; -X509_REQ *x; +int X509_REQ_print(BIO *bp, X509_REQ *x) { unsigned long l; int i,n; - char *s,*neg; + char *s; + const char *neg; X509_REQ_INFO *ri; EVP_PKEY *pkey; - STACK *sk; + STACK_OF(X509_ATTRIBUTE) *sk; + STACK_OF(X509_EXTENSION) *exts; char str[128]; ri=x->req_info; @@ -138,12 +137,14 @@ X509_REQ *x; #endif BIO_printf(bp,"%12sUnknown Public Key:\n",""); + EVP_PKEY_free(pkey); + /* may not be */ sprintf(str,"%8sAttributes:\n",""); if (BIO_puts(bp,str) <= 0) goto err; sk=x->req_info->attributes; - if ((sk == NULL) || (sk_num(sk) == 0)) + if ((sk == NULL) || (sk_X509_ATTRIBUTE_num(sk) == 0)) { if (!x->req_info->req_kludge) { @@ -153,7 +154,7 @@ X509_REQ *x; } else { - for (i=0; iobject))) + continue; sprintf(str,"%12s",""); if (BIO_puts(bp,str) <= 0) goto err; if ((j=i2a_ASN1_OBJECT(bp,a->object)) > 0) - + { if (a->set) { ii=0; - count=sk_num(a->value.set); + count=sk_ASN1_TYPE_num(a->value.set); get_next: - at=(ASN1_TYPE *)sk_value(a->value.set,ii); + at=sk_ASN1_TYPE_value(a->value.set,ii); type=at->type; bs=at->value.asn1_string; } @@ -181,6 +184,7 @@ get_next: type=t->type; bs=t->value.bit_string; } + } for (j=25-j; j>0; j--) if (BIO_write(bp," ",1) != 1) goto err; if (BIO_puts(bp,":") <= 0) goto err; @@ -201,6 +205,29 @@ get_next: } } + exts = X509_REQ_get_extensions(x); + if(exts) { + BIO_printf(bp,"%8sRequested Extensions:\n",""); + for (i=0; ivalue); + } + if (BIO_write(bp,"\n",1) <= 0) goto err; + } + sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free); + } + i=OBJ_obj2nid(x->sig_alg->algorithm); sprintf(str,"%4sSignature Algorithm: %s","", (i == NID_undef)?"UNKNOWN":OBJ_nid2ln(i));