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 */ | #endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_SRV_C */ | ||||||
| 
 | 
 | ||||||
| #if defined(MBEDTLS_X509_CRT_PARSE_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_ssl_key_cert *key_cert; /*!< own certificate/key pair(s)        */ | ||||||
|     mbedtls_x509_crt *ca_chain;     /*!< trusted CAs                        */ |     mbedtls_x509_crt *ca_chain;     /*!< trusted CAs                        */ | ||||||
|     mbedtls_x509_crl *ca_crl;       /*!< trusted CAs CRLs                   */ |     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 ); |                                        int major, int minor ); | ||||||
| 
 | 
 | ||||||
| #if defined(MBEDTLS_X509_CRT_PARSE_C) | #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 |  * \brief          Set the data required to verify peer certificate | ||||||
|  * |  * | ||||||
|  | |||||||
| @ -4064,8 +4064,11 @@ int mbedtls_ssl_parse_certificate( mbedtls_ssl_context *ssl ) | |||||||
|         /*
 |         /*
 | ||||||
|          * Main check: verify certificate |          * Main check: verify certificate | ||||||
|          */ |          */ | ||||||
|         ret = mbedtls_x509_crt_verify( ssl->session_negotiate->peer_cert, |         ret = mbedtls_x509_crt_verify_with_profile( | ||||||
|                                ca_chain, ca_crl, ssl->hostname, |                                 ssl->session_negotiate->peer_cert, | ||||||
|  |                                 ca_chain, ca_crl, | ||||||
|  |                                 ssl->conf->cert_profile, | ||||||
|  |                                 ssl->hostname, | ||||||
|                                &ssl->session_negotiate->verify_result, |                                &ssl->session_negotiate->verify_result, | ||||||
|                                 ssl->conf->f_vrfy, ssl->conf->p_vrfy ); |                                 ssl->conf->f_vrfy, ssl->conf->p_vrfy ); | ||||||
| 
 | 
 | ||||||
| @ -5292,6 +5295,12 @@ void mbedtls_ssl_conf_ciphersuites_for_version( mbedtls_ssl_config *conf, | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #if defined(MBEDTLS_X509_CRT_PARSE_C) | #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 */ | /* Append a new keycert entry to a (possibly empty) list */ | ||||||
| static int ssl_append_key_cert( mbedtls_ssl_key_cert **head, | static int ssl_append_key_cert( mbedtls_ssl_key_cert **head, | ||||||
|                                 mbedtls_x509_crt *cert, |                                 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] = |     conf->ciphersuite_list[MBEDTLS_SSL_MINOR_VERSION_3] = | ||||||
|                            mbedtls_ssl_list_ciphersuites(); |                            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) | #if defined(MBEDTLS_ARC4_C) | ||||||
|     conf->arc4_disabled = MBEDTLS_SSL_ARC4_DISABLED; |     conf->arc4_disabled = MBEDTLS_SSL_ARC4_DISABLED; | ||||||
| #endif | #endif | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Manuel Pégourié-Gonnard
						Manuel Pégourié-Gonnard