Loading CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,11 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 1999] *) Fix for 'req': it was adding a null to request attributes. Also change the X509_LOOKUP and X509_INFO code to handle certificate auxiliary information. [Steve Henson] *) Add support for 40 and 64 bit RC2 and RC4 algorithms: document the 'enc' command. [Steve Henson] Loading apps/req.c +20 −18 Original line number Diff line number Diff line Loading @@ -1051,6 +1051,7 @@ static int add_DN_object(X509_NAME *n, char *text, char *def, char *value, #ifdef CHARSET_EBCDIC ebcdic2ascii(buf, buf, i); #endif if(!req_fix_data(-1, NULL, i, min, max)) goto err; if (!X509_NAME_add_entry_by_NID(n,nid, MBSTRING_ASC, (unsigned char *) buf, -1,-1,0)) goto err; ret=1; Loading Loading @@ -1123,7 +1124,7 @@ start: else goto err; } if (!ASN1_STRING_set(bs,(unsigned char *)buf,i+1)) if (!ASN1_STRING_set(bs,(unsigned char *)buf,i)) { BIO_printf(bio_err,"Malloc failure\n"); goto err; } if ((at=ASN1_TYPE_new()) == NULL) Loading Loading @@ -1161,6 +1162,7 @@ static void MS_CALLBACK req_cb(int p, int n, void *arg) static int req_fix_data(int nid, int *type, int len, int min, int max) { if(type) { if (nid == NID_pkcs9_emailAddress) *type=V_ASN1_IA5STRING; if ((nid == NID_commonName) && (*type == V_ASN1_IA5STRING)) Loading @@ -1177,7 +1179,7 @@ static int req_fix_data(int nid, int *type, int len, int min, int max) } if (nid == NID_pkcs9_unstructuredName) *type=V_ASN1_IA5STRING; } if (len < min) { BIO_printf(bio_err,"string is too short, it needs to be at least %d bytes long\n",min); Loading crypto/pem/pem_info.c +11 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,17 @@ start: } pp=(char **)&(xi->x509); } else if ((strcmp(name,PEM_STRING_X509_TRUSTED) == 0)) { d2i=(char *(*)())d2i_X509_AUX; if (xi->x509 != NULL) { if (!sk_X509_INFO_push(ret,xi)) goto err; if ((xi=X509_INFO_new()) == NULL) goto err; goto start; } pp=(char **)&(xi->x509); } else if (strcmp(name,PEM_STRING_X509_CRL) == 0) { d2i=(char *(*)())d2i_X509_CRL; Loading crypto/x509/by_file.c +1 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type) { for (;;) { x=PEM_read_bio_X509(in,NULL,NULL,NULL); x=PEM_read_bio_X509_AUX(in,NULL,NULL,NULL); if (x == NULL) { if ((ERR_GET_REASON(ERR_peek_error()) == Loading Loading
CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,11 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 1999] *) Fix for 'req': it was adding a null to request attributes. Also change the X509_LOOKUP and X509_INFO code to handle certificate auxiliary information. [Steve Henson] *) Add support for 40 and 64 bit RC2 and RC4 algorithms: document the 'enc' command. [Steve Henson] Loading
apps/req.c +20 −18 Original line number Diff line number Diff line Loading @@ -1051,6 +1051,7 @@ static int add_DN_object(X509_NAME *n, char *text, char *def, char *value, #ifdef CHARSET_EBCDIC ebcdic2ascii(buf, buf, i); #endif if(!req_fix_data(-1, NULL, i, min, max)) goto err; if (!X509_NAME_add_entry_by_NID(n,nid, MBSTRING_ASC, (unsigned char *) buf, -1,-1,0)) goto err; ret=1; Loading Loading @@ -1123,7 +1124,7 @@ start: else goto err; } if (!ASN1_STRING_set(bs,(unsigned char *)buf,i+1)) if (!ASN1_STRING_set(bs,(unsigned char *)buf,i)) { BIO_printf(bio_err,"Malloc failure\n"); goto err; } if ((at=ASN1_TYPE_new()) == NULL) Loading Loading @@ -1161,6 +1162,7 @@ static void MS_CALLBACK req_cb(int p, int n, void *arg) static int req_fix_data(int nid, int *type, int len, int min, int max) { if(type) { if (nid == NID_pkcs9_emailAddress) *type=V_ASN1_IA5STRING; if ((nid == NID_commonName) && (*type == V_ASN1_IA5STRING)) Loading @@ -1177,7 +1179,7 @@ static int req_fix_data(int nid, int *type, int len, int min, int max) } if (nid == NID_pkcs9_unstructuredName) *type=V_ASN1_IA5STRING; } if (len < min) { BIO_printf(bio_err,"string is too short, it needs to be at least %d bytes long\n",min); Loading
crypto/pem/pem_info.c +11 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,17 @@ start: } pp=(char **)&(xi->x509); } else if ((strcmp(name,PEM_STRING_X509_TRUSTED) == 0)) { d2i=(char *(*)())d2i_X509_AUX; if (xi->x509 != NULL) { if (!sk_X509_INFO_push(ret,xi)) goto err; if ((xi=X509_INFO_new()) == NULL) goto err; goto start; } pp=(char **)&(xi->x509); } else if (strcmp(name,PEM_STRING_X509_CRL) == 0) { d2i=(char *(*)())d2i_X509_CRL; Loading
crypto/x509/by_file.c +1 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type) { for (;;) { x=PEM_read_bio_X509(in,NULL,NULL,NULL); x=PEM_read_bio_X509_AUX(in,NULL,NULL,NULL); if (x == NULL) { if ((ERR_GET_REASON(ERR_peek_error()) == Loading