mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-30 19:20:40 -04:00 
			
		
		
		
	Add mbedtls_ssl_conf_cert_profile()
This commit is contained in:
		
							parent
							
								
									cbb1f6e5cb
								
							
						
					
					
						commit
						6e3ee3ad43
					
				| @ -529,6 +529,7 @@ struct mbedtls_ssl_config | ||||
| #endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_SRV_C */ | ||||
| 
 | ||||
| #if defined(MBEDTLS_X509_CRT_PARSE_C) | ||||
|     const mbedtls_x509_crt_profile *cert_profile; /*!< verification profile       */ | ||||
|     mbedtls_ssl_key_cert *key_cert; /*!< own certificate/key pair(s)        */ | ||||
|     mbedtls_x509_crt *ca_chain;     /*!< trusted CAs                        */ | ||||
|     mbedtls_x509_crl *ca_crl;       /*!< trusted CAs CRLs                   */ | ||||
| @ -1351,6 +1352,15 @@ void mbedtls_ssl_conf_ciphersuites_for_version( mbedtls_ssl_config *conf, | ||||
|                                        int major, int minor ); | ||||
| 
 | ||||
| #if defined(MBEDTLS_X509_CRT_PARSE_C) | ||||
| /**
 | ||||
|  * \brief          Set the X.509 security profile used for verification | ||||
|  * | ||||
|  * \param conf     SSL configuration | ||||
|  * \param profile  Profile to use | ||||
|  */ | ||||
| void mbedtls_ssl_conf_cert_profile( mbedtls_ssl_config *conf, | ||||
|                                     mbedtls_x509_crt_profile *profile ); | ||||
| 
 | ||||
| /**
 | ||||
|  * \brief          Set the data required to verify peer certificate | ||||
|  * | ||||
|  | ||||
| @ -4064,10 +4064,13 @@ int mbedtls_ssl_parse_certificate( mbedtls_ssl_context *ssl ) | ||||
|         /*
 | ||||
|          * Main check: verify certificate | ||||
|          */ | ||||
|         ret = mbedtls_x509_crt_verify( ssl->session_negotiate->peer_cert, | ||||
|                                ca_chain, ca_crl, ssl->hostname, | ||||
|                               &ssl->session_negotiate->verify_result, | ||||
|                                ssl->conf->f_vrfy, ssl->conf->p_vrfy ); | ||||
|         ret = mbedtls_x509_crt_verify_with_profile( | ||||
|                                 ssl->session_negotiate->peer_cert, | ||||
|                                 ca_chain, ca_crl, | ||||
|                                 ssl->conf->cert_profile, | ||||
|                                 ssl->hostname, | ||||
|                                &ssl->session_negotiate->verify_result, | ||||
|                                 ssl->conf->f_vrfy, ssl->conf->p_vrfy ); | ||||
| 
 | ||||
|         if( ret != 0 ) | ||||
|         { | ||||
| @ -5292,6 +5295,12 @@ void mbedtls_ssl_conf_ciphersuites_for_version( mbedtls_ssl_config *conf, | ||||
| } | ||||
| 
 | ||||
| #if defined(MBEDTLS_X509_CRT_PARSE_C) | ||||
| void mbedtls_ssl_conf_cert_profile( mbedtls_ssl_config *conf, | ||||
|                                     mbedtls_x509_crt_profile *profile ) | ||||
| { | ||||
|     conf->cert_profile = profile; | ||||
| } | ||||
| 
 | ||||
| /* Append a new keycert entry to a (possibly empty) list */ | ||||
| static int ssl_append_key_cert( mbedtls_ssl_key_cert **head, | ||||
|                                 mbedtls_x509_crt *cert, | ||||
| @ -6636,6 +6645,10 @@ int mbedtls_ssl_config_defaults( mbedtls_ssl_config *conf, | ||||
|     conf->ciphersuite_list[MBEDTLS_SSL_MINOR_VERSION_3] = | ||||
|                            mbedtls_ssl_list_ciphersuites(); | ||||
| 
 | ||||
| #if defined(MBEDTLS_X509_CRT_PARSE_C) | ||||
|     conf->cert_profile = &mbedtls_x509_crt_profile_default; | ||||
| #endif | ||||
| 
 | ||||
| #if defined(MBEDTLS_ARC4_C) | ||||
|     conf->arc4_disabled = MBEDTLS_SSL_ARC4_DISABLED; | ||||
| #endif | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Manuel Pégourié-Gonnard
						Manuel Pégourié-Gonnard