pkcs7: Correct various syntatical mistakes
Resond to feedback from the following comments: - use correct spacing [1-7] - remove unnecessary parenthesis [8] - fixup comments [9-11] - remove unnecessary init work [12] - use var instead of type for sizeof [13] [1] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953655691 [2] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953661514 [3] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953689929 [4] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953696384 [5] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953697558 [6] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953697793 [7] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953697951 [8] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r953699102 [9] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r971223775 [10] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r967133905 [11] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r967135932 [12] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r967151430 [13] https://github.com/Mbed-TLS/mbedtls/pull/3431#discussion_r967154159 Signed-off-by: Nick Child <nick.child@ibm.com>
This commit is contained in:
parent
34d5e931cf
commit
8ce1b1afc8
3 changed files with 18 additions and 19 deletions
|
@ -22,23 +22,22 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Note: For the time being, this application of the PKCS7 cryptographic
|
* Note: For the time being, this implementation of the PKCS7 cryptographic
|
||||||
* message syntax is a partial implementation of RFC 2315.
|
* message syntax is a partial implementation of RFC 2315.
|
||||||
* Differences include:
|
* Differences include:
|
||||||
* - The RFC specifies 6 different content types. The only type currently
|
* - The RFC specifies 6 different content types. The only type currently
|
||||||
* supported in MbedTLS is the signed data content type.
|
* supported in Mbed TLS is the signed data content type.
|
||||||
* - The only supported PKCS7 Signed Data syntax version is version 1
|
* - The only supported PKCS7 Signed Data syntax version is version 1
|
||||||
* - The RFC specifies support for BER. This application is limited to
|
* - The RFC specifies support for BER. This implementation is limited to
|
||||||
* DER only.
|
* DER only.
|
||||||
* - The RFC specifies that multiple digest algorithms can be specified
|
* - The RFC specifies that multiple digest algorithms can be specified
|
||||||
* in the Signed Data type. Only one digest algorithm is supported in MbedTLS.
|
* in the Signed Data type. Only one digest algorithm is supported in Mbed TLS.
|
||||||
* - The RFC specifies the Signed Data certificate format can be
|
* - The RFC specifies the Signed Data type can contain multiple X509 or PKCS6
|
||||||
* X509 or PKCS6. The only type currently supported in MbedTLS is X509.
|
* certificates. In Mbed TLS, this list can only contain 0 or 1 certificates
|
||||||
|
* and they must be in X509 format.
|
||||||
* - The RFC specifies the Signed Data type can contain
|
* - The RFC specifies the Signed Data type can contain
|
||||||
* certificate-revocation lists (crls). This application has no support
|
* certificate-revocation lists (crls). This implementation has no support
|
||||||
* for crls so it is assumed to be an empty list.
|
* for crls so it is assumed to be an empty list.
|
||||||
* - The RFC specifies support for multiple signers. This application only
|
|
||||||
* supports the Signed Data type with a single signer.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_PKCS7_H
|
#ifndef MBEDTLS_PKCS7_H
|
||||||
|
|
|
@ -58,8 +58,7 @@
|
||||||
*/
|
*/
|
||||||
void mbedtls_pkcs7_init( mbedtls_pkcs7 *pkcs7 )
|
void mbedtls_pkcs7_init( mbedtls_pkcs7 *pkcs7 )
|
||||||
{
|
{
|
||||||
memset( pkcs7, 0, sizeof( mbedtls_pkcs7 ) );
|
memset( pkcs7, 0, sizeof( *pkcs7 ) );
|
||||||
pkcs7->raw.p = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pkcs7_get_next_content_len( unsigned char **p, unsigned char *end,
|
static int pkcs7_get_next_content_len( unsigned char **p, unsigned char *end,
|
||||||
|
@ -229,7 +228,7 @@ static int pkcs7_get_certificates( unsigned char **p, unsigned char *end,
|
||||||
* So, we support only the root certificate and the single signer.
|
* So, we support only the root certificate and the single signer.
|
||||||
* The behaviour would be improved with addition of multiple signer support.
|
* The behaviour would be improved with addition of multiple signer support.
|
||||||
*/
|
*/
|
||||||
if (end_cert != end_set)
|
if ( end_cert != end_set )
|
||||||
{
|
{
|
||||||
ret = MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE;
|
ret = MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE;
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -702,7 +701,8 @@ out:
|
||||||
|
|
||||||
int mbedtls_pkcs7_signed_hash_verify( mbedtls_pkcs7 *pkcs7,
|
int mbedtls_pkcs7_signed_hash_verify( mbedtls_pkcs7 *pkcs7,
|
||||||
const mbedtls_x509_crt *cert,
|
const mbedtls_x509_crt *cert,
|
||||||
const unsigned char *hash, size_t hashlen)
|
const unsigned char *hash,
|
||||||
|
size_t hashlen )
|
||||||
{
|
{
|
||||||
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
||||||
const mbedtls_md_info_t *md_info;
|
const mbedtls_md_info_t *md_info;
|
||||||
|
@ -750,7 +750,7 @@ int mbedtls_pkcs7_signed_hash_verify( mbedtls_pkcs7 *pkcs7,
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
return ( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -76,15 +76,15 @@ void pkcs7_verify( char *pkcs7_file, char *crt, char *filetobesigned, int do_has
|
||||||
|
|
||||||
datalen = st.st_size;
|
datalen = st.st_size;
|
||||||
data = mbedtls_calloc( datalen, 1 );
|
data = mbedtls_calloc( datalen, 1 );
|
||||||
TEST_ASSERT( data != NULL);
|
TEST_ASSERT( data != NULL );
|
||||||
|
|
||||||
buflen = fread( (void *)data , sizeof( unsigned char ), datalen, file );
|
buflen = fread( (void *)data , sizeof( unsigned char ), datalen, file );
|
||||||
TEST_ASSERT( buflen == datalen);
|
TEST_ASSERT( buflen == datalen );
|
||||||
fclose( file );
|
fclose( file );
|
||||||
|
|
||||||
if( do_hash_alg )
|
if( do_hash_alg )
|
||||||
{
|
{
|
||||||
res = mbedtls_oid_get_md_alg( &(pkcs7.signed_data.digest_alg_identifiers), &md_alg );
|
res = mbedtls_oid_get_md_alg( &pkcs7.signed_data.digest_alg_identifiers, &md_alg );
|
||||||
TEST_ASSERT( res == 0 );
|
TEST_ASSERT( res == 0 );
|
||||||
TEST_ASSERT( md_alg == (mbedtls_md_type_t) do_hash_alg );
|
TEST_ASSERT( md_alg == (mbedtls_md_type_t) do_hash_alg );
|
||||||
md_info = mbedtls_md_info_from_type( md_alg );
|
md_info = mbedtls_md_info_from_type( md_alg );
|
||||||
|
@ -162,7 +162,7 @@ void pkcs7_verify_multiple_signers( char *pkcs7_file, char *crt1, char *crt2, ch
|
||||||
|
|
||||||
if( do_hash_alg )
|
if( do_hash_alg )
|
||||||
{
|
{
|
||||||
res = mbedtls_oid_get_md_alg( &(pkcs7.signed_data.digest_alg_identifiers), &md_alg );
|
res = mbedtls_oid_get_md_alg( &pkcs7.signed_data.digest_alg_identifiers, &md_alg );
|
||||||
TEST_ASSERT( res == 0 );
|
TEST_ASSERT( res == 0 );
|
||||||
TEST_ASSERT( md_alg == MBEDTLS_MD_SHA256 );
|
TEST_ASSERT( md_alg == MBEDTLS_MD_SHA256 );
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ void pkcs7_verify_multiple_signers( char *pkcs7_file, char *crt1, char *crt2, ch
|
||||||
res = mbedtls_md( md_info, data, datalen, hash );
|
res = mbedtls_md( md_info, data, datalen, hash );
|
||||||
TEST_ASSERT( res == 0 );
|
TEST_ASSERT( res == 0 );
|
||||||
|
|
||||||
res = mbedtls_pkcs7_signed_hash_verify( &pkcs7, &x509_1, hash, sizeof(hash));
|
res = mbedtls_pkcs7_signed_hash_verify( &pkcs7, &x509_1, hash, sizeof(hash) );
|
||||||
TEST_ASSERT( res == res_expect );
|
TEST_ASSERT( res == res_expect );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue