Add test for x509write_key
This commit is contained in:
parent
0088c69fbf
commit
7f1f0926e4
3 changed files with 33 additions and 21 deletions
|
@ -563,27 +563,6 @@ int x509write_key_der( rsa_context *rsa, unsigned char *buf, size_t size )
|
|||
ASN1_CHK_ADD( len, asn1_write_len( &c, buf, len ) );
|
||||
ASN1_CHK_ADD( len, asn1_write_tag( &c, buf, ASN1_CONSTRUCTED | ASN1_SEQUENCE ) );
|
||||
|
||||
// TODO: Make NON RSA Specific variant later on
|
||||
/* *--c = 0;
|
||||
len += 1;
|
||||
|
||||
len += asn1_write_len( &c, len);
|
||||
len += asn1_write_tag( &c, ASN1_BIT_STRING );
|
||||
|
||||
len += asn1_write_oid( &c, OID_PKCS1_RSA );
|
||||
|
||||
len += asn1_write_int( &c, 0 );
|
||||
|
||||
len += asn1_write_len( &c, len);
|
||||
len += asn1_write_tag( &c, ASN1_CONSTRUCTED | ASN1_SEQUENCE );*/
|
||||
|
||||
/* for(i = 0; i < len; ++i)
|
||||
{
|
||||
if (i % 16 == 0 ) printf("\n");
|
||||
printf("%02x ", c[i]);
|
||||
}
|
||||
printf("\n");*/
|
||||
|
||||
return( len );
|
||||
}
|
||||
|
||||
|
|
|
@ -37,3 +37,7 @@ x509_pubkey_check:"data_files/server1.pubkey"
|
|||
Public key write check EC
|
||||
depends_on:POLARSSL_ECP_C:POLARSSL_BASE64_C
|
||||
x509_pubkey_check:"data_files/ec_pub.pem"
|
||||
|
||||
Private key write check RSA
|
||||
depends_on:POLARSSL_RSA_C:POLARSSL_BASE64_C
|
||||
x509_key_check:"data_files/server1.key"
|
||||
|
|
|
@ -153,3 +153,32 @@ void x509_pubkey_check( char *key_file )
|
|||
pk_free( &key );
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void x509_key_check( char *key_file )
|
||||
{
|
||||
pk_context key;
|
||||
unsigned char buf[5000];
|
||||
unsigned char check_buf[5000];
|
||||
int ret;
|
||||
FILE *f;
|
||||
|
||||
memset( buf, 0, sizeof( buf ) );
|
||||
memset( check_buf, 0, sizeof( check_buf ) );
|
||||
|
||||
pk_init( &key );
|
||||
TEST_ASSERT( x509parse_keyfile( &key, key_file, NULL ) == 0 );
|
||||
|
||||
ret = x509write_key_pem( pk_rsa( key ), buf, sizeof( buf ) - 1);
|
||||
TEST_ASSERT( ret >= 0 );
|
||||
|
||||
f = fopen( key_file, "r" );
|
||||
TEST_ASSERT( f != NULL );
|
||||
fread( check_buf, 1, sizeof( check_buf ) - 1, f );
|
||||
fclose( f );
|
||||
|
||||
TEST_ASSERT( strncmp( (char *) buf, (char *) check_buf, sizeof( buf ) ) == 0 );
|
||||
|
||||
pk_free( &key );
|
||||
}
|
||||
/* END_CASE */
|
||||
|
|
Loading…
Reference in a new issue