mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 20:22:59 -05:00 
			
		
		
		
	Clarify how to create custom profiles
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
		
							parent
							
								
									55a7fb8322
								
							
						
					
					
						commit
						9d4c2c4e42
					
				@ -160,6 +160,22 @@ mbedtls_x509_subject_alternative_name;
 | 
				
			|||||||
 * The fields of this structure are part of the public API and can be
 | 
					 * The fields of this structure are part of the public API and can be
 | 
				
			||||||
 * manipulated directly by applications. Future versions of the library may
 | 
					 * manipulated directly by applications. Future versions of the library may
 | 
				
			||||||
 * add extra fields or reorder existing fields.
 | 
					 * add extra fields or reorder existing fields.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * You can create custom profiles by starting from a copy of
 | 
				
			||||||
 | 
					 * an existing profile, such as mbedtls_x509_crt_profile_default or
 | 
				
			||||||
 | 
					 * mbedtls_x509_ctr_profile_none and then tune it to your needs.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * For example to allow SHA-224 in addition to the default:
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  mbedtls_x509_crt_profile my_profile = mbedtls_x509_crt_profile_default;
 | 
				
			||||||
 | 
					 *  my_profile.allowed_mds |= MBEDTLS_X509_ID_FLAG( MBEDTLS_MD_SHA224 );
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Or to allow only RSA-3072+ with SHA-256:
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  mbedtls_x509_crt_profile my_profile = mbedtls_x509_crt_profile_none;
 | 
				
			||||||
 | 
					 *  my_profile.allowed_mds = MBEDTLS_X509_ID_FLAG( MBEDTLS_MD_SHA256 );
 | 
				
			||||||
 | 
					 *  my_profile.allowed_pks = MBEDTLS_X509_ID_FLAG( MBEDTLS_PK_RSA );
 | 
				
			||||||
 | 
					 *  my_profile.rsa_min_bitlen = 3072;
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
typedef struct mbedtls_x509_crt_profile
 | 
					typedef struct mbedtls_x509_crt_profile
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -350,6 +366,12 @@ extern const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_next;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
extern const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_suiteb;
 | 
					extern const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_suiteb;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Empty profile that allows nothing. Useful as a basis for constructing
 | 
				
			||||||
 | 
					 * custom profiles.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					extern const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_none;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * \brief          Parse a single DER formatted certificate and add it
 | 
					 * \brief          Parse a single DER formatted certificate and add it
 | 
				
			||||||
 *                 to the end of the provided chained list.
 | 
					 *                 to the end of the provided chained list.
 | 
				
			||||||
 | 
				
			|||||||
@ -156,6 +156,17 @@ const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_suiteb =
 | 
				
			|||||||
    0,
 | 
					    0,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Empty / all-forbidden profile
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_none =
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    0,
 | 
				
			||||||
 | 
					    0,
 | 
				
			||||||
 | 
					    0,
 | 
				
			||||||
 | 
					    (uint32_t) -1,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Check md_alg against profile
 | 
					 * Check md_alg against profile
 | 
				
			||||||
 * Return 0 if md_alg is acceptable for this profile, -1 otherwise
 | 
					 * Return 0 if md_alg is acceptable for this profile, -1 otherwise
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user