blob: 5a277f59a2883611c1168fecac6f072c13eaea33 [file] [log] [blame]
Paul Bakkerc7bb02b2013-09-15 14:54:56 +02001/* BEGIN_HEADER */
2#include <polarssl/pk.h>
3#include <polarssl/pem.h>
4#include <polarssl/oid.h>
5/* END_HEADER */
6
7/* BEGIN_DEPENDENCIES
8 * depends_on:POLARSSL_PK_C:POLARSSL_BIGNUM_C
9 * END_DEPENDENCIES
10 */
11
12/* BEGIN_CASE */
13void pk_write_pubkey_check( char *key_file )
14{
15 pk_context key;
16 unsigned char buf[5000];
17 unsigned char check_buf[5000];
18 int ret;
19 FILE *f;
20
21 memset( buf, 0, sizeof( buf ) );
22 memset( check_buf, 0, sizeof( check_buf ) );
23
24 pk_init( &key );
25 TEST_ASSERT( pk_parse_public_keyfile( &key, key_file ) == 0 );
26
27 ret = pk_write_pubkey_pem( &key, buf, sizeof( buf ) - 1);
28 TEST_ASSERT( ret >= 0 );
29
30 f = fopen( key_file, "r" );
31 TEST_ASSERT( f != NULL );
32 fread( check_buf, 1, sizeof( check_buf ) - 1, f );
33 fclose( f );
34
35 TEST_ASSERT( strncmp( (char *) buf, (char *) check_buf, sizeof( buf ) ) == 0 );
36
37 pk_free( &key );
38}
39/* END_CASE */
40
41/* BEGIN_CASE */
42void pk_write_key_check( char *key_file )
43{
44 pk_context key;
45 unsigned char buf[5000];
46 unsigned char check_buf[5000];
47 int ret;
48 FILE *f;
49
50 memset( buf, 0, sizeof( buf ) );
51 memset( check_buf, 0, sizeof( check_buf ) );
52
53 pk_init( &key );
54 TEST_ASSERT( pk_parse_keyfile( &key, key_file, NULL ) == 0 );
55
56 ret = pk_write_key_pem( &key, buf, sizeof( buf ) - 1);
57 TEST_ASSERT( ret >= 0 );
58
59 f = fopen( key_file, "r" );
60 TEST_ASSERT( f != NULL );
61 fread( check_buf, 1, sizeof( check_buf ) - 1, f );
62 fclose( f );
63
64 TEST_ASSERT( strncmp( (char *) buf, (char *) check_buf, sizeof( buf ) ) == 0 );
65
66 pk_free( &key );
67}
68/* END_CASE */