@@ -6099,7 +6099,6 @@ int wolfSSL_X509_cmp(const WOLFSSL_X509 *a, const WOLFSSL_X509 *b)
60996099 #define MAX_WIDTH 80
61006100#endif
61016101
6102- #if defined(WOLFSSL_ACERT )
61036102#define ACERT_NUM_DIR_TAGS 4
61046103
61056104/* Convenience struct and function for printing the Holder sub fields
@@ -6209,9 +6208,8 @@ static int X509PrintDirType(char * dst, int max_len, const DNS_entry * entry)
62096208
62106209 return total_len ;
62116210}
6212-
6213- static int X509_ACERT_print_name_entry (WOLFSSL_BIO * bio ,
6214- const DNS_entry * entry , int indent )
6211+ static int X509_print_name_entry (WOLFSSL_BIO * bio ,
6212+ const DNS_entry * entry , int indent )
62156213{
62166214 int ret = WOLFSSL_SUCCESS ;
62176215 int nameCount = 0 ;
@@ -6242,68 +6240,43 @@ static int X509_ACERT_print_name_entry(WOLFSSL_BIO* bio,
62426240
62436241 if (entry -> type == ASN_DNS_TYPE ) {
62446242 len = XSNPRINTF (scratch , MAX_WIDTH , "DNS:%s" , entry -> name );
6245- if (len >= MAX_WIDTH ) {
6246- ret = WOLFSSL_FAILURE ;
6247- break ;
6248- }
62496243 }
62506244 #if defined(OPENSSL_ALL ) || defined(WOLFSSL_IP_ALT_NAME )
62516245 else if (entry -> type == ASN_IP_TYPE ) {
62526246 len = XSNPRINTF (scratch , MAX_WIDTH , "IP Address:%s" ,
62536247 entry -> ipString );
6254- if (len >= MAX_WIDTH ) {
6255- ret = WOLFSSL_FAILURE ;
6256- break ;
6257- }
62586248 }
62596249 #endif /* OPENSSL_ALL || WOLFSSL_IP_ALT_NAME */
62606250 else if (entry -> type == ASN_RFC822_TYPE ) {
62616251 len = XSNPRINTF (scratch , MAX_WIDTH , "email:%s" ,
62626252 entry -> name );
6263- if (len >= MAX_WIDTH ) {
6264- ret = WOLFSSL_FAILURE ;
6265- break ;
6266- }
62676253 }
62686254 else if (entry -> type == ASN_DIR_TYPE ) {
62696255 len = X509PrintDirType (scratch , MAX_WIDTH , entry );
6270- if (len >= MAX_WIDTH ) {
6271- ret = WOLFSSL_FAILURE ;
6272- break ;
6273- }
62746256 }
62756257 else if (entry -> type == ASN_URI_TYPE ) {
62766258 len = XSNPRINTF (scratch , MAX_WIDTH , "URI:%s" ,
62776259 entry -> name );
6278- if (len >= MAX_WIDTH ) {
6279- ret = WOLFSSL_FAILURE ;
6280- break ;
6281- }
62826260 }
62836261 #if defined(OPENSSL_ALL )
62846262 else if (entry -> type == ASN_RID_TYPE ) {
62856263 len = XSNPRINTF (scratch , MAX_WIDTH , "Registered ID:%s" ,
62866264 entry -> ridString );
6287- if (len >= MAX_WIDTH ) {
6288- ret = WOLFSSL_FAILURE ;
6289- break ;
6290- }
62916265 }
62926266 #endif
62936267 else if (entry -> type == ASN_OTHER_TYPE ) {
62946268 len = XSNPRINTF (scratch , MAX_WIDTH ,
62956269 "othername <unsupported>" );
6296- if (len >= MAX_WIDTH ) {
6297- ret = WOLFSSL_FAILURE ;
6298- break ;
6299- }
63006270 }
63016271 else {
63026272 WOLFSSL_MSG ("Bad alt name type." );
63036273 ret = WOLFSSL_FAILURE ;
63046274 break ;
63056275 }
6306-
6276+ if (len >= MAX_WIDTH ) {
6277+ ret = WOLFSSL_FAILURE ;
6278+ break ;
6279+ }
63076280 if (wolfSSL_BIO_write (bio , scratch , (int )XSTRLEN (scratch ))
63086281 <= 0 ) {
63096282 ret = WOLFSSL_FAILURE ;
@@ -6320,128 +6293,6 @@ static int X509_ACERT_print_name_entry(WOLFSSL_BIO* bio,
63206293 return ret ;
63216294}
63226295
6323- #endif /* if WOLFSSL_ACERT*/
6324-
6325- static int X509PrintSubjAltName (WOLFSSL_BIO * bio , WOLFSSL_X509 * x509 ,
6326- int indent )
6327- {
6328- int ret = WOLFSSL_SUCCESS ;
6329- DNS_entry * entry ;
6330-
6331- if (bio == NULL || x509 == NULL ) {
6332- ret = WOLFSSL_FAILURE ;
6333- }
6334-
6335- if (ret == WOLFSSL_SUCCESS && x509 -> subjAltNameSet &&
6336- x509 -> altNames != NULL ) {
6337- char scratch [MAX_WIDTH ];
6338- int len ;
6339-
6340- len = XSNPRINTF (scratch , MAX_WIDTH , "%*s" , indent , "" );
6341- if (len >= MAX_WIDTH )
6342- ret = WOLFSSL_FAILURE ;
6343- if (ret == WOLFSSL_SUCCESS ) {
6344- if (wolfSSL_BIO_write (bio , scratch , (int )XSTRLEN (scratch )) <= 0 ) {
6345- ret = WOLFSSL_FAILURE ;
6346- }
6347- }
6348- if (ret == WOLFSSL_SUCCESS ) {
6349- int nameCount = 0 ;
6350-
6351- entry = x509 -> altNames ;
6352- while (entry != NULL ) {
6353- ++ nameCount ;
6354- if (nameCount > 1 ) {
6355- if (wolfSSL_BIO_write (bio , ", " , 2 ) <= 0 ) {
6356- ret = WOLFSSL_FAILURE ;
6357- break ;
6358- }
6359- }
6360-
6361- if (entry -> type == ASN_DNS_TYPE ) {
6362- len = XSNPRINTF (scratch , MAX_WIDTH , "DNS:%s" , entry -> name );
6363- if (len >= MAX_WIDTH ) {
6364- ret = WOLFSSL_FAILURE ;
6365- break ;
6366- }
6367- }
6368- #ifdef WOLFSSL_IP_ALT_NAME
6369- else if (entry -> type == ASN_IP_TYPE ) {
6370- len = XSNPRINTF (scratch , MAX_WIDTH , "IP Address:%s" ,
6371- entry -> ipString );
6372- if (len >= MAX_WIDTH ) {
6373- ret = WOLFSSL_FAILURE ;
6374- break ;
6375- }
6376- }
6377- #endif /* OPENSSL_ALL || WOLFSSL_IP_ALT_NAME */
6378- else if (entry -> type == ASN_RFC822_TYPE ) {
6379- len = XSNPRINTF (scratch , MAX_WIDTH , "email:%s" ,
6380- entry -> name );
6381- if (len >= MAX_WIDTH ) {
6382- ret = WOLFSSL_FAILURE ;
6383- break ;
6384- }
6385- }
6386- else if (entry -> type == ASN_DIR_TYPE ) {
6387- /* @TODO entry->name in ASN1 syntax */
6388- len = XSNPRINTF (scratch , MAX_WIDTH ,
6389- "DirName:<print out not supported yet>" );
6390- if (len >= MAX_WIDTH ) {
6391- ret = WOLFSSL_FAILURE ;
6392- break ;
6393- }
6394- }
6395- else if (entry -> type == ASN_URI_TYPE ) {
6396- len = XSNPRINTF (scratch , MAX_WIDTH , "URI:%s" ,
6397- entry -> name );
6398- if (len >= MAX_WIDTH ) {
6399- ret = WOLFSSL_FAILURE ;
6400- break ;
6401- }
6402- }
6403- #if defined(OPENSSL_ALL )
6404- else if (entry -> type == ASN_RID_TYPE ) {
6405- len = XSNPRINTF (scratch , MAX_WIDTH , "Registered ID:%s" ,
6406- entry -> ridString );
6407- if (len >= MAX_WIDTH ) {
6408- ret = WOLFSSL_FAILURE ;
6409- break ;
6410- }
6411- }
6412- #endif
6413- else if (entry -> type == ASN_OTHER_TYPE ) {
6414- len = XSNPRINTF (scratch , MAX_WIDTH ,
6415- "othername <unsupported>" );
6416- if (len >= MAX_WIDTH ) {
6417- ret = WOLFSSL_FAILURE ;
6418- break ;
6419- }
6420- }
6421- else {
6422- WOLFSSL_MSG ("Bad alt name type." );
6423- ret = WOLFSSL_FAILURE ;
6424- break ;
6425- }
6426-
6427- if (wolfSSL_BIO_write (bio , scratch , (int )XSTRLEN (scratch ))
6428- <= 0 ) {
6429- ret = WOLFSSL_FAILURE ;
6430- break ;
6431- }
6432-
6433- entry = entry -> next ;
6434- }
6435- }
6436-
6437- if (ret == WOLFSSL_SUCCESS && wolfSSL_BIO_write (bio , "\n" , 1 ) <= 0 ) {
6438- ret = WOLFSSL_FAILURE ;
6439- }
6440- }
6441-
6442- return ret ;
6443- }
6444-
64456296#ifdef XSNPRINTF
64466297static int X509PrintKeyUsage (WOLFSSL_BIO * bio , WOLFSSL_X509 * x509 , int indent )
64476298{
@@ -6711,6 +6562,14 @@ static int X509PrintValidity(WOLFSSL_BIO* bio, WOLFSSL_ASN1_TIME * notBefore,
67116562}
67126563#endif /* ifndef NO_ASN_TIME */
67136564
6565+ static int X509PrintSubjAltName (WOLFSSL_BIO * bio , WOLFSSL_X509 * x509 ,
6566+ int indent )
6567+ {
6568+ if (!x509 || !x509 -> altNames || !x509 -> subjAltNameSet )
6569+ return WOLFSSL_FAILURE ;
6570+ return X509_print_name_entry (bio , x509 -> altNames , indent );
6571+ }
6572+
67146573/* iterate through certificate extensions printing them out in human readable
67156574 * form
67166575 * return WOLFSSL_SUCCESS on success
@@ -7586,7 +7445,7 @@ int wolfSSL_X509_ACERT_print(WOLFSSL_BIO* bio, WOLFSSL_X509_ACERT* x509)
75867445 return WOLFSSL_FAILURE ;
75877446 }
75887447
7589- if (X509_ACERT_print_name_entry (bio , x509 -> holderEntityName , 1 )
7448+ if (X509_print_name_entry (bio , x509 -> holderEntityName , 1 )
75907449 != WOLFSSL_SUCCESS ) {
75917450 return WOLFSSL_FAILURE ;
75927451 }
@@ -7599,7 +7458,7 @@ int wolfSSL_X509_ACERT_print(WOLFSSL_BIO* bio, WOLFSSL_X509_ACERT* x509)
75997458 return WOLFSSL_FAILURE ;
76007459 }
76017460
7602- if (X509_ACERT_print_name_entry (bio , x509 -> holderIssuerName , 1 )
7461+ if (X509_print_name_entry (bio , x509 -> holderIssuerName , 1 )
76037462 != WOLFSSL_SUCCESS ) {
76047463 return WOLFSSL_FAILURE ;
76057464 }
@@ -7617,7 +7476,7 @@ int wolfSSL_X509_ACERT_print(WOLFSSL_BIO* bio, WOLFSSL_X509_ACERT* x509)
76177476 }
76187477
76197478 if (x509 -> AttCertIssuerName != NULL ) {
7620- if (X509_ACERT_print_name_entry (bio , x509 -> AttCertIssuerName , 1 )
7479+ if (X509_print_name_entry (bio , x509 -> AttCertIssuerName , 1 )
76217480 != WOLFSSL_SUCCESS ) {
76227481 return WOLFSSL_FAILURE ;
76237482 }
0 commit comments