aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Bakker <p.j.bakker@polarssl.org>2009-02-09 22:32:35 +0000
committerPaul Bakker <p.j.bakker@polarssl.org>2009-02-09 22:32:35 +0000
commit4593aeadaf1d861fbea4d21619e72e0321521da7 (patch)
treeedc17f133c6fa9e597f5797a319d64a789b64bbc
parentb29e23c5868ad5174f5301275d510182bb87a839 (diff)
downloadmbedtls-4593aeadaf1d861fbea4d21619e72e0321521da7.zip
mbedtls-4593aeadaf1d861fbea4d21619e72e0321521da7.tar.gz
mbedtls-4593aeadaf1d861fbea4d21619e72e0321521da7.tar.bz2
- Added support for RFC4055 SHA2 and SHA4 signature algorithms for
use with PKCS#1 v1.5 signing and verification. - Added extra certificates to test-ca and test code to further test functionality of SHA2 and SHA4 signing and verification. - Updated other program files accordingly
-rw-r--r--ChangeLog8
-rw-r--r--include/polarssl/rsa.h69
-rw-r--r--library/rsa.c64
-rw-r--r--library/x509parse.c33
-rw-r--r--programs/Makefile7
-rw-r--r--programs/pkey/dh_client.c2
-rw-r--r--programs/pkey/dh_server.c2
-rw-r--r--programs/pkey/rsa_sign.c2
-rw-r--r--programs/pkey/rsa_verify.c2
-rw-r--r--programs/ssl/ssl_client1.c6
-rw-r--r--programs/ssl/test-ca/cert_sha224.crt77
-rw-r--r--programs/ssl/test-ca/cert_sha224.key27
-rw-r--r--programs/ssl/test-ca/cert_sha256.crt77
-rw-r--r--programs/ssl/test-ca/cert_sha256.key27
-rw-r--r--programs/ssl/test-ca/cert_sha384.crt77
-rw-r--r--programs/ssl/test-ca/cert_sha384.key27
-rw-r--r--programs/ssl/test-ca/cert_sha512.crt77
-rw-r--r--programs/ssl/test-ca/cert_sha512.key27
-rw-r--r--programs/ssl/test-ca/client1.crt104
-rw-r--r--programs/ssl/test-ca/client1.key50
-rw-r--r--programs/ssl/test-ca/client2.crt104
-rw-r--r--programs/ssl/test-ca/client2.key50
-rw-r--r--programs/ssl/test-ca/client2.pfxbin2437 -> 2437 bytes
-rw-r--r--programs/ssl/test-ca/crl.pem16
-rwxr-xr-xprograms/ssl/test-ca/gen_test_ca.sh34
-rw-r--r--programs/ssl/test-ca/index12
-rw-r--r--programs/ssl/test-ca/newcerts/01.pem104
-rw-r--r--programs/ssl/test-ca/newcerts/02.pem104
-rw-r--r--programs/ssl/test-ca/newcerts/03.pem104
-rw-r--r--programs/ssl/test-ca/newcerts/04.pem104
-rw-r--r--programs/ssl/test-ca/newcerts/05.pem77
-rw-r--r--programs/ssl/test-ca/newcerts/06.pem77
-rw-r--r--programs/ssl/test-ca/newcerts/07.pem77
-rw-r--r--programs/ssl/test-ca/newcerts/08.pem77
-rw-r--r--programs/ssl/test-ca/serial2
-rw-r--r--programs/ssl/test-ca/server1.crt104
-rw-r--r--programs/ssl/test-ca/server1.key50
-rw-r--r--programs/ssl/test-ca/server2.crt104
-rw-r--r--programs/ssl/test-ca/server2.key50
-rw-r--r--programs/ssl/test-ca/test-ca.crt104
-rw-r--r--programs/ssl/test-ca/test-ca.key52
-rw-r--r--programs/test/ssl_cert_test.c119
42 files changed, 1627 insertions, 663 deletions
diff --git a/ChangeLog b/ChangeLog
index 74a40f8..bb6beac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,12 @@
PolarSSL ChangeLog
-= Version 0.10.2 released on 2009-XXXX
+= Version 0.11.0 released on 2009-XXXX
* Fixed a bug in mpi_gcd() so that it also works when both
input numbers are even and added testcases to check
(found by Pierre Habouzit)
-
-= Version 0.10.1 released on 2009-01-25
- * Added BSD License
+ * Added support for SHA-224, SHA-256, SHA-384 and SHA-512
+ one way hash functions with the PKCS#1 v1.5 signing and
+ verification.
= Version 0.10.0 released on 2009-01-12
* Migrated XySSL to PolarSSL
diff --git a/include/polarssl/rsa.h b/include/polarssl/rsa.h
index 73dce61..7e6d19f 100644
--- a/include/polarssl/rsa.h
+++ b/include/polarssl/rsa.h
@@ -37,11 +37,15 @@
* PKCS#1 constants
*/
#define RSA_RAW 0
-#define RSA_MD2 2
-#define RSA_MD4 3
-#define RSA_MD5 4
-#define RSA_SHA1 5
-#define RSA_SHA256 6
+
+#define SIG_RSA_MD2 2
+#define SIG_RSA_MD4 3
+#define SIG_RSA_MD5 4
+#define SIG_RSA_SHA1 5
+#define SIG_RSA_SHA224 14
+#define SIG_RSA_SHA256 11
+#define SIG_RSA_SHA384 12
+#define SIG_RSA_SHA512 13
#define RSA_PUBLIC 0
#define RSA_PRIVATE 1
@@ -52,6 +56,29 @@
#define RSA_SIGN 1
#define RSA_CRYPT 2
+#define ASN1_STR_CONSTRUCTED_SEQUENCE "\x30"
+#define ASN1_STR_NULL "\x05"
+#define ASN1_STR_OID "\x06"
+#define ASN1_STR_OCTET_STRING "\x04"
+
+#define OID_DIGEST_ALG_MDX "\x2A\x86\x48\x86\xF7\x0D\x02\x00"
+#define OID_HASH_ALG_SHA1 "\x2b\x0e\x03\x02\x1a"
+#define OID_HASH_ALG_SHA2X "\x60\x86\x48\x01\x65\x03\x04\x02\x00"
+
+#define OID_ISO_MEMBER_BODIES "\x2a"
+#define OID_ISO_IDENTIFIED_ORG "\x2b"
+
+/*
+ * ISO Member bodies OID parts
+ */
+#define OID_COUNTRY_US "\x86\x48"
+#define OID_RSA_DATA_SECURITY "\x86\xf7\x0d"
+
+/*
+ * ISO Identified organization OID parts
+ */
+#define OID_OIW_SECSIG_SHA1 "\x0e\x03\x02\x1a"
+
/*
* DigestInfo ::= SEQUENCE {
* digestAlgorithm DigestAlgorithmIdentifier,
@@ -61,13 +88,31 @@
*
* Digest ::= OCTET STRING
*/
-#define ASN1_HASH_MDX \
- "\x30\x20\x30\x0C\x06\x08\x2A\x86\x48" \
- "\x86\xF7\x0D\x02\x00\x05\x00\x04\x10"
+#define ASN1_HASH_MDX \
+( \
+ ASN1_STR_CONSTRUCTED_SEQUENCE "\x20" \
+ ASN1_STR_CONSTRUCTED_SEQUENCE "\x0C" \
+ ASN1_STR_OID "\x08" \
+ OID_DIGEST_ALG_MDX \
+ ASN1_STR_NULL "\x00" \
+ ASN1_STR_OCTET_STRING "\x10" \
+)
+
+#define ASN1_HASH_SHA1 \
+ ASN1_STR_CONSTRUCTED_SEQUENCE "\x21" \
+ ASN1_STR_CONSTRUCTED_SEQUENCE "\x09" \
+ ASN1_STR_OID "\x05" \
+ OID_HASH_ALG_SHA1 \
+ ASN1_STR_NULL "\x00" \
+ ASN1_STR_OCTET_STRING "\x14"
-#define ASN1_HASH_SHA1 \
- "\x30\x21\x30\x09\x06\x05\x2B\x0E\x03" \
- "\x02\x1A\x05\x00\x04\x14"
+#define ASN1_HASH_SHA2X \
+ ASN1_STR_CONSTRUCTED_SEQUENCE "\x11" \
+ ASN1_STR_CONSTRUCTED_SEQUENCE "\x0d" \
+ ASN1_STR_OID "\x09" \
+ OID_HASH_ALG_SHA2X \
+ ASN1_STR_NULL "\x00" \
+ ASN1_STR_OCTET_STRING "\x00"
/**
* \brief RSA context structure
@@ -236,7 +281,7 @@ int rsa_pkcs1_decrypt( rsa_context *ctx,
*
* \param ctx RSA context
* \param mode RSA_PUBLIC or RSA_PRIVATE
- * \param hash_id RSA_RAW, RSA_MD{2,4,5} or RSA_SHA{1,256}
+ * \param hash_id RSA_RAW, SIG_RSA_MD{2,4,5} or SIG_RSA_SHA{1,224,256,384,512}
* \param hashlen message digest length (for RSA_RAW only)
* \param hash buffer holding the message digest
* \param sig buffer that will hold the ciphertext
diff --git a/library/rsa.c b/library/rsa.c
index f1445a5..ed70342 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -404,13 +404,13 @@ int rsa_pkcs1_sign( rsa_context *ctx,
nb_pad = olen - 3 - hashlen;
break;
- case RSA_MD2:
- case RSA_MD4:
- case RSA_MD5:
+ case SIG_RSA_MD2:
+ case SIG_RSA_MD4:
+ case SIG_RSA_MD5:
nb_pad = olen - 3 - 34;
break;
- case RSA_SHA1:
+ case SIG_RSA_SHA1:
nb_pad = olen - 3 - 35;
break;
@@ -439,26 +439,46 @@ int rsa_pkcs1_sign( rsa_context *ctx,
memcpy( p, hash, hashlen );
break;
- case RSA_MD2:
+ case SIG_RSA_MD2:
memcpy( p, ASN1_HASH_MDX, 18 );
memcpy( p + 18, hash, 16 );
p[13] = 2; break;
- case RSA_MD4:
+ case SIG_RSA_MD4:
memcpy( p, ASN1_HASH_MDX, 18 );
memcpy( p + 18, hash, 16 );
p[13] = 4; break;
- case RSA_MD5:
+ case SIG_RSA_MD5:
memcpy( p, ASN1_HASH_MDX, 18 );
memcpy( p + 18, hash, 16 );
p[13] = 5; break;
- case RSA_SHA1:
+ case SIG_RSA_SHA1:
memcpy( p, ASN1_HASH_SHA1, 15 );
memcpy( p + 15, hash, 20 );
break;
+ case SIG_RSA_SHA224:
+ memcpy( p, ASN1_HASH_SHA2X, 19 );
+ memcpy( p + 19, hash, 28 );
+ p[1] += 28; p[14] = 4; p[18] += 28; break;
+
+ case SIG_RSA_SHA256:
+ memcpy( p, ASN1_HASH_SHA2X, 19 );
+ memcpy( p + 19, hash, 32 );
+ p[1] += 32; p[14] = 1; p[18] += 32; break;
+
+ case SIG_RSA_SHA384:
+ memcpy( p, ASN1_HASH_SHA2X, 19 );
+ memcpy( p + 19, hash, 48 );
+ p[1] += 48; p[14] = 2; p[18] += 48; break;
+
+ case SIG_RSA_SHA512:
+ memcpy( p, ASN1_HASH_SHA2X, 19 );
+ memcpy( p + 19, hash, 64 );
+ p[1] += 64; p[14] = 3; p[18] += 64; break;
+
default:
return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
}
@@ -527,9 +547,9 @@ int rsa_pkcs1_verify( rsa_context *ctx,
if( memcmp( p, ASN1_HASH_MDX, 18 ) != 0 )
return( POLARSSL_ERR_RSA_VERIFY_FAILED );
- if( ( c == 2 && hash_id == RSA_MD2 ) ||
- ( c == 4 && hash_id == RSA_MD4 ) ||
- ( c == 5 && hash_id == RSA_MD5 ) )
+ if( ( c == 2 && hash_id == SIG_RSA_MD2 ) ||
+ ( c == 4 && hash_id == SIG_RSA_MD4 ) ||
+ ( c == 5 && hash_id == SIG_RSA_MD5 ) )
{
if( memcmp( p + 18, hash, 16 ) == 0 )
return( 0 );
@@ -538,7 +558,7 @@ int rsa_pkcs1_verify( rsa_context *ctx,
}
}
- if( len == 35 && hash_id == RSA_SHA1 )
+ if( len == 35 && hash_id == SIG_RSA_SHA1 )
{
if( memcmp( p, ASN1_HASH_SHA1, 15 ) == 0 &&
memcmp( p + 15, hash, 20 ) == 0 )
@@ -546,6 +566,22 @@ int rsa_pkcs1_verify( rsa_context *ctx,
else
return( POLARSSL_ERR_RSA_VERIFY_FAILED );
}
+ if( ( len == 19 + 28 && p[14] == 4 && hash_id == SIG_RSA_SHA224 ) ||
+ ( len == 19 + 32 && p[14] == 1 && hash_id == SIG_RSA_SHA256 ) ||
+ ( len == 19 + 48 && p[14] == 2 && hash_id == SIG_RSA_SHA384 ) ||
+ ( len == 19 + 64 && p[14] == 3 && hash_id == SIG_RSA_SHA512 ) )
+ {
+ c = p[1] - 17;
+ p[1] = 17;
+ p[14] = 0;
+
+ if( p[18] == c &&
+ memcmp( p, ASN1_HASH_SHA2X, 18 ) == 0 &&
+ memcmp( p + 19, hash, c ) == 0 )
+ return( 0 );
+ else
+ return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ }
if( len == hashlen && hash_id == RSA_RAW )
{
@@ -703,7 +739,7 @@ int rsa_self_test( int verbose )
sha1( rsa_plaintext, PT_LEN, sha1sum );
- if( rsa_pkcs1_sign( &rsa, RSA_PRIVATE, RSA_SHA1, 20,
+ if( rsa_pkcs1_sign( &rsa, RSA_PRIVATE, SIG_RSA_SHA1, 20,
sha1sum, rsa_ciphertext ) != 0 )
{
if( verbose != 0 )
@@ -715,7 +751,7 @@ int rsa_self_test( int verbose )
if( verbose != 0 )
printf( "passed\n PKCS#1 sig. verify: " );
- if( rsa_pkcs1_verify( &rsa, RSA_PUBLIC, RSA_SHA1, 20,
+ if( rsa_pkcs1_verify( &rsa, RSA_PUBLIC, SIG_RSA_SHA1, 20,
sha1sum, rsa_ciphertext ) != 0 )
{
if( verbose != 0 )
diff --git a/library/x509parse.c b/library/x509parse.c
index 83e5247..dcb8ea9 100644
--- a/library/x509parse.c
+++ b/library/x509parse.c
@@ -795,7 +795,8 @@ int x509parse_crt( x509_cert *chain, unsigned char *buf, int buflen )
}
if( crt->sig_oid1.p[8] < 2 ||
- crt->sig_oid1.p[8] > 5 )
+ ( crt->sig_oid1.p[8] > 5 && crt->sig_oid1.p[8] < 11 ) ||
+ crt->sig_oid1.p[8] > 14 )
{
x509_free( crt );
return( POLARSSL_ERR_X509_CERT_UNKNOWN_SIG_ALG );
@@ -1441,10 +1442,14 @@ char *x509parse_cert_info( char *prefix, x509_cert *crt )
switch( crt->sig_oid1.p[8] )
{
- case RSA_MD2 : p += snprintf( p, end - p, "MD2" ); break;
- case RSA_MD4 : p += snprintf( p, end - p, "MD4" ); break;
- case RSA_MD5 : p += snprintf( p, end - p, "MD5" ); break;
- case RSA_SHA1: p += snprintf( p, end - p, "SHA1" ); break;
+ case SIG_RSA_MD2 : p += snprintf( p, end - p, "MD2" ); break;
+ case SIG_RSA_MD4 : p += snprintf( p, end - p, "MD4" ); break;
+ case SIG_RSA_MD5 : p += snprintf( p, end - p, "MD5" ); break;
+ case SIG_RSA_SHA1 : p += snprintf( p, end - p, "SHA1" ); break;
+ case SIG_RSA_SHA224 : p += snprintf( p, end - p, "SHA224" ); break;
+ case SIG_RSA_SHA256 : p += snprintf( p, end - p, "SHA256" ); break;
+ case SIG_RSA_SHA384 : p += snprintf( p, end - p, "SHA384" ); break;
+ case SIG_RSA_SHA512 : p += snprintf( p, end - p, "SHA512" ); break;
default: p += snprintf( p, end - p, "???" ); break;
}
@@ -1486,13 +1491,21 @@ static void x509_hash( unsigned char *in, int len, int alg,
switch( alg )
{
#if defined(POLARSSL_MD2_C)
- case RSA_MD2 : md2( in, len, out ); break;
+ case SIG_RSA_MD2 : md2( in, len, out ); break;
#endif
#if defined(POLARSSL_MD4_C)
- case RSA_MD4 : md4( in, len, out ); break;
+ case SIG_RSA_MD4 : md4( in, len, out ); break;
+#endif
+ case SIG_RSA_MD5 : md5( in, len, out ); break;
+ case SIG_RSA_SHA1 : sha1( in, len, out ); break;
+#if defined(POLARSSL_SHA2_C)
+ case SIG_RSA_SHA224 : sha2( in, len, out, 1 ); break;
+ case SIG_RSA_SHA256 : sha2( in, len, out, 0 ); break;
+#endif
+#if defined(POLARSSL_SHA2_C)
+ case SIG_RSA_SHA384 : sha4( in, len, out, 1 ); break;
+ case SIG_RSA_SHA512 : sha4( in, len, out, 0 ); break;
#endif
- case RSA_MD5 : md5( in, len, out ); break;
- case RSA_SHA1 : sha1( in, len, out ); break;
default:
memset( out, '\xFF', len );
break;
@@ -1511,7 +1524,7 @@ int x509parse_verify( x509_cert *crt,
int pathlen;
x509_cert *cur;
x509_name *name;
- unsigned char hash[20];
+ unsigned char hash[64];
*flags = x509parse_expired( crt );
diff --git a/programs/Makefile b/programs/Makefile
index a29f358..a87ae3e 100644
--- a/programs/Makefile
+++ b/programs/Makefile
@@ -13,7 +13,8 @@ APPS = aes/aescrypt2 hash/hello \
pkey/mpi_demo pkey/rsa_genkey \
pkey/rsa_sign pkey/rsa_verify \
ssl/ssl_client1 ssl/ssl_client2 \
- ssl/ssl_server test/benchmark \
+ ssl/ssl_server test/ssl_cert_test \
+ test/benchmark \
test/selftest test/ssl_test
.SILENT:
@@ -80,6 +81,10 @@ ssl/ssl_server: ssl/ssl_server.c ../library/libpolarssl.a
echo " CC ssl/ssl_server.c"
$(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_server.c $(LDFLAGS) -o $@
+test/ssl_cert_test: test/ssl_cert_test.c ../library/libpolarssl.a
+ echo " CC test/ssl_cert_test.c"
+ $(CC) $(CFLAGS) $(OFLAGS) test/ssl_cert_test.c $(LDFLAGS) -o $@
+
test/benchmark: test/benchmark.c ../library/libpolarssl.a
echo " CC test/benchmark.c"
$(CC) $(CFLAGS) $(OFLAGS) test/benchmark.c $(LDFLAGS) -o $@
diff --git a/programs/pkey/dh_client.c b/programs/pkey/dh_client.c
index 6591d23..aa49bba 100644
--- a/programs/pkey/dh_client.c
+++ b/programs/pkey/dh_client.c
@@ -168,7 +168,7 @@ int main( void )
sha1( buf, (int)( p - 2 - buf ), hash );
- if( ( ret = rsa_pkcs1_verify( &rsa, RSA_PUBLIC, RSA_SHA1,
+ if( ( ret = rsa_pkcs1_verify( &rsa, RSA_PUBLIC, SIG_RSA_SHA1,
0, hash, p ) ) != 0 )
{
printf( " failed\n ! rsa_pkcs1_verify returned %d\n\n", ret );
diff --git a/programs/pkey/dh_server.c b/programs/pkey/dh_server.c
index f7a10e3..ca216c0 100644
--- a/programs/pkey/dh_server.c
+++ b/programs/pkey/dh_server.c
@@ -162,7 +162,7 @@ int main( void )
buf[n ] = (unsigned char)( rsa.len >> 8 );
buf[n + 1] = (unsigned char)( rsa.len );
- if( ( ret = rsa_pkcs1_sign( &rsa, RSA_PRIVATE, RSA_SHA1,
+ if( ( ret = rsa_pkcs1_sign( &rsa, RSA_PRIVATE, SIG_RSA_SHA1,
0, hash, buf + n + 2 ) ) != 0 )
{
printf( " failed\n ! rsa_pkcs1_sign returned %d\n\n", ret );
diff --git a/programs/pkey/rsa_sign.c b/programs/pkey/rsa_sign.c
index 6d6dcee..f9ef2f3 100644
--- a/programs/pkey/rsa_sign.c
+++ b/programs/pkey/rsa_sign.c
@@ -94,7 +94,7 @@ int main( int argc, char *argv[] )
goto exit;
}
- if( ( ret = rsa_pkcs1_sign( &rsa, RSA_PRIVATE, RSA_SHA1,
+ if( ( ret = rsa_pkcs1_sign( &rsa, RSA_PRIVATE, SIG_RSA_SHA1,
20, hash, buf ) ) != 0 )
{
printf( " failed\n ! rsa_pkcs1_sign returned %d\n\n", ret );
diff --git a/programs/pkey/rsa_verify.c b/programs/pkey/rsa_verify.c
index 8a1b2e6..96b4a10 100644
--- a/programs/pkey/rsa_verify.c
+++ b/programs/pkey/rsa_verify.c
@@ -113,7 +113,7 @@ int main( int argc, char *argv[] )
goto exit;
}
- if( ( ret = rsa_pkcs1_verify( &rsa, RSA_PUBLIC, RSA_SHA1,
+ if( ( ret = rsa_pkcs1_verify( &rsa, RSA_PUBLIC, SIG_RSA_SHA1,
20, hash, buf ) ) != 0 )
{
printf( " failed\n ! rsa_pkcs1_verify returned %d\n\n", ret );
diff --git a/programs/ssl/ssl_client1.c b/programs/ssl/ssl_client1.c
index 4bea63c..9c5e53d 100644
--- a/programs/ssl/ssl_client1.c
+++ b/programs/ssl/ssl_client1.c
@@ -36,12 +36,12 @@
#define SERVER_NAME "localhost"
#define GET_REQUEST "GET / HTTP/1.0\r\n\r\n"
*/
-#define SERVER_NAME "polarssl.org"
+#define SERVER_NAME "mijn.postbank.nl"
#define GET_REQUEST \
"GET /hello/ HTTP/1.1\r\n" \
- "Host: polarssl.org\r\n\r\n"
+ "Host: mijn.postbank.nl\r\n\r\n"
-#define DEBUG_LEVEL 0
+#define DEBUG_LEVEL 4
void my_debug( void *ctx, int level, char *str )
{
diff --git a/programs/ssl/test-ca/cert_sha224.crt b/programs/ssl/test-ca/cert_sha224.crt
new file mode 100644
index 0000000..538cdc4
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha224.crt
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 5 (0x5)
+ Signature Algorithm: sha224WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:ae:00:73:61:1b:bb:0c:65:6c:d0:9b:f3:86:79:
+ 67:a9:1b:7d:ba:88:de:36:8b:07:ff:91:bf:23:cb:
+ ce:67:c5:1d:5b:6c:8c:a8:6e:46:d4:66:10:2b:01:
+ e3:d6:a7:2a:3a:46:b4:f8:fb:04:16:f2:a9:b2:37:
+ ec:73:78:2e:d8:58:25:b8:26:86:da:8c:5a:f3:28:
+ 20:33:cb:36:93:ba:16:34:a2:b5:96:d8:09:2e:7e:
+ 74:02:17:20:dd:b4:f7:c6:bc:c7:6f:fa:b1:31:93:
+ 9f:74:d4:ab:56:2f:a4:2e:08:1c:94:16:fc:55:ec:
+ 6a:15:3b:61:93:22:d6:5a:e8:4c:9f:5e:2d:6f:b4:
+ 9d:c2:8e:f5:4e:37:1f:66:aa:8d:19:d2:d9:ea:20:
+ 63:48:7c:7e:00:e9:28:ac:40:49:0e:69:b5:06:ed:
+ 44:57:88:44:48:dd:6d:3e:6d:1b:3b:cb:4d:99:ad:
+ 62:4d:6b:d1:8e:94:b3:b5:19:b9:6f:97:ef:f1:fe:
+ 61:1c:eb:5d:ee:55:7f:a0:11:97:85:f7:8f:ef:5d:
+ a2:ba:78:da:3f:a5:3c:01:46:95:d3:b6:98:c9:1c:
+ 49:28:f8:9c:e3:15:1e:b3:71:63:98:a0:32:9b:66:
+ 58:86:f3:62:a4:6c:31:ec:44:03:0a:32:a7:ec:ad:
+ f8:c3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 05:1D:6A:93:67:7B:A3:13:00:85:45:5B:3C:4A:68:CC:E0:88:B1:B3
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha224WithRSAEncryption
+ 76:40:3b:c3:40:ab:66:45:79:9e:ca:85:81:f8:b9:95:34:d3:
+ ff:8e:7c:c9:dc:6a:43:bf:28:da:21:d1:16:04:f3:c8:0b:8d:
+ 87:99:a0:af:3b:3b:d8:f1:cb:1b:c1:ce:b1:6f:d4:27:f3:f4:
+ 60:d5:27:f8:8b:0e:7d:4d:fa:b4:61:1b:23:58:9c:4f:9a:76:
+ 34:d4:2c:0c:fb:8b:a4:66:bb:8e:b4:ba:bd:fe:a4:d2:d3:04:
+ 4f:cc:b8:17:5e:0c:a7:a8:db:d0:7f:c2:82:15:33:28:e7:e8:
+ 5d:64:65:17:94:ba:83:73:2a:31:09:c8:ff:26:60:73:9b:03:
+ 9f:cb:02:62:56:1e:d8:43:c4:ce:52:3b:0f:75:cd:0e:36:43:
+ 01:42:4e:06:1d:a4:ec:f6:e8:98:f2:79:b8:25:22:eb:bc:67:
+ 06:2c:5f:ba:04:06:fe:d2:81:8b:51:e8:05:77:c7:f8:0a:56:
+ cb:d3:cf:e9:9c:7e:ae:06:73:f5:55:f6:ef:d4:b6:bb:48:18:
+ 11:10:09:b1:be:b6:c1:1f:6a:b2:e7:b1:4c:27:a6:9b:56:fb:
+ ec:be:b6:ea:ce:a3:d9:7d:d3:41:d4:6e:3a:4e:60:ae:f2:87:
+ 06:6d:7f:42:a0:af:71:dd:f1:eb:94:b7:c8:cf:f9:f3:51:c7:
+ 3c:70:4c:c0
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBBTANBgkqhkiG9w0BAQ4FADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjI0MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArgBzYRu7DGVs0JvzhnlnqRt9
+uojeNosH/5G/I8vOZ8UdW2yMqG5G1GYQKwHj1qcqOka0+PsEFvKpsjfsc3gu2Fgl
+uCaG2oxa8yggM8s2k7oWNKK1ltgJLn50Ahcg3bT3xrzHb/qxMZOfdNSrVi+kLggc
+lBb8VexqFTthkyLWWuhMn14tb7Sdwo71TjcfZqqNGdLZ6iBjSHx+AOkorEBJDmm1
+Bu1EV4hESN1tPm0bO8tNma1iTWvRjpSztRm5b5fv8f5hHOtd7lV/oBGXhfeP712i
+unjaP6U8AUaV07aYyRxJKPic4xUes3FjmKAym2ZYhvNipGwx7EQDCjKn7K34wwID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQFHWqTZ3ujEwCFRVs8SmjM4Iix
+szAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQ4F
+AAOCAQEAdkA7w0CrZkV5nsqFgfi5lTTT/458ydxqQ78o2iHRFgTzyAuNh5mgrzs7
+2PHLG8HOsW/UJ/P0YNUn+IsOfU36tGEbI1icT5p2NNQsDPuLpGa7jrS6vf6k0tME
+T8y4F14Mp6jb0H/CghUzKOfoXWRlF5S6g3MqMQnI/yZgc5sDn8sCYlYe2EPEzlI7
+D3XNDjZDAUJOBh2k7PbomPJ5uCUi67xnBixfugQG/tKBi1HoBXfH+ApWy9PP6Zx+
+rgZz9VX279S2u0gYERAJsb62wR9qsuexTCemm1b77L626s6j2X3TQdRuOk5grvKH
+Bm1/QqCvcd3x65S3yM/581HHPHBMwA==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/cert_sha224.key b/programs/ssl/test-ca/cert_sha224.key
new file mode 100644
index 0000000..b7e9486
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha224.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEArgBzYRu7DGVs0JvzhnlnqRt9uojeNosH/5G/I8vOZ8UdW2yM
+qG5G1GYQKwHj1qcqOka0+PsEFvKpsjfsc3gu2FgluCaG2oxa8yggM8s2k7oWNKK1
+ltgJLn50Ahcg3bT3xrzHb/qxMZOfdNSrVi+kLggclBb8VexqFTthkyLWWuhMn14t
+b7Sdwo71TjcfZqqNGdLZ6iBjSHx+AOkorEBJDmm1Bu1EV4hESN1tPm0bO8tNma1i
+TWvRjpSztRm5b5fv8f5hHOtd7lV/oBGXhfeP712iunjaP6U8AUaV07aYyRxJKPic
+4xUes3FjmKAym2ZYhvNipGwx7EQDCjKn7K34wwIDAQABAoIBAGLE7LmVtSJ/PDpa
+G+0cYwQyD7df08tgNiUTRU17demfkV+BCYLePiR43vqaswr4jtbPphCi5Bpmmn8I
+kZamBOlXd+nFLM1H2KSoBUeBNbS7b7lnFu7OKMAUlaNOH6DaBb/xDsB4rDZ5Fo2J
+3swodOiQQDCrr4bSkREGSQftQYIN5MuCO6PiZCzyG62B8RscHr9MXR/HO1b9fv7s
+bIX07w6bl8H8zGkkQswgvkIBBJhTALO8gAO8mkIE3r73Z9mebOxct9/EjQp7/E/y
+tzhTNiyHtdht1mZVOE3Uukxo3HRW9eBT4Aw/1QjJ0QvBqq8xMmTFSmYWIBwYwxzc
+YksuIGECgYEA4EmVxzdLm6K+Ut3DSby+HaSgEgndlgQCs0BZl5p7dFbiJXS7KHjU
+b/Dmoi5Vnt4ThXafTSD/s/uXZpGpgXh7ctSYuVJP4lwh350LwqlPLnAm8Nxswv6B
+CVokBSbPNdGCQTqGKmD68i661dSBN58nb3MF2fowlDbk7361wTefabMCgYEAxpqz
+gYTCtzBc9WDQOM5Bq8rPj1RX1n58/DFxT/erwurjizYIzZtM0feAeC0vWo4D6XrS
+Gt6rpVl3QCk1/sXNnZ/qLazcyGyBIhgLsYLfEmU8lTKr8XW7ktCqNMkKlioYdQI4
+K//H0hO2YgQn2sRXSadOFKPCuEpStzYFzuu4jLECgYEAraCJcHUf9NXhnGjMe1K/
+olcFC7HTdgSYyocwVCplE8UGwJRDJquTWS0Wfcp8wcWNOy5/V8gJ6x0DMYXlwLKy
+bkyiBiTwbn2AQ4lhx0omX/62RpN9Jt66qbC8XbiThEgyG6jgoAH/gmgmfs5JUfPF
+JYPXrcz+ul5ckAJ5VaBnqf0CgYEApuHFZlbFOyMjaXixXppJ6m3f3QM1T+I3ab6u
+BVEK/h1bmFWOLh6J/YCobdMiEEh3FxCCTdu/hZBYuQwn9+4EKaf/IeQ4HR23oItt
+//oFMbLppkDO5HVWaTZ3XyVzhNzYcjGsO6SRJoAz58awKo6C/jvcS1GTxEGHobV+
+SfIev/ECgYEAtDm9GFokTbPuUBqVnv55Rf+HpEjl6bEkFZf7jYxDp60VDAT+wWGU
+YC8LuJtOImuxEg0JeZ0Zwpd6cV0k+JE6t6ZuRhofo8257Qd7CXWJnVF3r31I1OPo
+d2xodW4QUVogIq4Tzev5yUNdokGMcup7iwBZfPDERUDOAv7yLigW8Q8=
+-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/cert_sha256.crt b/programs/ssl/test-ca/cert_sha256.crt
new file mode 100644
index 0000000..df73875
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha256.crt
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 6 (0x6)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:c2:98:cc:33:36:f4:f5:08:e1:98:b2:dc:8a:41:
+ fd:4c:3f:80:96:f5:65:6f:5d:d4:2a:09:df:36:70:
+ 4e:39:66:5f:9d:40:f9:16:12:c0:61:f0:de:cd:1e:
+ 8e:87:bd:e6:7f:f8:87:e9:34:c4:ee:bf:92:3b:79:
+ 4f:94:68:bd:40:74:fb:11:75:93:10:a4:5c:86:63:
+ 1e:59:58:5d:c9:0b:6b:4d:7f:6e:7b:d7:44:48:89:
+ 5d:99:1e:7f:8f:e2:e9:f8:92:8b:68:3f:f8:bb:e7:
+ f0:74:ae:6a:f6:6e:f5:ea:40:15:b2:d1:ea:f6:37:
+ c9:f4:68:50:d4:20:88:2a:5e:d5:24:8e:30:6b:a9:
+ 8e:ab:c1:c2:51:30:46:68:b0:6b:7b:f9:17:25:07:
+ 3e:20:02:60:27:fb:36:dc:65:1b:bb:7d:46:3f:25:
+ e3:46:ef:bd:f1:5e:1e:7f:1a:59:33:bd:8e:8f:29:
+ 0e:e5:cf:b7:8a:f2:76:49:49:3d:e6:ab:e4:2f:d5:
+ 10:16:fe:72:b5:4b:ba:ef:92:77:38:df:2a:67:bd:
+ 21:2f:cf:57:2c:d0:25:d8:99:9a:48:1b:80:63:2d:
+ 49:c9:8f:e7:c0:ca:18:58:39:f5:be:4e:09:d2:71:
+ 6c:59:6c:e4:bb:e2:68:03:2c:b1:78:5b:9d:cb:98:
+ d9:cf
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 98:F0:55:08:76:0E:DC:A1:77:06:6F:FC:A9:8E:4E:8F:A5:E0:3E:B1
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha256WithRSAEncryption
+ 16:c0:b6:24:4d:95:69:52:6a:97:8a:b3:4f:a7:70:ea:42:e4:
+ f1:19:34:62:9c:a9:c1:fb:47:60:b8:9b:0f:1f:d0:15:a0:a4:
+ 2a:f6:ce:5f:6d:37:3d:e2:3d:7e:32:57:af:99:ef:8f:d3:da:
+ ac:a5:13:7f:c0:8a:b7:de:0c:42:16:68:f8:c9:8a:6b:cd:7f:
+ b8:70:39:2a:10:ef:b4:df:b6:3e:ef:32:ec:99:47:eb:d8:97:
+ 51:a0:ea:09:a6:c9:7a:d1:96:84:67:42:17:db:2b:f9:2a:00:
+ 6b:de:ff:4c:bf:77:19:12:e6:cd:d2:98:7d:81:20:b2:92:89:
+ 87:89:63:13:14:36:94:9c:3d:8e:dc:1b:c2:bd:d5:57:ed:08:
+ 9d:08:ee:55:7c:3d:7d:f6:c3:64:50:5d:97:b1:a0:2f:c6:c9:
+ f8:87:67:62:27:50:fc:f4:9e:15:9f:3f:e9:77:50:de:60:6c:
+ 3e:74:53:8d:f6:28:33:f9:eb:a7:8a:d5:b6:67:30:44:d1:b8:
+ 04:39:7d:42:d6:1e:dd:b8:e3:c2:e8:50:ff:2c:6e:60:f1:f4:
+ 48:0c:30:1d:af:5c:ce:5b:10:06:e7:6b:4e:39:a9:b7:0d:8b:
+ 68:6d:06:39:cf:94:a8:70:21:2f:f1:37:21:98:50:2c:c8:b2:
+ d7:00:84:94
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBBjANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjU2MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwpjMMzb09QjhmLLcikH9TD+A
+lvVlb13UKgnfNnBOOWZfnUD5FhLAYfDezR6Oh73mf/iH6TTE7r+SO3lPlGi9QHT7
+EXWTEKRchmMeWVhdyQtrTX9ue9dESIldmR5/j+Lp+JKLaD/4u+fwdK5q9m716kAV
+stHq9jfJ9GhQ1CCIKl7VJI4wa6mOq8HCUTBGaLBre/kXJQc+IAJgJ/s23GUbu31G
+PyXjRu+98V4efxpZM72OjykO5c+3ivJ2SUk95qvkL9UQFv5ytUu675J3ON8qZ70h
+L89XLNAl2JmaSBuAYy1JyY/nwMoYWDn1vk4J0nFsWWzku+JoAyyxeFudy5jZzwID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSY8FUIdg7coXcGb/ypjk6PpeA+
+sTAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQsF
+AAOCAQEAFsC2JE2VaVJql4qzT6dw6kLk8Rk0YpypwftHYLibDx/QFaCkKvbOX203
+PeI9fjJXr5nvj9ParKUTf8CKt94MQhZo+MmKa81/uHA5KhDvtN+2Pu8y7JlH69iX
+UaDqCabJetGWhGdCF9sr+SoAa97/TL93GRLmzdKYfYEgspKJh4ljExQ2lJw9jtwb
+wr3VV+0InQjuVXw9ffbDZFBdl7GgL8bJ+IdnYidQ/PSeFZ8/6XdQ3mBsPnRTjfYo
+M/nrp4rVtmcwRNG4BDl9QtYe3bjjwuhQ/yxuYPH0SAwwHa9czlsQBudrTjmptw2L
+aG0GOc+UqHAhL/E3IZhQLMiy1wCElA==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/cert_sha256.key b/programs/ssl/test-ca/cert_sha256.key
new file mode 100644
index 0000000..4ad5745
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha256.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAwpjMMzb09QjhmLLcikH9TD+AlvVlb13UKgnfNnBOOWZfnUD5
+FhLAYfDezR6Oh73mf/iH6TTE7r+SO3lPlGi9QHT7EXWTEKRchmMeWVhdyQtrTX9u
+e9dESIldmR5/j+Lp+JKLaD/4u+fwdK5q9m716kAVstHq9jfJ9GhQ1CCIKl7VJI4w
+a6mOq8HCUTBGaLBre/kXJQc+IAJgJ/s23GUbu31GPyXjRu+98V4efxpZM72OjykO
+5c+3ivJ2SUk95qvkL9UQFv5ytUu675J3ON8qZ70hL89XLNAl2JmaSBuAYy1JyY/n
+wMoYWDn1vk4J0nFsWWzku+JoAyyxeFudy5jZzwIDAQABAoIBAFg8GDsQrDl+8Wvf
+jghSq5urH49Tbc71aII3P7LbcVytgqU3FLphfkHqidvQAyihfqZ/9oBToQfwbUny
+U5cjdsyHPmBIQ4rEO//jaZtxafUC7ICTS3Fzxk5tmrcXERgY96XyLKv0dcAeBvWh
+MHbVEURKEoymijdiTHw54IyOw68RzSIchas3M5whyL2aaYLVjHBOOogKojdc826N
+G6qWtVi2Deo2ti7yRaOl7202qkit8z00X1O5pu816SOMNIlk7t2shlBDoPF3hsLj
+MqNUyCnVadv/1fMk1BbwnPrq6cfs/Paj89gs0rCyOaLiFZCdYFTpcfIcD8qePRVd
+V5Nv90ECgYEA+s4ry8OvDfH12t6mIHWCE8k8vmbeeunpgKlN5RU51yOb0g4cY1lS
+bYURcjXbI/shuA33fxZmetREYA5lZfmjUC3wa1SlKnU19eXU7+4kMnUISrzdWMFd
+YmKiQRZzPYjslDtM+tVKK50Dr53dT6ftDO7cRxqu9b75wNw8KuynchkCgYEAxqCY
+kMRDJ1frW69Mk5+6ZHd6DnaB/krQhLK9oljX8f+tkdMPfgTEdIUmBHDkTtSJQ9FQ
+vjnzmpLwLV/Rrruj62ioIfp3dVkztotTahU4O73va+wf+wRbGK5npxxuXPLMb11j
+0BxSuTxS9Wm0KSMVO4YvqApR25YOsOXGxrRJOCcCgYEAhYd28cmBTd9gkeKwd9+Y
+HYiqeoSyNqaK1yFMg4bFgLFIqJEytAI+TGjoXPIndgSicyeceWEntoWE0c9YVO6P
+8IRE2B/8v5of3Ic803DqfKKqg4ACKNrqKRNyZ0zYlg5sRo878N/V2VqDN+DIjzxM
+jPIu/PxL4jKHLhMTRZcxnyECgYAe9yBxyTcS5iD6DS0qAofDa+Dqak0/wJgbZ+Yq
+biFUR+DeUAIlSkb6R1uy64qcQ4QWv4YP8ebpXSj2We7Nh9E5PPqhOXPwJnTqa3QY
+oLBAmA7AS3J85qPxCBd+tO77rJp0biHGavP2jtH8EnuUwjRoMDYzw1AZpJ4rs9a2
+WZrklwKBgGzr6SFMPOwtAwFH+JK+NYJ7nL5U7sCfBVY7KxDQQ+WjWlW4B2sydth0
+IBEPBsq7lqUA3g/d23JglSWoXLKvJ0hgGfKalDcMXs+/x6FgFEn9bnmgunOPsM3a
+tFQ6PRqayG/z/TKZ4Er0Thhbywv73qHOKNWCpAas5oNU3B/mle1V
+-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/cert_sha384.crt b/programs/ssl/test-ca/cert_sha384.crt
new file mode 100644
index 0000000..59857f3
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha384.crt
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 7 (0x7)
+ Signature Algorithm: sha384WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:36 2009 GMT
+ Not After : Feb 9 21:12:36 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:ff:62:ef:85:d6:4b:1c:78:d5:aa:95:7f:5b:2c:
+ 8b:ec:93:47:f8:cb:25:95:77:c0:64:bf:11:91:30:
+ 4c:21:44:3e:1e:05:5d:8c:cc:ea:4f:0b:6d:2e:34:
+ f5:11:01:6b:37:d5:65:98:a5:a6:60:29:f5:eb:df:
+ 29:92:e9:61:41:65:6b:18:cd:48:a8:ef:5d:0b:21:
+ de:5b:ff:89:74:bb:69:e2:60:1f:c0:e3:21:2f:f9:
+ 91:c4:6e:2a:f4:f1:d1:b4:c2:cc:51:73:3b:2c:47:
+ 40:04:89:90:03:27:98:08:8b:dc:fe:91:f9:12:59:
+ 5a:5b:b6:31:25:59:50:ea:b8:cd:b3:e1:c2:f4:14:
+ 5f:47:49:01:e2:63:d6:17:00:68:4a:7b:16:84:73:
+ 22:61:bf:59:60:03:8c:40:e6:cf:6e:1e:50:eb:ae:
+ d9:e5:ed:f7:31:41:72:6c:33:67:99:81:a1:09:89:
+ 3e:69:c8:cf:b8:67:48:ca:31:22:52:4f:64:cb:23:
+ b4:84:8a:82:a3:10:6d:c3:09:29:69:29:ee:9e:fe:
+ e5:2d:5f:71:5c:80:bf:b3:91:25:27:8a:5e:95:18:
+ 50:d2:3e:f1:3c:15:3b:0c:11:a1:c0:cf:3b:08:75:
+ 5c:e0:ba:68:db:76:73:0d:8e:af:55:49:e4:27:5b:
+ 9d:65
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 3A:69:55:A1:E7:5F:50:E0:CC:72:E3:DF:FF:C2:E5:67:C7:FF:9B:48
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha384WithRSAEncryption
+ a7:3a:b2:73:3b:a1:60:66:a6:72:5c:ce:2c:73:22:7a:4e:6b:
+ ba:52:28:0e:46:5f:3f:fa:c1:64:91:02:ab:57:30:32:80:e4:
+ 3f:70:42:e0:53:21:b0:93:7b:b6:f1:62:aa:da:35:8e:65:b7:
+ 2f:ca:54:8f:91:9c:fe:a9:6c:7c:ad:ec:21:ab:7f:54:c0:b1:
+ 0c:66:87:9b:d2:29:6b:95:15:dd:57:c7:b2:df:ac:73:5b:40:
+ 66:2d:71:ac:26:36:90:15:94:c0:4a:56:9b:06:e9:a6:cb:52:
+ 25:d6:fa:8e:d2:52:bf:90:f7:42:f6:69:03:cc:0c:d2:8e:c2:
+ 20:d3:f9:d0:e3:c5:76:d6:37:e2:02:6f:47:79:36:58:5c:ec:
+ 2d:74:5b:1d:12:d1:12:e0:07:47:92:c5:b5:44:da:6e:43:6a:
+ 2c:e1:cc:3c:b9:98:59:41:26:06:17:63:20:9a:64:77:0a:22:
+ 4b:5d:4e:14:89:d0:b0:4c:d2:fe:de:45:97:e9:42:e9:62:f3:
+ 2a:ba:a8:67:80:c6:13:17:e3:55:2b:cc:e7:da:b8:12:98:ec:
+ f3:25:c4:f7:d2:bb:8a:c6:e6:a2:fd:9a:d2:46:d3:f9:d4:6c:
+ 3a:11:29:59:fe:f6:96:d0:1c:86:cb:53:35:76:b6:7b:dc:c3:
+ 62:2f:84:77
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBBzANBgkqhkiG9w0BAQwFADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM2WhcNMTEwMjA5MjExMjM2WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMzg0MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/2LvhdZLHHjVqpV/WyyL7JNH
++MsllXfAZL8RkTBMIUQ+HgVdjMzqTwttLjT1EQFrN9VlmKWmYCn1698pkulhQWVr
+GM1IqO9dCyHeW/+JdLtp4mAfwOMhL/mRxG4q9PHRtMLMUXM7LEdABImQAyeYCIvc
+/pH5EllaW7YxJVlQ6rjNs+HC9BRfR0kB4mPWFwBoSnsWhHMiYb9ZYAOMQObPbh5Q
+667Z5e33MUFybDNnmYGhCYk+acjPuGdIyjEiUk9kyyO0hIqCoxBtwwkpaSnunv7l
+LV9xXIC/s5ElJ4pelRhQ0j7xPBU7DBGhwM87CHVc4Lpo23ZzDY6vVUnkJ1udZQID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQ6aVWh519Q4Mxy49//wuVnx/+b
+SDAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQwF
+AAOCAQEApzqyczuhYGamclzOLHMiek5rulIoDkZfP/rBZJECq1cwMoDkP3BC4FMh
+sJN7tvFiqto1jmW3L8pUj5Gc/qlsfK3sIat/VMCxDGaHm9Ipa5UV3VfHst+sc1tA
+Zi1xrCY2kBWUwEpWmwbppstSJdb6jtJSv5D3QvZpA8wM0o7CINP50OPFdtY34gJv
+R3k2WFzsLXRbHRLREuAHR5LFtUTabkNqLOHMPLmYWUEmBhdjIJpkdwoiS11OFInQ
+sEzS/t5Fl+lC6WLzKrqoZ4DGExfjVSvM59q4Epjs8yXE99K7isbmov2a0kbT+dRs
+OhEpWf72ltAchstTNXa2e9zDYi+Edw==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/cert_sha384.key b/programs/ssl/test-ca/cert_sha384.key
new file mode 100644
index 0000000..d61ccb9
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha384.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA/2LvhdZLHHjVqpV/WyyL7JNH+MsllXfAZL8RkTBMIUQ+HgVd
+jMzqTwttLjT1EQFrN9VlmKWmYCn1698pkulhQWVrGM1IqO9dCyHeW/+JdLtp4mAf
+wOMhL/mRxG4q9PHRtMLMUXM7LEdABImQAyeYCIvc/pH5EllaW7YxJVlQ6rjNs+HC
+9BRfR0kB4mPWFwBoSnsWhHMiYb9ZYAOMQObPbh5Q667Z5e33MUFybDNnmYGhCYk+
+acjPuGdIyjEiUk9kyyO0hIqCoxBtwwkpaSnunv7lLV9xXIC/s5ElJ4pelRhQ0j7x
+PBU7DBGhwM87CHVc4Lpo23ZzDY6vVUnkJ1udZQIDAQABAoIBAQCtB+hHIqjjUo9Z
+s06FhIoNMMCbtW/ydB9bYwVQ/IsoIud/SZ1Xj2LVSWWg3+qGqhJt0tyx7tHp56Qi
+OqIdUpg9SaylMjkflIXSzBCu/lSwTWZxJTV+Z6UNrybvEsFyEgFGWpE6Qjt+RYv/
+RwDW0lW0vKZvqJE7uGR7LNbhekFTtaXVxlC3AcHXqacPnuJ5w0D555SJOtW2qYBT
+nlUzpvSueADfkVsPzBB0nQfFwfigo33x+0LMGq1t+uIa1RJ24yxLeBc3fll/hDD9
+f+tshZ2FUb+Kbhnf+4wxjDliLHkML4pllziP+s7lpxT0gtrWAZTAX5Qk+BVcZmQn
+DXyDNselAoGBAP/iBfXnsgktFuQFMtCJjvDmdMwxMwfrN6S3DLO9zNbtQzhLCs+s
+IEXFwNO3W1uR5XHZ7O8R9bVxcVM+r+7HLuJQbHBqIrCgXZjZplt3ZJlCYmu89hMQ
+8IaRV311Flsj1OQXd+F7fXTMPcRQ2/MhN5WMuYCN40NsrE5qTdRzH8MbAoGBAP+A
+2qyErQz7wHE8TZ+Hy3K2znBHnpeqtJy+momPptn9kwP3hJYQacKkmZN3FLg3Bhuz
+uRYRVZrInFpq5/8MyWBijoYf90NReQH/qfSWUflKATsbzQ5CffOhrBYutZrX2tfc
+bqp4hgYF9HKIQ5W1NPziCxAjfIPCgmeqpp74N6l/AoGAXYus8CxHKxGf17aK0DAp
+4KnvsyKdbFyyl/YPn7pYo45Tz8WnayqbFcbo6r2SmZRp1Eh+VRw0vqN9cZhuSxXo
+bvZF3ob+raHC9flD1xZ74YeiYY7QS0IbHKcP3B6tEJ612rk1q2oxAD0Wq6l/74+K
+OZMb0gKNPf4BtB0q3OtFhlcCgYEAt5DvCtWDsvlIqNJHfp9EhxVZugdqpNLLUnYK
+d1yS5rktH8N8KYh/Q42YnP8IDtXReKOmDXnExCDvXHLEXVTldW85sJlUv7PQOaRi
+icxZ9r25pqrxpxYUga6dAY7rgOUmYMIJbEaNG9S5bHQEApIfELSieCTWt59Oq4ZK
+kZoJ+6cCgYEAwvRhIAvgPoS+G5BB/1xDPmJy1TuWYh46KR1HI68ft8v+fJBRA4jj
+LO6OmKJLWY064EPjNHgKI7hf8VYYa7r2kDZbCJsAp0GU5LHP0uXEpJ8MpKzKGR3d
+TQ4CdVtIjKLYDoKF1SHz4u1b1xTE7HHksc1htqF4bwv5LXDJyeXhhUk=
+-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/cert_sha512.crt b/programs/ssl/test-ca/cert_sha512.crt
new file mode 100644
index 0000000..6f47798
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha512.crt
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 8 (0x8)
+ Signature Algorithm: sha512WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:36 2009 GMT
+ Not After : Feb 9 21:12:36 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:93:26:13:f4:89:9e:ef:75:e0:1b:11:cf:68:a8:
+ 19:f3:b0:4c:cf:41:e5:72:b0:6b:7e:ba:f2:83:8f:
+ 87:0c:34:4e:06:08:19:99:7b:f9:34:4f:58:89:11:
+ 7a:a6:84:a7:49:7d:30:d2:9d:93:3c:2e:00:84:e0:
+ 34:0c:6e:54:38:3b:0e:74:f9:79:6f:a2:ff:44:fa:
+ 60:0d:f5:22:5a:b8:37:72:75:58:2a:2c:10:8b:42:
+ a8:88:99:77:79:db:7e:fa:bf:95:b9:b6:06:42:2b:
+ a8:a6:90:2f:f8:e6:0c:f5:59:4b:50:1f:91:56:92:
+ e0:b0:5c:c6:87:94:78:a3:85:91:ba:51:89:bd:49:
+ 91:f7:02:6a:d6:d5:8a:63:c0:37:43:96:b2:6b:11:
+ d1:50:c6:de:1f:4a:c4:2b:f0:af:67:3c:62:43:57:
+ 42:83:ce:31:18:95:60:23:80:8b:27:24:33:00:2a:
+ 3f:ef:4a:b9:57:b4:81:2a:07:86:cd:8d:ce:57:71:
+ 67:b5:7d:60:41:8e:2f:91:10:ad:42:5b:76:b8:66:
+ 2f:c5:b4:62:0a:26:e8:ec:48:5e:fa:32:88:a6:52:
+ f5:9a:65:6c:18:59:2e:dc:79:7c:e0:22:b2:cc:f9:
+ 98:b3:2c:df:b6:74:5d:2a:12:21:c7:0b:1d:5e:91:
+ 84:df
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 7D:3F:1C:F1:A5:A0:D8:77:06:FE:75:D2:72:97:6C:3A:FF:3A:26:10
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha512WithRSAEncryption
+ 2f:f2:12:80:1a:4f:0c:e6:f9:a6:a3:3c:8e:d2:51:f0:f7:b2:
+ 47:6d:e9:55:5a:39:e8:95:fc:c0:37:a6:f9:a2:b4:37:7a:51:
+ 23:06:ef:51:90:6e:d9:1c:14:33:7d:a8:9c:64:08:70:70:b4:
+ eb:a6:84:64:2c:85:00:92:20:94:83:bc:0a:fa:5d:d0:b0:1b:
+ c0:1a:92:0d:b6:15:dd:dd:79:de:ea:25:f5:0f:7e:ea:37:dc:
+ ab:43:48:6c:ad:a4:bc:a7:f6:bf:16:74:de:7d:78:44:b0:d3:
+ 68:60:a0:48:2a:e6:f2:aa:6e:26:e0:a0:40:e9:08:9c:71:e7:
+ f7:d5:b2:d8:20:25:79:0c:e4:3b:05:57:82:ae:87:80:15:47:
+ f9:0e:fa:10:c4:a0:6c:a7:cc:41:c4:5f:e5:1d:c7:10:94:db:
+ d9:19:c6:8e:3a:88:dd:22:95:4d:c3:0f:fe:a6:a8:5e:f1:80:
+ a4:a5:d6:ee:d4:25:7f:94:8f:b1:b8:ff:2b:84:b9:8a:a0:73:
+ 02:67:1c:d9:7f:47:d8:f1:82:5c:c9:19:13:c8:fb:d0:32:06:
+ 2f:3f:6f:cc:08:7c:2e:94:71:05:5c:5a:ca:b0:29:01:ad:d6:
+ 99:c1:6c:84:f2:84:3d:c6:0b:85:76:47:19:42:2c:c8:48:e3:
+ 60:30:e9:6d
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBCDANBgkqhkiG9w0BAQ0FADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM2WhcNMTEwMjA5MjExMjM2WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBNTEyMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkyYT9Ime73XgGxHPaKgZ87BM
+z0HlcrBrfrryg4+HDDROBggZmXv5NE9YiRF6poSnSX0w0p2TPC4AhOA0DG5UODsO
+dPl5b6L/RPpgDfUiWrg3cnVYKiwQi0KoiJl3edt++r+VubYGQiuoppAv+OYM9VlL
+UB+RVpLgsFzGh5R4o4WRulGJvUmR9wJq1tWKY8A3Q5ayaxHRUMbeH0rEK/CvZzxi
+Q1dCg84xGJVgI4CLJyQzACo/70q5V7SBKgeGzY3OV3FntX1gQY4vkRCtQlt2uGYv
+xbRiCibo7Ehe+jKIplL1mmVsGFku3Hl84CKyzPmYsyzftnRdKhIhxwsdXpGE3wID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR9PxzxpaDYdwb+ddJyl2w6/zom
+EDAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQ0F
+AAOCAQEAL/ISgBpPDOb5pqM8jtJR8PeyR23pVVo56JX8wDem+aK0N3pRIwbvUZBu
+2RwUM32onGQIcHC066aEZCyFAJIglIO8Cvpd0LAbwBqSDbYV3d153uol9Q9+6jfc
+q0NIbK2kvKf2vxZ03n14RLDTaGCgSCrm8qpuJuCgQOkInHHn99Wy2CAleQzkOwVX
+gq6HgBVH+Q76EMSgbKfMQcRf5R3HEJTb2RnGjjqI3SKVTcMP/qaoXvGApKXW7tQl
+f5SPsbj/K4S5iqBzAmcc2X9H2PGCXMkZE8j70DIGLz9vzAh8LpRxBVxayrApAa3W
+mcFshPKEPcYLhXZHGUIsyEjjYDDpbQ==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/cert_sha512.key b/programs/ssl/test-ca/cert_sha512.key
new file mode 100644
index 0000000..96bc7bd
--- /dev/null
+++ b/programs/ssl/test-ca/cert_sha512.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAkyYT9Ime73XgGxHPaKgZ87BMz0HlcrBrfrryg4+HDDROBggZ
+mXv5NE9YiRF6poSnSX0w0p2TPC4AhOA0DG5UODsOdPl5b6L/RPpgDfUiWrg3cnVY
+KiwQi0KoiJl3edt++r+VubYGQiuoppAv+OYM9VlLUB+RVpLgsFzGh5R4o4WRulGJ
+vUmR9wJq1tWKY8A3Q5ayaxHRUMbeH0rEK/CvZzxiQ1dCg84xGJVgI4CLJyQzACo/
+70q5V7SBKgeGzY3OV3FntX1gQY4vkRCtQlt2uGYvxbRiCibo7Ehe+jKIplL1mmVs
+GFku3Hl84CKyzPmYsyzftnRdKhIhxwsdXpGE3wIDAQABAoIBABobGFE7FTpwlDjZ
+OQ3dPPVx4r6mdzmYuQl7y0ix7wioQutpBnmnd/fi19dBhZwDTtaH4mCLWjLECo2I
+ZVOLQ1/SgmcYV4YJyfYH4YC4a8bihdvFm8WnmavLQLEzYPH6khWUZdDTzVpx+nLK
+g+hJkCT7GZR2dUeBuWEwpHwrSBfidrEISewHQDAPy4rR2K/uFKU5UlTtz9KkMBK3
+nnPDrWsKrx47Kr2+zfMySj/AwR3nF/8X95z8TG9Fb3DVfsH2+JvSRB5jC4mcstGb
+kfXFeWZcBG73v9V+rD1Tv53M4HGBgEFSe/Oi4eRthCHB4DENb24U41rLzkmqqUTG
+BGEthSkCgYEAwlsV/nvDUxS1ze0aCVm9ubzyYmlhWGN0secLKcOawjwk0hWdbwlQ
+OrexDOdoqF1+g9j3R5JzXgMDZfzvBRPFPdii0Nm1niSsb3IxkmSIgD0Rw4EiNAjy
+/ZmeiUOGQB5hhpcQ/d8MCMWZeN4+IT2dbYOXOh5aEtrlg6usQGVeiG0CgYEAwdH3
+pG/vFtlRANDdqhXFtXG5yiIj6q6/FCJp5TzCfeWft509RcCbQLAxxg5iazHrIVra
+fMc7mBv0fJk/h/f3q3MYqICZ8Ohz1Bses54u7VN38SrIxBgXD1JmQ4D7oTtjg0BN
+d4jghhRsDtsp3AaHM+S9ROY30G5JVIOeP7JTivsCgYEAo8iWlEo/o/fD7bFtS4vw
+smFj8ULU4eOOJ42Ifr1z4VNFxDSq4zN6BMFf1nv8WkXPo9RnLk1gI01uw7eOxTyP
+7zpsmouc3ZQSLCiTVcaasVbFbXeZFzijbMrUKuBYdhgkH4OWshoQziOW3aCLwv9l
+dzB5dGS3i0QkPf2hvvKt41ECgYEAuNFcAGxQI4yURl/kj1R1k+BfFlVZxGZfhHaQ
+XeyDVYPJuk/w5nuUT6nzvHVo+ei+2q6E2yksNY6qosmLID+e5tk4sSz4HhW6pY46
+x3JWMy49mDWA/iQukQi0xTfQOl2kNbryY8Kcvp3osH3iO5HqCNzccj/JBzKzMCjV
+lM2aBlMCgYA4kBFqWGW9SFpXE5MNuMYls5sviQ0ctD5Tbpd2xjSTfUgyRrkNCz/U
+aOBkU7nDdErEubJs0j9fVtWaf/B/5NC/Y2fmeDxtzPG6WC0zODbVsnnVyO1YTUxG
+JTG5ltMDPjuIdcZk/Ii+P2nuEnRSiyh+wlf4QAdmxlB3lbVKzcG9oA==
+-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/client1.crt b/programs/ssl/test-ca/client1.crt
index 4e0dd27..c2e658c 100644
--- a/programs/ssl/test-ca/client1.crt
+++ b/programs/ssl/test-ca/client1.crt
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:40 2009 GMT
- Not After : Jan 14 22:43:40 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 1
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:de:b1:57:8f:86:00:c3:84:99:f9:36:ba:c1:3b:
- 7e:f8:0e:ff:0b:ee:73:e1:4a:69:2b:8f:2e:e6:cf:
- 6e:ca:9c:4a:e6:c3:16:5c:e2:20:0f:ea:23:f2:ef:
- 8f:21:94:42:f7:ec:d4:12:11:3f:1f:e1:9b:96:35:
- ff:1c:4a:b1:ec:cc:31:09:ba:5a:17:bd:7c:4d:6e:
- de:64:f9:ee:25:2a:a4:da:66:41:e0:f7:a7:05:1b:
- aa:0f:16:ff:00:40:bf:0a:10:90:56:d3:60:0e:ec:
- 1b:c4:fc:99:73:e7:59:87:8f:f9:bb:27:d8:67:e7:
- 67:0e:21:04:53:e9:ff:5e:8d:d8:34:7c:e7:b4:5c:
- 18:85:3c:d3:80:d5:76:b6:0c:7d:87:15:fa:97:1e:
- 87:bc:fe:ee:22:0c:44:6c:4a:25:f9:08:16:ab:92:
- a4:f0:4a:d8:82:d6:2a:0c:21:63:81:4d:a8:32:c0:
- 7f:98:b0:04:3f:64:4c:15:5c:60:fc:b0:c0:e9:69:
- e5:06:61:f3:56:85:9a:ad:e5:8c:8c:72:5d:d0:81:
- 25:46:ae:6c:0a:d6:64:74:2f:86:b3:08:3b:fe:eb:
- 1b:9c:e0:41:fa:e7:24:aa:aa:e1:d2:3c:bf:54:34:
- 28:2c:bf:92:5a:cd:81:65:c7:da:73:61:be:7a:f6:
- e8:b1
+ 00:cc:e9:b3:06:08:93:8e:83:e4:e8:d0:35:a4:81:
+ 1d:a2:f0:f4:0a:33:46:dd:93:92:1b:da:51:5d:2e:
+ 62:5d:36:78:c4:72:22:86:08:f4:a6:51:3e:02:de:
+ da:86:82:d4:65:2a:4e:2a:80:c7:dd:f8:ed:79:f8:
+ 17:39:79:4b:1a:c6:0d:e5:b0:9b:f5:cc:4e:76:64:
+ 2c:e6:47:ec:76:d6:cd:36:e0:f5:1b:24:36:21:a6:
+ 72:71:39:0f:7a:d8:af:90:e8:3f:5d:19:ab:d3:f2:
+ 1b:4a:fa:69:4b:7c:12:42:26:44:c3:46:27:6d:f7:
+ e2:66:59:56:fa:ec:a8:e7:dd:76:d5:36:6e:13:a0:
+ 1f:9d:9e:29:ce:b5:bc:30:45:fb:d1:76:e0:3c:d4:
+ 7b:ce:7a:32:a6:0e:63:aa:63:44:57:91:41:e9:2f:
+ c4:e8:5d:ad:d0:cf:1b:4b:8d:68:30:f2:7e:50:bc:
+ 86:c1:cd:6c:10:28:7c:a5:d7:c2:f8:90:ce:6d:f7:
+ 69:a6:25:50:a2:28:ad:57:75:82:23:ed:af:27:ea:
+ 32:1e:89:b0:9d:07:0c:6a:f9:98:14:8b:8c:6d:fb:
+ 15:83:7f:42:98:5f:4e:82:b0:1a:cc:c0:ce:6a:61:
+ e0:a8:a6:e0:d5:ec:17:16:9d:ce:41:ef:27:e3:e4:
+ 8e:fb
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- AA:27:5F:B4:17:D6:BA:24:04:E5:D3:8D:83:AC:65:5D:EB:9D:7E:74
+ F3:A4:F7:F2:0C:11:57:C9:D8:29:46:80:72:CA:23:87:7E:EA:90:27
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- 93:30:e0:12:65:5a:d8:5b:b8:2d:04:f9:74:b6:4a:40:c5:eb:
- 3e:c3:2d:6a:67:bf:08:cc:c1:89:21:fd:7f:8f:55:37:b5:bc:
- 27:9d:9b:99:cd:6f:43:f4:90:30:d9:49:68:91:58:ec:8f:5d:
- 55:ce:35:63:16:08:dc:ca:8a:f7:e2:9d:84:f9:6d:ae:e1:94:
- 6b:11:0d:26:da:3d:60:0b:8b:9b:5d:c8:76:6a:a2:f9:e3:61:
- 28:48:d6:0f:8e:aa:bf:65:76:82:c6:6a:e9:23:25:e3:f0:60:
- 43:98:62:64:81:cd:02:a9:a1:16:2c:33:18:e1:15:bd:cf:bf:
- e2:0d:3e:fe:a3:5f:33:35:64:18:13:fd:76:71:a7:71:9d:8b:
- e3:35:39:19:f3:4a:5a:0f:5a:c5:ed:63:82:f7:fd:73:94:ba:
- 20:ba:29:8f:2d:18:10:fd:2d:b6:cb:9d:49:8e:07:b8:75:34:
- f4:63:a6:03:5b:73:76:82:a3:1c:16:c5:2a:6e:d1:92:d6:c0:
- 13:b1:92:f9:2a:74:a1:ae:5f:08:6f:16:d7:43:60:51:37:76:
- aa:51:9f:44:fb:b5:35:0e:c2:3f:62:31:7a:b4:04:2b:29:96:
- cc:98:32:2d:13:42:69:b4:79:72:6e:a9:ad:ed:6a:83:ce:6c:
- 9a:13:b0:87
+ 76:09:20:d6:88:9c:e7:ee:ae:bb:82:57:1e:ee:bf:bc:71:47:
+ 79:04:49:84:5d:f3:99:3f:de:86:da:a4:0c:e4:47:63:9c:d8:
+ dd:2f:b8:d6:0f:4d:67:e7:04:c2:83:82:ce:6e:4c:ed:1a:1c:
+ 70:27:b2:9b:da:7a:12:a1:1c:d3:dc:e4:ac:60:ae:21:71:f5:
+ dc:cc:01:c9:2f:c0:4c:51:fc:8e:c4:de:ac:c0:01:e0:82:b5:
+ 80:f4:38:7d:21:ea:9c:92:46:cd:f6:1d:f9:60:3d:cb:0a:00:
+ 88:6d:aa:5a:c1:08:50:d1:36:04:0a:ee:07:9a:6d:0d:ff:4d:
+ 9e:af:97:d3:eb:88:5b:c8:0d:ed:0a:5c:6b:4b:b7:0b:ca:d5:
+ fd:9b:34:f4:be:d0:e0:6c:01:0d:6b:bc:41:f2:a3:13:05:0b:
+ cd:34:59:ba:15:7f:6e:a8:00:53:2a:d5:b7:3a:51:e5:cf:16:
+ 04:66:ba:6b:73:4c:bd:4f:14:0f:64:30:00:7b:12:25:eb:73:
+ c5:2d:03:7c:37:91:3e:12:53:ad:a4:f4:fa:73:7b:b7:67:fa:
+ a5:9c:bd:2e:32:87:7b:8f:54:97:28:b8:5e:80:7d:6f:8a:47:
+ e1:f9:b9:61:ef:91:e6:74:54:af:e9:43:03:8f:8b:b6:f7:b5:
+ 8d:24:5e:01
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBAzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzQwWhcNMTEwMTE0MjI0MzQwWjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3rFXj4YAw4SZ+Ta6wTt++A7/C+5z
-4UppK48u5s9uypxK5sMWXOIgD+oj8u+PIZRC9+zUEhE/H+GbljX/HEqx7MwxCbpa
-F718TW7eZPnuJSqk2mZB4PenBRuqDxb/AEC/ChCQVtNgDuwbxPyZc+dZh4/5uyfY
-Z+dnDiEEU+n/Xo3YNHzntFwYhTzTgNV2tgx9hxX6lx6HvP7uIgxEbEol+QgWq5Kk
-8ErYgtYqDCFjgU2oMsB/mLAEP2RMFVxg/LDA6WnlBmHzVoWareWMjHJd0IElRq5s
-CtZkdC+Gswg7/usbnOBB+uckqqrh0jy/VDQoLL+SWs2BZcfac2G+evbosQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSqJ1+0F9a6JATl042DrGVd651+dDAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAkzDgEmVa2Fu4LQT5dLZKQMXrPsMtame/CMzBiSH9f49VN7W8J52bmc1vQ/SQ
-MNlJaJFY7I9dVc41YxYI3MqK9+KdhPltruGUaxENJto9YAuLm13Idmqi+eNhKEjW
-D46qv2V2gsZq6SMl4/BgQ5hiZIHNAqmhFiwzGOEVvc+/4g0+/qNfMzVkGBP9dnGn
-cZ2L4zU5GfNKWg9axe1jgvf9c5S6ILopjy0YEP0ttsudSY4HuHU09GOmA1tzdoKj
-HBbFKm7RktbAE7GS+Sp0oa5fCG8W10NgUTd2qlGfRPu1NQ7CP2IxerQEKymWzJgy
-LRNCabR5cm6pre1qg85smhOwhw==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzOmzBgiTjoPk6NA1pIEdovD0CjNG
+3ZOSG9pRXS5iXTZ4xHIihgj0plE+At7ahoLUZSpOKoDH3fjtefgXOXlLGsYN5bCb
+9cxOdmQs5kfsdtbNNuD1GyQ2IaZycTkPetivkOg/XRmr0/IbSvppS3wSQiZEw0Yn
+bffiZllW+uyo59121TZuE6AfnZ4pzrW8MEX70XbgPNR7znoypg5jqmNEV5FB6S/E
+6F2t0M8bS41oMPJ+ULyGwc1sECh8pdfC+JDObfdppiVQoiitV3WCI+2vJ+oyHomw
+nQcMavmYFIuMbfsVg39CmF9OgrAazMDOamHgqKbg1ewXFp3OQe8n4+SO+wIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTzpPfyDBFXydgpRoByyiOHfuqQJzAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEAdgkg1oic5+6uu4JXHu6/vHFHeQRJhF3zmT/ehtqkDORHY5zY3S+41g9NZ+cE
+woOCzm5M7RoccCeym9p6EqEc09zkrGCuIXH13MwByS/ATFH8jsTerMAB4IK1gPQ4
+fSHqnJJGzfYd+WA9ywoAiG2qWsEIUNE2BAruB5ptDf9Nnq+X0+uIW8gN7Qpca0u3
+C8rV/Zs09L7Q4GwBDWu8QfKjEwULzTRZuhV/bqgAUyrVtzpR5c8WBGa6a3NMvU8U
+D2QwAHsSJetzxS0DfDeRPhJTraT0+nN7t2f6pZy9LjKHe49Ulyi4XoB9b4pH4fm5
+Ye+R5nRUr+lDA4+Ltve1jSReAQ==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/client1.key b/programs/ssl/test-ca/client1.key
index 257be4e..908bea4 100644
--- a/programs/ssl/test-ca/client1.key
+++ b/programs/ssl/test-ca/client1.key
@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-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
+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
-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/client2.crt b/programs/ssl/test-ca/client2.crt
index f9d8eb6..377f1c8 100644
--- a/programs/ssl/test-ca/client2.crt
+++ b/programs/ssl/test-ca/client2.crt
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:42 2009 GMT
- Not After : Jan 14 22:43:42 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 2
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:ba:70:94:3f:4d:d7:04:0b:5b:61:ea:21:8d:1d:
- c2:8c:b5:df:6e:85:b0:14:41:b6:79:4e:90:87:78:
- 99:9f:65:8e:78:80:63:51:fd:a2:de:31:4b:c3:be:
- dc:d5:fd:b2:ba:44:32:d5:a9:62:41:cc:7a:87:ef:
- 57:21:2c:93:15:2d:68:95:7e:c1:ce:ab:e7:ed:45:
- 6a:cf:9c:b6:ef:46:a0:10:25:a7:e1:21:d6:bd:bf:
- 6f:9a:51:4f:21:2f:6a:b1:bd:89:a3:df:fb:36:ee:
- d6:0f:c1:c8:af:f9:47:dc:0f:76:a5:ad:b3:36:db:
- a2:4f:bf:fa:41:6a:d4:b4:97:81:49:42:d6:fd:8d:
- a1:e7:92:ba:fd:99:f6:42:9e:e8:5e:db:e0:bf:90:
- 4c:ea:e3:81:df:22:24:a4:3c:74:05:24:c3:67:78:
- ee:00:03:75:99:4a:ae:e5:4c:8b:a9:49:5b:15:ce:
- 4a:0a:ee:b9:df:e1:8a:61:e0:ae:1e:96:5a:15:07:
- e9:99:e0:11:08:f8:b2:3e:8f:fa:53:3b:e0:7f:56:
- 34:bf:e2:3f:1a:d8:d4:69:4f:f4:e5:09:b2:3e:96:
- a9:9b:0c:6f:f4:46:d1:37:12:1d:b2:a7:16:05:0c:
- 15:ec:88:64:a1:6e:0e:b2:77:2f:a9:f3:df:b1:03:
- 2d:03
+ 00:a1:d7:d3:0c:2c:ff:bc:85:83:e2:b2:3c:c2:5b:
+ 15:fe:92:7c:09:b8:7b:de:90:39:19:4d:51:26:1b:
+ c8:bd:d3:9f:64:ab:66:79:2e:1e:2c:3f:d8:07:09:
+ f0:49:34:9e:f7:de:dd:4a:67:b5:96:bc:9e:7a:bc:
+ 6a:e4:15:f2:45:0c:3d:26:32:33:a7:e5:fe:f1:19:
+ e0:e3:1d:86:30:a8:e4:b1:5f:60:65:56:49:18:55:
+ 4c:ee:f2:0b:3b:64:ce:22:b4:2d:d6:18:e1:f5:96:
+ 03:51:9c:f4:ff:a8:26:23:ce:9a:27:e5:21:83:16:
+ b3:cc:a7:5b:e1:6d:67:2c:5e:e1:23:bb:56:29:1f:
+ 2e:e4:ff:c2:01:43:b4:b9:5a:e4:6d:2b:a7:31:fb:
+ ee:0b:db:98:49:75:53:37:75:1d:92:75:d5:dc:d7:
+ 2c:e1:e7:2a:c4:be:15:f6:ff:4e:a4:38:87:cb:66:
+ 78:ab:4d:ba:4a:e0:aa:15:16:74:2e:9b:c8:93:96:
+ ea:bf:c6:6c:40:54:39:db:bb:54:4c:dc:9d:53:4a:
+ 00:86:5b:ef:fd:4a:59:c6:1e:b8:e4:69:01:03:3b:
+ f1:3a:03:0a:d4:9f:26:50:60:9b:8b:3d:74:13:07:
+ 6e:f9:cd:e7:d6:ea:97:e1:0f:8b:08:99:ec:c4:29:
+ 70:33
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- 0A:D7:6D:86:0B:FA:78:67:00:E5:D0:79:80:58:06:4F:A7:D3:DD:B2
+ 8C:06:38:93:D9:14:06:29:DF:CC:CD:71:11:43:37:8E:F0:43:38:1B
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- 58:fc:d6:71:a8:c2:4e:d8:38:17:38:f1:33:9b:96:62:4a:15:
- 6b:f9:63:03:a7:21:b0:2a:75:18:16:fc:86:6d:84:86:a7:81:
- 8c:a7:86:fa:34:74:ed:ef:e4:bd:09:29:00:ea:ae:fd:52:2e:
- 20:b4:fd:93:af:de:fd:b8:b1:a0:4a:d7:01:9b:a1:3f:6d:be:
- 06:cf:c1:52:32:52:cd:23:6c:0b:d1:0c:04:cb:01:b0:e8:d8:
- f9:8d:fd:35:18:16:f0:3b:cb:40:ee:ae:57:af:e8:ce:5c:2c:
- 57:18:c1:bd:29:bf:92:03:14:dd:4f:bd:fd:04:7f:d6:ea:52:
- 5b:6b:4f:1e:a8:a4:b2:ed:42:e6:08:42:c9:b1:c7:fc:d2:34:
- 35:5d:72:32:89:32:cf:84:a5:a1:ac:c0:6f:f9:c3:4e:40:96:
- a8:15:14:0a:a3:42:d6:b1:d8:bb:99:20:f5:7c:c2:cc:09:92:
- a7:33:2c:ed:80:d6:23:32:99:7b:13:d1:a0:67:05:78:35:0d:
- b3:7a:93:80:ea:d7:d2:7c:e4:74:00:03:04:7d:d6:c0:c1:78:
- d1:84:7f:19:b9:ec:9c:d5:81:fc:25:13:16:36:bd:bc:1c:56:
- c9:f8:82:90:ef:21:ea:58:f9:ab:61:a4:cd:fb:f3:a5:07:70:
- 1b:03:71:52
+ 66:b6:b9:b3:22:9f:81:09:92:f2:9f:22:ec:df:47:3c:c5:18:
+ e4:01:83:4f:69:5b:11:88:73:71:a6:ef:25:95:d1:23:e0:4d:
+ 9a:25:bb:d6:ac:a8:88:86:cc:06:6e:a9:c9:47:2c:06:a5:dc:
+ b2:4a:b6:5b:6c:4c:0f:f9:5c:bc:b4:e8:d2:4a:79:d5:27:67:
+ 9f:2c:38:ef:5b:54:b4:bc:13:0e:ba:72:73:54:37:3d:39:fc:
+ e1:17:eb:59:3e:ec:b8:83:56:d1:cb:32:ce:13:01:88:61:70:
+ 8e:f9:ce:97:95:46:38:ba:a1:77:8e:ee:a4:86:a3:30:12:b7:
+ 10:df:7b:74:18:45:3c:57:aa:54:da:e5:c5:c0:b5:7b:4d:5d:
+ c0:c2:e7:0d:d0:f2:ab:36:5b:02:a8:3e:1f:6e:4a:aa:b2:05:
+ 9f:35:aa:d6:26:f1:5f:27:a2:97:6e:9c:56:95:1e:4e:fb:5b:
+ 4b:4f:58:f7:7b:8d:54:1c:e5:d3:4a:78:92:58:f5:a2:5f:98:
+ 63:54:d7:fd:6d:14:5f:49:12:99:d0:32:d5:2a:c0:c6:97:a4:
+ d1:f5:c2:9d:dc:b4:6c:f0:ba:fb:e7:3e:f5:86:61:bb:86:e9:
+ e4:99:0a:ed:ee:dc:fa:84:ea:87:e0:c3:7e:76:e4:17:a3:58:
+ 25:07:82:bf
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBBDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzQyWhcNMTEwMTE0MjI0MzQyWjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAyMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAunCUP03XBAtbYeohjR3CjLXfboWw
-FEG2eU6Qh3iZn2WOeIBjUf2i3jFLw77c1f2yukQy1aliQcx6h+9XISyTFS1olX7B
-zqvn7UVqz5y270agECWn4SHWvb9vmlFPIS9qsb2Jo9/7Nu7WD8HIr/lH3A92pa2z
-NtuiT7/6QWrUtJeBSULW/Y2h55K6/Zn2Qp7oXtvgv5BM6uOB3yIkpDx0BSTDZ3ju
-AAN1mUqu5UyLqUlbFc5KCu653+GKYeCuHpZaFQfpmeARCPiyPo/6Uzvgf1Y0v+I/
-GtjUaU/05QmyPpapmwxv9EbRNxIdsqcWBQwV7IhkoW4OsncvqfPfsQMtAwIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQK122GC/p4ZwDl0HmAWAZPp9PdsjAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAWPzWcajCTtg4FzjxM5uWYkoVa/ljA6chsCp1GBb8hm2EhqeBjKeG+jR07e/k
-vQkpAOqu/VIuILT9k6/e/bixoErXAZuhP22+Bs/BUjJSzSNsC9EMBMsBsOjY+Y39
-NRgW8DvLQO6uV6/ozlwsVxjBvSm/kgMU3U+9/QR/1upSW2tPHqiksu1C5ghCybHH
-/NI0NV1yMokyz4SloazAb/nDTkCWqBUUCqNC1rHYu5kg9XzCzAmSpzMs7YDWIzKZ
-exPRoGcFeDUNs3qTgOrX0nzkdAADBH3WwMF40YR/GbnsnNWB/CUTFja9vBxWyfiC
-kO8h6lj5q2GkzfvzpQdwGwNxUg==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAodfTDCz/vIWD4rI8wlsV/pJ8Cbh7
+3pA5GU1RJhvIvdOfZKtmeS4eLD/YBwnwSTSe997dSme1lryeerxq5BXyRQw9JjIz
+p+X+8Rng4x2GMKjksV9gZVZJGFVM7vILO2TOIrQt1hjh9ZYDUZz0/6gmI86aJ+Uh
+gxazzKdb4W1nLF7hI7tWKR8u5P/CAUO0uVrkbSunMfvuC9uYSXVTN3UdknXV3Ncs
+4ecqxL4V9v9OpDiHy2Z4q026SuCqFRZ0LpvIk5bqv8ZsQFQ527tUTNydU0oAhlvv
+/UpZxh645GkBAzvxOgMK1J8mUGCbiz10Ewdu+c3n1uqX4Q+LCJnsxClwMwIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSMBjiT2RQGKd/MzXERQzeO8EM4GzAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEAZra5syKfgQmS8p8i7N9HPMUY5AGDT2lbEYhzcabvJZXRI+BNmiW71qyoiIbM
+Bm6pyUcsBqXcskq2W2xMD/lcvLTo0kp51Sdnnyw471tUtLwTDrpyc1Q3PTn84Rfr
+WT7suINW0csyzhMBiGFwjvnOl5VGOLqhd47upIajMBK3EN97dBhFPFeqVNrlxcC1
+e01dwMLnDdDyqzZbAqg+H25KqrIFnzWq1ibxXyeil26cVpUeTvtbS09Y93uNVBzl
+00p4klj1ol+YY1TX/W0UX0kSmdAy1SrAxpek0fXCndy0bPC6++c+9YZhu4bp5JkK
+7e7c+oTqh+DDfnbkF6NYJQeCvw==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/client2.key b/programs/ssl/test-ca/client2.key
index c773382..fadf69a 100644
--- a/programs/ssl/test-ca/client2.key
+++ b/programs/ssl/test-ca/client2.key
@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-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
+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
-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/client2.pfx b/programs/ssl/test-ca/client2.pfx
index 30c7ebe..a098487 100644
--- a/programs/ssl/test-ca/client2.pfx
+++ b/programs/ssl/test-ca/client2.pfx
Binary files differ
diff --git a/programs/ssl/test-ca/crl.pem b/programs/ssl/test-ca/crl.pem
index a351fa4..aeaf2de 100644
--- a/programs/ssl/test-ca/crl.pem
+++ b/programs/ssl/test-ca/crl.pem
@@ -1,11 +1,11 @@
-----BEGIN X509 CRL-----
MIIBqzCBlDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTA5MDExNDIyNDM0
-N1oXDTA5MDMxNTIyNDM0N1owKDASAgEBFw0wOTAxMTQyMjQzNDVaMBICAQMXDTA5
-MDExNDIyNDM0NlowDQYJKoZIhvcNAQEFBQADggEBALhEPg5YVSK4l1BMRa0HNkrn
-FuBGc4tFUhM4kiw397tcOKF5DMEslmV3BwsmeX71BoQoD6V1HNoqb4vEBVmGgKq6
-+WH2GVBusiBNj8V/SjWS6lpMGPJ+XuNPky4R6CB7bulh7je41g42cXuHF1L623Nn
-nDTdpD9+L5p5NkM2mxMcwF2afTssZZTpWi/b4CG17UTbrUQOlw215vIyc7/6Iaeq
-cYfDGk3970SwpWJvR/0lOzFtm30wwld6GYMlg0P6rC3KYJdyJE3LeblBAP8W9tdb
-Gvn5Rnf6VU58npBfQ+BeMUN/5h6yvA9pGak9HRjaZ1RxuGNreQ1Mb7i0vgO0/SM=
+UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTA5MDIwOTIxMTIz
+NloXDTA5MDQxMDIxMTIzNlowKDASAgEBFw0wOTAyMDkyMTEyMzZaMBICAQMXDTA5
+MDIwOTIxMTIzNlowDQYJKoZIhvcNAQEFBQADggEBAH/piRNs4o4kJlPHZekStROf
+JGgE5SRH+jb7kAaKoTKIYImfx6Nn662cj24Uuq7JLAJowaUhA2HNM+VYXaoGu9Fx
+9cdrceHqLiloZ7OgrGDchC4MqtT43s8wAiBkjG/RMeOtOKvgD4xEsx1AVItzNIbF
+v7yPA/kstR2zUAYMLAJiklkBpYiRejpMU5tDGYOw+lF8lZaRems2eyjvb1SzsGDO
+6tURVHPNJIfAAwcMVTQOtKJwZ97j3RAJo0j5IcaOnboq4xYiBjzMOr28bu9X3KHt
+Zu9T0GFz7n7yh6Qdc4qXjJ6U9bM4YmAW32wPHObXe2qc1GaTVsiyTY2v5BLosR4=
-----END X509 CRL-----
diff --git a/programs/ssl/test-ca/gen_test_ca.sh b/programs/ssl/test-ca/gen_test_ca.sh
index 2e9e7a4..f55b260 100755
--- a/programs/ssl/test-ca/gen_test_ca.sh
+++ b/programs/ssl/test-ca/gen_test_ca.sh
@@ -19,24 +19,36 @@ openssl genrsa -out server1.key 2048
openssl genrsa -out server2.key 2048
openssl genrsa -out client1.key 2048
openssl genrsa -out client2.key 2048
+openssl genrsa -out cert_sha224.key 2048
+openssl genrsa -out cert_sha256.key 2048
+openssl genrsa -out cert_sha384.key 2048
+openssl genrsa -out cert_sha512.key 2048
echo "Generating requests"
-cat sslconf.txt > sslconf_use.txt
-echo "CN=PolarSSL Server 1" >> sslconf_use.txt
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Server 1" >> sslconf_use.txt
openssl req -config sslconf_use.txt -new -key server1.key -out server1.req
-cat sslconf.txt > sslconf_use.txt
-echo "CN=PolarSSL Server 2" >> sslconf_use.txt
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Server 2" >> sslconf_use.txt
openssl req -config sslconf_use.txt -new -key server2.key -out server2.req
-cat sslconf.txt > sslconf_use.txt
-echo "CN=PolarSSL Client 1" >> sslconf_use.txt
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Client 1" >> sslconf_use.txt
openssl req -config sslconf_use.txt -new -key client1.key -out client1.req
-cat sslconf.txt > sslconf_use.txt
-echo "CN=PolarSSL Client 2" >> sslconf_use.txt
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Client 2" >> sslconf_use.txt
openssl req -config sslconf_use.txt -new -key client2.key -out client2.req
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA224" >> sslconf_use.txt
+openssl req -config sslconf_use.txt -new -key cert_sha224.key -out cert_sha224.req -sha224
+
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA256" >> sslconf_use.txt
+openssl req -config sslconf_use.txt -new -key cert_sha256.key -out cert_sha256.req -sha256
+
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA384" >> sslconf_use.txt
+openssl req -config sslconf_use.txt -new -key cert_sha384.key -out cert_sha384.req -sha384
+
+cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA512" >> sslconf_use.txt
+openssl req -config sslconf_use.txt -new -key cert_sha512.key -out cert_sha512.req -sha512
+
echo "Signing requests"
for i in server1 server2 client1 client2;
do
@@ -44,6 +56,12 @@ do
-batch -in $i.req
done
+for i in 224 256 384 512;
+do
+ openssl ca -config sslconf.txt -out cert_sha$i.crt -passin pass:$PASSWORD \
+ -batch -in cert_sha$i.req -md sha$i
+done
+
echo "Revoking firsts"
openssl ca -batch -config sslconf.txt -revoke server1.crt -passin pass:$PASSWORD
openssl ca -batch -config sslconf.txt -revoke client1.crt -passin pass:$PASSWORD
diff --git a/programs/ssl/test-ca/index b/programs/ssl/test-ca/index
index 0745702..16bc39a 100644
--- a/programs/ssl/test-ca/index
+++ b/programs/ssl/test-ca/index
@@ -1,4 +1,8 @@
-R 110114224335Z 090114224345Z 01 unknown /C=NL/O=PolarSSL/CN=PolarSSL Server 1
-V 110114224338Z 02 unknown /C=NL/O=PolarSSL/CN=PolarSSL Server 2
-R 110114224340Z 090114224346Z 03 unknown /C=NL/O=PolarSSL/CN=PolarSSL Client 1
-V 110114224342Z 04 unknown /C=NL/O=PolarSSL/CN=PolarSSL Client 2
+R 110209211235Z 090209211236Z 01 unknown /C=NL/O=PolarSSL/CN=PolarSSL Server 1
+V 110209211235Z 02 unknown /C=NL/O=PolarSSL/CN=PolarSSL Server 2
+R 110209211235Z 090209211236Z 03 unknown /C=NL/O=PolarSSL/CN=PolarSSL Client 1
+V 110209211235Z 04 unknown /C=NL/O=PolarSSL/CN=PolarSSL Client 2
+V 110209211235Z 05 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA224
+V 110209211235Z 06 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA256
+V 110209211236Z 07 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA384
+V 110209211236Z 08 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA512
diff --git a/programs/ssl/test-ca/newcerts/01.pem b/programs/ssl/test-ca/newcerts/01.pem
index 730b82f..05e1581 100644
--- a/programs/ssl/test-ca/newcerts/01.pem
+++ b/programs/ssl/test-ca/newcerts/01.pem
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:35 2009 GMT
- Not After : Jan 14 22:43:35 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Server 1
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:ad:68:ba:12:67:43:a7:11:2c:e0:d8:d7:a1:9b:
- 89:af:a7:a3:92:2f:20:57:e9:bc:ae:89:f8:7c:86:
- 00:48:08:cb:0b:b6:fc:d0:08:e7:fb:14:67:e4:2b:
- 68:b2:0e:7e:01:d0:01:f7:22:2a:43:67:48:2b:88:
- 5c:af:8c:1a:d2:4d:cf:18:c2:3e:e1:15:22:bc:d4:
- b1:7c:7c:b8:73:f3:ca:11:d2:3d:df:7d:c4:bd:fb:
- f2:fd:bb:e6:4e:ce:8d:c4:1b:c2:2a:e0:44:17:be:
- 35:3e:25:db:d8:b0:98:9e:1d:68:38:fe:99:2a:5f:
- 2b:e7:d0:52:4a:bf:f7:ed:6d:b3:14:b5:4f:c5:05:
- f3:06:2e:2f:b1:2b:9b:c7:fa:c7:4d:a6:16:60:f7:
- b2:e7:be:9a:b0:db:8d:eb:38:7a:2e:e1:26:25:36:
- 08:9a:d9:7b:60:76:c4:7d:34:b3:b4:7e:ea:0b:a3:
- 5d:5d:e1:12:88:d8:82:a1:25:25:44:de:11:48:46:
- a4:ab:13:df:e3:88:b0:b1:84:77:ce:0d:00:48:bb:
- aa:46:0b:13:08:9e:51:69:dc:ad:e6:c5:9b:97:d1:
- 2c:5a:c4:06:fe:c0:4f:e2:7a:82:ac:3e:a7:0d:6a:
- 54:0c:46:80:a4:c7:e9:29:a4:f3:cd:93:d3:e0:b4:
- 38:15
+ 00:ae:92:63:59:74:68:a4:aa:89:50:42:f2:e7:27:
+ 09:2c:a5:86:99:09:28:52:5d:6e:32:f5:93:18:35:
+ 0e:2b:28:6d:11:20:49:f2:21:0d:d6:fc:e6:dc:de:
+ 40:93:7b:29:ee:4b:4c:28:4f:e4:8c:38:12:de:10:
+ 69:f7:ba:40:e8:74:80:a6:19:36:63:e0:37:93:39:
+ f6:00:8e:3c:5a:fd:dc:8e:50:c1:41:7c:bf:ff:c9:
+ bb:e2:ad:7c:8d:b1:a4:1a:8b:3e:1f:1a:28:9b:e6:
+ 93:4b:74:c3:e9:ab:2c:c8:93:cf:f6:02:a1:c9:4b:
+ 9e:f9:f6:fa:a6:95:98:6c:32:85:c0:f4:e7:b0:ec:
+ 50:af:17:52:49:21:80:9f:0d:c8:37:73:74:42:3e:
+ 06:7f:29:29:1d:6a:9a:71:0f:70:ea:c8:49:0d:d7:
+ 3b:7e:c2:ed:9b:33:dd:64:e9:8f:df:85:81:c3:b1:
+ c5:50:b6:55:2c:c8:88:ed:fd:c4:cf:14:4f:49:d8:
+ 76:5c:1d:95:ef:34:e8:d7:74:aa:1e:d2:ff:1d:19:
+ 27:19:de:af:b5:7a:71:c3:fb:38:11:ca:da:78:2c:
+ 9b:32:3e:5f:31:eb:c9:6e:43:eb:3d:a5:c1:36:e2:
+ 86:49:1c:68:d7:5b:f1:01:d0:29:16:d0:3a:44:36:
+ 5c:77
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- D4:F8:74:59:8B:5F:AE:67:1C:33:7B:4B:F2:D4:EF:82:6A:E6:21:08
+ 81:10:4A:56:11:3A:A2:FD:28:DE:80:54:BC:21:6E:64:28:6F:E7:05
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- 82:5b:53:0c:3c:00:13:cd:05:af:be:47:aa:b1:4a:f4:00:da:
- d3:95:91:ef:97:6a:a8:c4:01:b9:33:6f:9f:d7:7f:6e:32:d6:
- 64:2d:49:d7:fd:d9:98:c2:7b:81:2d:2e:0a:a4:49:69:97:ea:
- 6e:3b:65:f4:5a:9e:a8:e0:b6:51:53:37:b9:d2:e3:07:8b:5d:
- 03:7c:4a:a8:75:c9:2f:c3:e7:78:bf:00:78:a2:64:b9:59:ee:
- 9c:0d:36:c7:f8:1a:66:91:c7:c9:50:c1:9a:8d:f3:59:9e:38:
- 35:6b:81:9f:74:28:37:47:29:c4:24:dc:64:3e:0a:51:17:26:
- e9:3e:01:0a:8e:9c:15:a0:8d:5c:82:3d:11:f6:3a:20:d7:30:
- f8:ed:7b:24:54:4a:8a:93:57:9d:6f:bc:d0:28:f3:86:7c:9e:
- 28:b5:95:2d:96:59:35:b2:9b:ae:5b:a6:4b:ad:52:e0:8a:04:
- f4:5f:11:ed:14:1e:66:83:77:80:c3:d7:9d:fe:93:35:16:0a:
- d1:9e:12:28:10:35:f4:b9:6b:7c:00:fe:7f:4c:80:c8:f6:e0:
- 95:92:8c:7d:5f:5c:a2:33:76:c9:32:3a:3d:87:68:30:e9:ff:
- ca:42:ff:a5:c0:df:24:c1:40:78:65:8c:fa:70:4b:f7:79:aa:
- 9b:61:70:f5
+ 64:48:d7:f4:06:42:fd:9b:7d:f4:c3:81:26:ff:1d:c3:f9:0b:
+ dc:be:5d:78:45:e5:48:1a:f7:07:cb:35:2b:7f:b6:50:22:cf:
+ a6:24:f5:e3:a5:5d:a7:d0:55:d3:c1:f4:a9:6e:f2:4c:f7:2b:
+ 02:0f:d0:c8:62:82:93:a6:86:07:f3:fb:14:c8:db:f2:df:fb:
+ 06:2c:7f:ad:39:89:78:ed:cb:b6:70:0d:7a:b8:ba:48:ae:13:
+ 46:b0:e0:7b:e8:fc:31:eb:4e:97:2b:96:bf:6b:7b:ae:f2:3e:
+ 9f:f9:c2:96:59:49:f3:90:34:15:e3:2e:cb:38:9c:33:a3:4a:
+ 4e:00:9e:97:7d:3d:2e:d7:1f:23:4b:5e:db:62:a5:3c:ca:4e:
+ b7:a6:83:79:24:9c:ce:08:e4:8b:e7:9a:b1:ca:9f:03:9c:a8:
+ 6c:81:4e:5b:fb:53:19:a1:9f:b5:07:64:85:57:01:2c:95:3c:
+ 3c:7e:87:0d:43:c6:08:d5:26:7a:5b:d3:2b:bb:0e:92:fc:be:
+ 85:88:16:c8:98:2d:75:23:9d:95:c5:4a:a5:95:be:77:81:cd:
+ 46:14:cc:96:2f:90:2a:84:04:51:80:d1:e3:39:5f:de:d4:c2:
+ 2c:bd:a7:23:3a:8d:b3:83:73:62:b0:7b:92:14:53:a1:e3:c4:
+ 3c:68:cc:ab
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzM1WhcNMTEwMTE0MjI0MzM1WjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIFNlcnZlciAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArWi6EmdDpxEs4NjXoZuJr6ejki8g
-V+m8ron4fIYASAjLC7b80Ajn+xRn5Ctosg5+AdAB9yIqQ2dIK4hcr4wa0k3PGMI+
-4RUivNSxfHy4c/PKEdI9333Evfvy/bvmTs6NxBvCKuBEF741PiXb2LCYnh1oOP6Z
-Kl8r59BSSr/37W2zFLVPxQXzBi4vsSubx/rHTaYWYPey576asNuN6zh6LuEmJTYI
-mtl7YHbEfTSztH7qC6NdXeESiNiCoSUlRN4RSEakqxPf44iwsYR3zg0ASLuqRgsT
-CJ5Radyt5sWbl9EsWsQG/sBP4nqCrD6nDWpUDEaApMfpKaTzzZPT4LQ4FQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTU+HRZi1+uZxwze0vy1O+CauYhCDAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAgltTDDwAE80Fr75HqrFK9ADa05WR75dqqMQBuTNvn9d/bjLWZC1J1/3ZmMJ7
-gS0uCqRJaZfqbjtl9FqeqOC2UVM3udLjB4tdA3xKqHXJL8PneL8AeKJkuVnunA02
-x/gaZpHHyVDBmo3zWZ44NWuBn3QoN0cpxCTcZD4KURcm6T4BCo6cFaCNXII9EfY6
-INcw+O17JFRKipNXnW+80CjzhnyeKLWVLZZZNbKbrlumS61S4IoE9F8R7RQeZoN3
-gMPXnf6TNRYK0Z4SKBA19LlrfAD+f0yAyPbglZKMfV9cojN2yTI6PYdoMOn/ykL/
-pcDfJMFAeGWM+nBL93mqm2Fw9Q==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArpJjWXRopKqJUELy5ycJLKWGmQko
+Ul1uMvWTGDUOKyhtESBJ8iEN1vzm3N5Ak3sp7ktMKE/kjDgS3hBp97pA6HSAphk2
+Y+A3kzn2AI48Wv3cjlDBQXy//8m74q18jbGkGos+Hxoom+aTS3TD6assyJPP9gKh
+yUue+fb6ppWYbDKFwPTnsOxQrxdSSSGAnw3IN3N0Qj4GfykpHWqacQ9w6shJDdc7
+fsLtmzPdZOmP34WBw7HFULZVLMiI7f3EzxRPSdh2XB2V7zTo13SqHtL/HRknGd6v
+tXpxw/s4EcraeCybMj5fMevJbkPrPaXBNuKGSRxo11vxAdApFtA6RDZcdwIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSBEEpWETqi/SjegFS8IW5kKG/nBTAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEAZEjX9AZC/Zt99MOBJv8dw/kL3L5deEXlSBr3B8s1K3+2UCLPpiT146Vdp9BV
+08H0qW7yTPcrAg/QyGKCk6aGB/P7FMjb8t/7Bix/rTmJeO3LtnANeri6SK4TRrDg
+e+j8MetOlyuWv2t7rvI+n/nClllJ85A0FeMuyzicM6NKTgCel309LtcfI0te22Kl
+PMpOt6aDeSSczgjki+eascqfA5yobIFOW/tTGaGftQdkhVcBLJU8PH6HDUPGCNUm
+elvTK7sOkvy+hYgWyJgtdSOdlcVKpZW+d4HNRhTMli+QKoQEUYDR4zlf3tTCLL2n
+IzqNs4NzYrB7khRToePEPGjMqw==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/newcerts/02.pem b/programs/ssl/test-ca/newcerts/02.pem
index e805480..e696a87 100644
--- a/programs/ssl/test-ca/newcerts/02.pem
+++ b/programs/ssl/test-ca/newcerts/02.pem
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:38 2009 GMT
- Not After : Jan 14 22:43:38 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Server 2
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:a7:d3:64:9c:a0:6f:f1:55:e4:b7:a1:b9:4f:5a:
- 4a:00:dd:8e:6c:fd:c5:e9:48:df:13:6a:e0:1d:39:
- c4:77:36:dd:2e:91:fc:d2:64:3a:c8:ff:81:f8:3c:
- 77:29:3a:0b:be:6e:ba:22:50:b1:d7:56:34:67:4e:
- b0:67:17:22:e3:3a:9a:87:23:51:9a:dd:0e:a8:7d:
- 4a:d0:16:a7:3e:c0:1e:50:13:99:c4:e7:73:6d:52:
- 92:90:0e:a1:a9:9f:0b:58:87:8c:fe:56:ae:b8:5c:
- 24:8c:df:f6:1f:92:dd:c0:ac:22:7e:77:47:e3:a7:
- 73:f5:2b:37:0d:3b:d4:0a:26:6c:3e:ae:d3:1a:f3:
- 2a:22:4a:cf:2e:c5:cd:b5:f9:99:c8:d4:80:1e:11:
- a3:90:ed:d9:8d:e9:8c:fc:a5:9f:09:9d:51:9d:a7:
- b2:a7:b0:a5:db:0d:c5:d0:ef:13:a2:a2:5d:08:aa:
- 2c:ab:5d:f6:ab:20:ff:83:cb:57:07:8c:d0:34:6a:
- f8:6a:55:fa:e5:db:43:a1:9f:1f:c4:46:e4:e9:6f:
- 51:14:35:e7:4b:e9:04:48:d7:fe:a7:4f:7e:a3:a4:
- 6d:d2:6f:8b:ad:46:ed:31:a4:66:63:48:08:8d:9b:
- 0d:9a:a3:f5:95:7c:0f:bc:3b:59:3f:70:3a:a6:13:
- 62:83
+ 00:b0:19:1d:43:4a:e1:f1:67:80:7b:44:3f:25:b9:
+ 10:f0:f1:ac:af:59:fb:5c:e3:e7:32:49:f3:b7:a0:
+ c1:90:27:83:04:2c:0b:1b:f8:3d:1e:d8:c2:40:67:
+ 7a:4a:c0:cd:ab:51:77:34:ee:ae:ac:09:6b:7a:cb:
+ 20:23:b3:44:b1:7e:78:a0:95:50:59:36:97:04:57:
+ 9a:76:65:e0:08:7a:09:5e:61:16:59:c2:35:eb:e0:
+ a1:fd:92:f5:d5:76:c3:57:f3:64:19:25:ff:a9:e3:
+ 48:5a:c9:b7:ad:77:c5:81:24:2d:c7:99:d5:a5:15:
+ 12:67:69:00:2a:cd:4e:4f:46:40:51:78:36:b5:26:
+ 15:9c:73:9c:dc:bd:f9:fe:ac:62:dc:0a:c8:a0:9e:
+ aa:06:e9:e5:94:c2:bd:2f:46:d4:54:08:d7:d6:98:
+ 69:1f:de:63:fc:09:70:f2:99:c8:63:27:f7:00:96:
+ 1e:ad:c3:ee:ce:80:e8:75:ce:50:6b:6c:49:c8:c4:
+ 92:04:a0:25:7c:19:6e:d6:e0:43:45:2a:d7:2a:44:
+ 4a:03:b9:72:17:a4:c7:01:b9:4e:88:8c:82:63:0f:
+ bb:c2:89:98:86:8e:6d:d5:5e:bb:0b:bf:8c:d0:6f:
+ 97:15:39:fe:11:c9:cb:de:c5:5b:2c:47:65:07:20:
+ b6:cf
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- 35:93:04:00:81:D2:5B:CC:11:9E:9A:22:35:EC:CB:D2:45:DA:FC:26
+ 92:0C:8B:3F:E9:D3:EE:6F:08:23:62:0B:D1:68:FD:AC:A6:11:8F:5F
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- ab:f2:56:8b:7d:60:7c:ec:1d:36:f0:ff:30:ef:a2:b0:b1:e3:
- ec:b0:41:8c:46:78:dc:4c:6d:7c:1f:ff:54:97:8e:d4:33:ef:
- e5:28:b3:2d:46:f5:08:b5:4a:cd:02:4c:8a:7a:1a:86:13:72:
- 50:18:bb:6b:2d:13:7e:95:98:59:20:38:75:ba:ad:46:1c:74:
- 85:1d:16:7d:43:0f:50:ca:14:4e:3d:c9:ab:4a:4c:1d:5b:85:
- 19:90:ae:f1:ad:20:88:16:f1:6f:9b:20:0e:76:58:2a:f4:55:
- 89:5b:b2:1a:6a:10:ef:dd:d3:98:93:22:c4:1f:d9:30:76:14:
- 03:6b:eb:e8:d2:dd:25:7a:1b:0f:87:64:34:d6:24:90:d9:93:
- 39:eb:be:04:d5:ad:e9:29:96:7c:82:b8:fd:16:e7:8f:50:c5:
- 1c:21:c7:81:67:aa:28:93:1b:32:f7:e4:f8:5b:95:d5:c6:60:
- e8:a1:1f:20:7e:a6:d7:73:6e:4e:f8:94:0f:0b:c9:88:66:c8:
- 31:91:89:0a:8e:fc:2b:70:ce:cf:de:6f:60:2b:e8:32:47:3d:
- d1:44:d9:dc:13:58:8a:dd:a1:53:31:e3:de:e9:2f:dd:35:8f:
- 73:5c:2e:1f:59:af:4c:97:89:11:e8:d5:20:f8:22:3f:07:43:
- ca:7d:2d:bd
+ 0d:22:8f:f2:f6:17:f7:bb:d8:8e:9d:96:58:37:3d:81:ce:ef:
+ bc:ae:e1:8e:70:3a:13:9b:c4:1f:22:8e:6a:90:39:a8:ba:7b:
+ 53:ff:94:2f:ed:96:4d:56:d7:d7:b6:28:b2:d4:38:90:be:87:
+ be:09:22:2b:32:6f:b8:fa:59:c3:fa:c3:8c:d7:85:55:bc:09:
+ b1:e6:d3:a7:b2:9f:79:45:5c:2a:d9:b3:34:0f:91:e1:ea:cd:
+ 30:a0:94:72:c2:02:35:0e:00:6a:0d:3f:46:8c:ca:30:6e:11:
+ d4:a3:85:f2:5b:d7:e0:0b:07:65:77:b6:56:46:7e:0a:a2:5d:
+ 1c:6a:43:b7:60:c5:99:86:ae:8a:ca:cd:ba:7a:2e:5b:79:fb:
+ 8b:86:7c:ad:eb:66:33:08:4c:c7:f7:86:5e:70:4c:fa:9a:3e:
+ 4a:53:72:cb:43:03:9c:f6:f7:c9:be:d0:33:81:00:aa:1a:5b:
+ 5c:71:3a:3b:7a:20:d4:2f:89:97:79:92:29:14:0b:ec:65:ba:
+ fb:aa:5a:65:a7:e5:3a:3d:bc:45:61:3f:0d:54:36:27:2c:0e:
+ fb:a8:8a:a2:41:96:b1:07:b6:be:0b:8b:08:47:42:a7:5f:00:
+ c2:13:a4:01:10:c6:96:23:13:4e:66:49:16:10:23:1e:9d:1b:
+ c0:5e:55:6b
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBAjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzM4WhcNMTEwMTE0MjI0MzM4WjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIFNlcnZlciAyMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp9NknKBv8VXkt6G5T1pKAN2ObP3F
-6UjfE2rgHTnEdzbdLpH80mQ6yP+B+Dx3KToLvm66IlCx11Y0Z06wZxci4zqahyNR
-mt0OqH1K0BanPsAeUBOZxOdzbVKSkA6hqZ8LWIeM/lauuFwkjN/2H5LdwKwifndH
-46dz9Ss3DTvUCiZsPq7TGvMqIkrPLsXNtfmZyNSAHhGjkO3ZjemM/KWfCZ1Rnaey
-p7Cl2w3F0O8ToqJdCKosq132qyD/g8tXB4zQNGr4alX65dtDoZ8fxEbk6W9RFDXn
-S+kESNf+p09+o6Rt0m+LrUbtMaRmY0gIjZsNmqP1lXwPvDtZP3A6phNigwIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQ1kwQAgdJbzBGemiI17MvSRdr8JjAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAq/JWi31gfOwdNvD/MO+isLHj7LBBjEZ43ExtfB//VJeO1DPv5SizLUb1CLVK
-zQJMinoahhNyUBi7ay0TfpWYWSA4dbqtRhx0hR0WfUMPUMoUTj3Jq0pMHVuFGZCu
-8a0giBbxb5sgDnZYKvRViVuyGmoQ793TmJMixB/ZMHYUA2vr6NLdJXobD4dkNNYk
-kNmTOeu+BNWt6SmWfIK4/Rbnj1DFHCHHgWeqKJMbMvfk+FuV1cZg6KEfIH6m13Nu
-TviUDwvJiGbIMZGJCo78K3DOz95vYCvoMkc90UTZ3BNYit2hUzHj3ukv3TWPc1wu
-H1mvTJeJEejVIPgiPwdDyn0tvQ==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBkdQ0rh8WeAe0Q/JbkQ8PGsr1n7
+XOPnMknzt6DBkCeDBCwLG/g9HtjCQGd6SsDNq1F3NO6urAlressgI7NEsX54oJVQ
+WTaXBFeadmXgCHoJXmEWWcI16+Ch/ZL11XbDV/NkGSX/qeNIWsm3rXfFgSQtx5nV
+pRUSZ2kAKs1OT0ZAUXg2tSYVnHOc3L35/qxi3ArIoJ6qBunllMK9L0bUVAjX1php
+H95j/Alw8pnIYyf3AJYercPuzoDodc5Qa2xJyMSSBKAlfBlu1uBDRSrXKkRKA7ly
+F6THAblOiIyCYw+7womYho5t1V67C7+M0G+XFTn+EcnL3sVbLEdlByC2zwIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSSDIs/6dPubwgjYgvRaP2sphGPXzAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEADSKP8vYX97vYjp2WWDc9gc7vvK7hjnA6E5vEHyKOapA5qLp7U/+UL+2WTVbX
+17YostQ4kL6HvgkiKzJvuPpZw/rDjNeFVbwJsebTp7KfeUVcKtmzNA+R4erNMKCU
+csICNQ4Aag0/RozKMG4R1KOF8lvX4AsHZXe2VkZ+CqJdHGpDt2DFmYauisrNunou
+W3n7i4Z8retmMwhMx/eGXnBM+po+SlNyy0MDnPb3yb7QM4EAqhpbXHE6O3og1C+J
+l3mSKRQL7GW6+6paZaflOj28RWE/DVQ2JywO+6iKokGWsQe2vguLCEdCp18AwhOk
+ARDGliMTTmZJFhAjHp0bwF5Vaw==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/newcerts/03.pem b/programs/ssl/test-ca/newcerts/03.pem
index 4e0dd27..c2e658c 100644
--- a/programs/ssl/test-ca/newcerts/03.pem
+++ b/programs/ssl/test-ca/newcerts/03.pem
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:40 2009 GMT
- Not After : Jan 14 22:43:40 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 1
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:de:b1:57:8f:86:00:c3:84:99:f9:36:ba:c1:3b:
- 7e:f8:0e:ff:0b:ee:73:e1:4a:69:2b:8f:2e:e6:cf:
- 6e:ca:9c:4a:e6:c3:16:5c:e2:20:0f:ea:23:f2:ef:
- 8f:21:94:42:f7:ec:d4:12:11:3f:1f:e1:9b:96:35:
- ff:1c:4a:b1:ec:cc:31:09:ba:5a:17:bd:7c:4d:6e:
- de:64:f9:ee:25:2a:a4:da:66:41:e0:f7:a7:05:1b:
- aa:0f:16:ff:00:40:bf:0a:10:90:56:d3:60:0e:ec:
- 1b:c4:fc:99:73:e7:59:87:8f:f9:bb:27:d8:67:e7:
- 67:0e:21:04:53:e9:ff:5e:8d:d8:34:7c:e7:b4:5c:
- 18:85:3c:d3:80:d5:76:b6:0c:7d:87:15:fa:97:1e:
- 87:bc:fe:ee:22:0c:44:6c:4a:25:f9:08:16:ab:92:
- a4:f0:4a:d8:82:d6:2a:0c:21:63:81:4d:a8:32:c0:
- 7f:98:b0:04:3f:64:4c:15:5c:60:fc:b0:c0:e9:69:
- e5:06:61:f3:56:85:9a:ad:e5:8c:8c:72:5d:d0:81:
- 25:46:ae:6c:0a:d6:64:74:2f:86:b3:08:3b:fe:eb:
- 1b:9c:e0:41:fa:e7:24:aa:aa:e1:d2:3c:bf:54:34:
- 28:2c:bf:92:5a:cd:81:65:c7:da:73:61:be:7a:f6:
- e8:b1
+ 00:cc:e9:b3:06:08:93:8e:83:e4:e8:d0:35:a4:81:
+ 1d:a2:f0:f4:0a:33:46:dd:93:92:1b:da:51:5d:2e:
+ 62:5d:36:78:c4:72:22:86:08:f4:a6:51:3e:02:de:
+ da:86:82:d4:65:2a:4e:2a:80:c7:dd:f8:ed:79:f8:
+ 17:39:79:4b:1a:c6:0d:e5:b0:9b:f5:cc:4e:76:64:
+ 2c:e6:47:ec:76:d6:cd:36:e0:f5:1b:24:36:21:a6:
+ 72:71:39:0f:7a:d8:af:90:e8:3f:5d:19:ab:d3:f2:
+ 1b:4a:fa:69:4b:7c:12:42:26:44:c3:46:27:6d:f7:
+ e2:66:59:56:fa:ec:a8:e7:dd:76:d5:36:6e:13:a0:
+ 1f:9d:9e:29:ce:b5:bc:30:45:fb:d1:76:e0:3c:d4:
+ 7b:ce:7a:32:a6:0e:63:aa:63:44:57:91:41:e9:2f:
+ c4:e8:5d:ad:d0:cf:1b:4b:8d:68:30:f2:7e:50:bc:
+ 86:c1:cd:6c:10:28:7c:a5:d7:c2:f8:90:ce:6d:f7:
+ 69:a6:25:50:a2:28:ad:57:75:82:23:ed:af:27:ea:
+ 32:1e:89:b0:9d:07:0c:6a:f9:98:14:8b:8c:6d:fb:
+ 15:83:7f:42:98:5f:4e:82:b0:1a:cc:c0:ce:6a:61:
+ e0:a8:a6:e0:d5:ec:17:16:9d:ce:41:ef:27:e3:e4:
+ 8e:fb
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- AA:27:5F:B4:17:D6:BA:24:04:E5:D3:8D:83:AC:65:5D:EB:9D:7E:74
+ F3:A4:F7:F2:0C:11:57:C9:D8:29:46:80:72:CA:23:87:7E:EA:90:27
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- 93:30:e0:12:65:5a:d8:5b:b8:2d:04:f9:74:b6:4a:40:c5:eb:
- 3e:c3:2d:6a:67:bf:08:cc:c1:89:21:fd:7f:8f:55:37:b5:bc:
- 27:9d:9b:99:cd:6f:43:f4:90:30:d9:49:68:91:58:ec:8f:5d:
- 55:ce:35:63:16:08:dc:ca:8a:f7:e2:9d:84:f9:6d:ae:e1:94:
- 6b:11:0d:26:da:3d:60:0b:8b:9b:5d:c8:76:6a:a2:f9:e3:61:
- 28:48:d6:0f:8e:aa:bf:65:76:82:c6:6a:e9:23:25:e3:f0:60:
- 43:98:62:64:81:cd:02:a9:a1:16:2c:33:18:e1:15:bd:cf:bf:
- e2:0d:3e:fe:a3:5f:33:35:64:18:13:fd:76:71:a7:71:9d:8b:
- e3:35:39:19:f3:4a:5a:0f:5a:c5:ed:63:82:f7:fd:73:94:ba:
- 20:ba:29:8f:2d:18:10:fd:2d:b6:cb:9d:49:8e:07:b8:75:34:
- f4:63:a6:03:5b:73:76:82:a3:1c:16:c5:2a:6e:d1:92:d6:c0:
- 13:b1:92:f9:2a:74:a1:ae:5f:08:6f:16:d7:43:60:51:37:76:
- aa:51:9f:44:fb:b5:35:0e:c2:3f:62:31:7a:b4:04:2b:29:96:
- cc:98:32:2d:13:42:69:b4:79:72:6e:a9:ad:ed:6a:83:ce:6c:
- 9a:13:b0:87
+ 76:09:20:d6:88:9c:e7:ee:ae:bb:82:57:1e:ee:bf:bc:71:47:
+ 79:04:49:84:5d:f3:99:3f:de:86:da:a4:0c:e4:47:63:9c:d8:
+ dd:2f:b8:d6:0f:4d:67:e7:04:c2:83:82:ce:6e:4c:ed:1a:1c:
+ 70:27:b2:9b:da:7a:12:a1:1c:d3:dc:e4:ac:60:ae:21:71:f5:
+ dc:cc:01:c9:2f:c0:4c:51:fc:8e:c4:de:ac:c0:01:e0:82:b5:
+ 80:f4:38:7d:21:ea:9c:92:46:cd:f6:1d:f9:60:3d:cb:0a:00:
+ 88:6d:aa:5a:c1:08:50:d1:36:04:0a:ee:07:9a:6d:0d:ff:4d:
+ 9e:af:97:d3:eb:88:5b:c8:0d:ed:0a:5c:6b:4b:b7:0b:ca:d5:
+ fd:9b:34:f4:be:d0:e0:6c:01:0d:6b:bc:41:f2:a3:13:05:0b:
+ cd:34:59:ba:15:7f:6e:a8:00:53:2a:d5:b7:3a:51:e5:cf:16:
+ 04:66:ba:6b:73:4c:bd:4f:14:0f:64:30:00:7b:12:25:eb:73:
+ c5:2d:03:7c:37:91:3e:12:53:ad:a4:f4:fa:73:7b:b7:67:fa:
+ a5:9c:bd:2e:32:87:7b:8f:54:97:28:b8:5e:80:7d:6f:8a:47:
+ e1:f9:b9:61:ef:91:e6:74:54:af:e9:43:03:8f:8b:b6:f7:b5:
+ 8d:24:5e:01
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBAzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzQwWhcNMTEwMTE0MjI0MzQwWjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3rFXj4YAw4SZ+Ta6wTt++A7/C+5z
-4UppK48u5s9uypxK5sMWXOIgD+oj8u+PIZRC9+zUEhE/H+GbljX/HEqx7MwxCbpa
-F718TW7eZPnuJSqk2mZB4PenBRuqDxb/AEC/ChCQVtNgDuwbxPyZc+dZh4/5uyfY
-Z+dnDiEEU+n/Xo3YNHzntFwYhTzTgNV2tgx9hxX6lx6HvP7uIgxEbEol+QgWq5Kk
-8ErYgtYqDCFjgU2oMsB/mLAEP2RMFVxg/LDA6WnlBmHzVoWareWMjHJd0IElRq5s
-CtZkdC+Gswg7/usbnOBB+uckqqrh0jy/VDQoLL+SWs2BZcfac2G+evbosQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSqJ1+0F9a6JATl042DrGVd651+dDAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAkzDgEmVa2Fu4LQT5dLZKQMXrPsMtame/CMzBiSH9f49VN7W8J52bmc1vQ/SQ
-MNlJaJFY7I9dVc41YxYI3MqK9+KdhPltruGUaxENJto9YAuLm13Idmqi+eNhKEjW
-D46qv2V2gsZq6SMl4/BgQ5hiZIHNAqmhFiwzGOEVvc+/4g0+/qNfMzVkGBP9dnGn
-cZ2L4zU5GfNKWg9axe1jgvf9c5S6ILopjy0YEP0ttsudSY4HuHU09GOmA1tzdoKj
-HBbFKm7RktbAE7GS+Sp0oa5fCG8W10NgUTd2qlGfRPu1NQ7CP2IxerQEKymWzJgy
-LRNCabR5cm6pre1qg85smhOwhw==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzOmzBgiTjoPk6NA1pIEdovD0CjNG
+3ZOSG9pRXS5iXTZ4xHIihgj0plE+At7ahoLUZSpOKoDH3fjtefgXOXlLGsYN5bCb
+9cxOdmQs5kfsdtbNNuD1GyQ2IaZycTkPetivkOg/XRmr0/IbSvppS3wSQiZEw0Yn
+bffiZllW+uyo59121TZuE6AfnZ4pzrW8MEX70XbgPNR7znoypg5jqmNEV5FB6S/E
+6F2t0M8bS41oMPJ+ULyGwc1sECh8pdfC+JDObfdppiVQoiitV3WCI+2vJ+oyHomw
+nQcMavmYFIuMbfsVg39CmF9OgrAazMDOamHgqKbg1ewXFp3OQe8n4+SO+wIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTzpPfyDBFXydgpRoByyiOHfuqQJzAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEAdgkg1oic5+6uu4JXHu6/vHFHeQRJhF3zmT/ehtqkDORHY5zY3S+41g9NZ+cE
+woOCzm5M7RoccCeym9p6EqEc09zkrGCuIXH13MwByS/ATFH8jsTerMAB4IK1gPQ4
+fSHqnJJGzfYd+WA9ywoAiG2qWsEIUNE2BAruB5ptDf9Nnq+X0+uIW8gN7Qpca0u3
+C8rV/Zs09L7Q4GwBDWu8QfKjEwULzTRZuhV/bqgAUyrVtzpR5c8WBGa6a3NMvU8U
+D2QwAHsSJetzxS0DfDeRPhJTraT0+nN7t2f6pZy9LjKHe49Ulyi4XoB9b4pH4fm5
+Ye+R5nRUr+lDA4+Ltve1jSReAQ==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/newcerts/04.pem b/programs/ssl/test-ca/newcerts/04.pem
index f9d8eb6..377f1c8 100644
--- a/programs/ssl/test-ca/newcerts/04.pem
+++ b/programs/ssl/test-ca/newcerts/04.pem
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:42 2009 GMT
- Not After : Jan 14 22:43:42 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 2
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:ba:70:94:3f:4d:d7:04:0b:5b:61:ea:21:8d:1d:
- c2:8c:b5:df:6e:85:b0:14:41:b6:79:4e:90:87:78:
- 99:9f:65:8e:78:80:63:51:fd:a2:de:31:4b:c3:be:
- dc:d5:fd:b2:ba:44:32:d5:a9:62:41:cc:7a:87:ef:
- 57:21:2c:93:15:2d:68:95:7e:c1:ce:ab:e7:ed:45:
- 6a:cf:9c:b6:ef:46:a0:10:25:a7:e1:21:d6:bd:bf:
- 6f:9a:51:4f:21:2f:6a:b1:bd:89:a3:df:fb:36:ee:
- d6:0f:c1:c8:af:f9:47:dc:0f:76:a5:ad:b3:36:db:
- a2:4f:bf:fa:41:6a:d4:b4:97:81:49:42:d6:fd:8d:
- a1:e7:92:ba:fd:99:f6:42:9e:e8:5e:db:e0:bf:90:
- 4c:ea:e3:81:df:22:24:a4:3c:74:05:24:c3:67:78:
- ee:00:03:75:99:4a:ae:e5:4c:8b:a9:49:5b:15:ce:
- 4a:0a:ee:b9:df:e1:8a:61:e0:ae:1e:96:5a:15:07:
- e9:99:e0:11:08:f8:b2:3e:8f:fa:53:3b:e0:7f:56:
- 34:bf:e2:3f:1a:d8:d4:69:4f:f4:e5:09:b2:3e:96:
- a9:9b:0c:6f:f4:46:d1:37:12:1d:b2:a7:16:05:0c:
- 15:ec:88:64:a1:6e:0e:b2:77:2f:a9:f3:df:b1:03:
- 2d:03
+ 00:a1:d7:d3:0c:2c:ff:bc:85:83:e2:b2:3c:c2:5b:
+ 15:fe:92:7c:09:b8:7b:de:90:39:19:4d:51:26:1b:
+ c8:bd:d3:9f:64:ab:66:79:2e:1e:2c:3f:d8:07:09:
+ f0:49:34:9e:f7:de:dd:4a:67:b5:96:bc:9e:7a:bc:
+ 6a:e4:15:f2:45:0c:3d:26:32:33:a7:e5:fe:f1:19:
+ e0:e3:1d:86:30:a8:e4:b1:5f:60:65:56:49:18:55:
+ 4c:ee:f2:0b:3b:64:ce:22:b4:2d:d6:18:e1:f5:96:
+ 03:51:9c:f4:ff:a8:26:23:ce:9a:27:e5:21:83:16:
+ b3:cc:a7:5b:e1:6d:67:2c:5e:e1:23:bb:56:29:1f:
+ 2e:e4:ff:c2:01:43:b4:b9:5a:e4:6d:2b:a7:31:fb:
+ ee:0b:db:98:49:75:53:37:75:1d:92:75:d5:dc:d7:
+ 2c:e1:e7:2a:c4:be:15:f6:ff:4e:a4:38:87:cb:66:
+ 78:ab:4d:ba:4a:e0:aa:15:16:74:2e:9b:c8:93:96:
+ ea:bf:c6:6c:40:54:39:db:bb:54:4c:dc:9d:53:4a:
+ 00:86:5b:ef:fd:4a:59:c6:1e:b8:e4:69:01:03:3b:
+ f1:3a:03:0a:d4:9f:26:50:60:9b:8b:3d:74:13:07:
+ 6e:f9:cd:e7:d6:ea:97:e1:0f:8b:08:99:ec:c4:29:
+ 70:33
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- 0A:D7:6D:86:0B:FA:78:67:00:E5:D0:79:80:58:06:4F:A7:D3:DD:B2
+ 8C:06:38:93:D9:14:06:29:DF:CC:CD:71:11:43:37:8E:F0:43:38:1B
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- 58:fc:d6:71:a8:c2:4e:d8:38:17:38:f1:33:9b:96:62:4a:15:
- 6b:f9:63:03:a7:21:b0:2a:75:18:16:fc:86:6d:84:86:a7:81:
- 8c:a7:86:fa:34:74:ed:ef:e4:bd:09:29:00:ea:ae:fd:52:2e:
- 20:b4:fd:93:af:de:fd:b8:b1:a0:4a:d7:01:9b:a1:3f:6d:be:
- 06:cf:c1:52:32:52:cd:23:6c:0b:d1:0c:04:cb:01:b0:e8:d8:
- f9:8d:fd:35:18:16:f0:3b:cb:40:ee:ae:57:af:e8:ce:5c:2c:
- 57:18:c1:bd:29:bf:92:03:14:dd:4f:bd:fd:04:7f:d6:ea:52:
- 5b:6b:4f:1e:a8:a4:b2:ed:42:e6:08:42:c9:b1:c7:fc:d2:34:
- 35:5d:72:32:89:32:cf:84:a5:a1:ac:c0:6f:f9:c3:4e:40:96:
- a8:15:14:0a:a3:42:d6:b1:d8:bb:99:20:f5:7c:c2:cc:09:92:
- a7:33:2c:ed:80:d6:23:32:99:7b:13:d1:a0:67:05:78:35:0d:
- b3:7a:93:80:ea:d7:d2:7c:e4:74:00:03:04:7d:d6:c0:c1:78:
- d1:84:7f:19:b9:ec:9c:d5:81:fc:25:13:16:36:bd:bc:1c:56:
- c9:f8:82:90:ef:21:ea:58:f9:ab:61:a4:cd:fb:f3:a5:07:70:
- 1b:03:71:52
+ 66:b6:b9:b3:22:9f:81:09:92:f2:9f:22:ec:df:47:3c:c5:18:
+ e4:01:83:4f:69:5b:11:88:73:71:a6:ef:25:95:d1:23:e0:4d:
+ 9a:25:bb:d6:ac:a8:88:86:cc:06:6e:a9:c9:47:2c:06:a5:dc:
+ b2:4a:b6:5b:6c:4c:0f:f9:5c:bc:b4:e8:d2:4a:79:d5:27:67:
+ 9f:2c:38:ef:5b:54:b4:bc:13:0e:ba:72:73:54:37:3d:39:fc:
+ e1:17:eb:59:3e:ec:b8:83:56:d1:cb:32:ce:13:01:88:61:70:
+ 8e:f9:ce:97:95:46:38:ba:a1:77:8e:ee:a4:86:a3:30:12:b7:
+ 10:df:7b:74:18:45:3c:57:aa:54:da:e5:c5:c0:b5:7b:4d:5d:
+ c0:c2:e7:0d:d0:f2:ab:36:5b:02:a8:3e:1f:6e:4a:aa:b2:05:
+ 9f:35:aa:d6:26:f1:5f:27:a2:97:6e:9c:56:95:1e:4e:fb:5b:
+ 4b:4f:58:f7:7b:8d:54:1c:e5:d3:4a:78:92:58:f5:a2:5f:98:
+ 63:54:d7:fd:6d:14:5f:49:12:99:d0:32:d5:2a:c0:c6:97:a4:
+ d1:f5:c2:9d:dc:b4:6c:f0:ba:fb:e7:3e:f5:86:61:bb:86:e9:
+ e4:99:0a:ed:ee:dc:fa:84:ea:87:e0:c3:7e:76:e4:17:a3:58:
+ 25:07:82:bf
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBBDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzQyWhcNMTEwMTE0MjI0MzQyWjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAyMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAunCUP03XBAtbYeohjR3CjLXfboWw
-FEG2eU6Qh3iZn2WOeIBjUf2i3jFLw77c1f2yukQy1aliQcx6h+9XISyTFS1olX7B
-zqvn7UVqz5y270agECWn4SHWvb9vmlFPIS9qsb2Jo9/7Nu7WD8HIr/lH3A92pa2z
-NtuiT7/6QWrUtJeBSULW/Y2h55K6/Zn2Qp7oXtvgv5BM6uOB3yIkpDx0BSTDZ3ju
-AAN1mUqu5UyLqUlbFc5KCu653+GKYeCuHpZaFQfpmeARCPiyPo/6Uzvgf1Y0v+I/
-GtjUaU/05QmyPpapmwxv9EbRNxIdsqcWBQwV7IhkoW4OsncvqfPfsQMtAwIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQK122GC/p4ZwDl0HmAWAZPp9PdsjAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAWPzWcajCTtg4FzjxM5uWYkoVa/ljA6chsCp1GBb8hm2EhqeBjKeG+jR07e/k
-vQkpAOqu/VIuILT9k6/e/bixoErXAZuhP22+Bs/BUjJSzSNsC9EMBMsBsOjY+Y39
-NRgW8DvLQO6uV6/ozlwsVxjBvSm/kgMU3U+9/QR/1upSW2tPHqiksu1C5ghCybHH
-/NI0NV1yMokyz4SloazAb/nDTkCWqBUUCqNC1rHYu5kg9XzCzAmSpzMs7YDWIzKZ
-exPRoGcFeDUNs3qTgOrX0nzkdAADBH3WwMF40YR/GbnsnNWB/CUTFja9vBxWyfiC
-kO8h6lj5q2GkzfvzpQdwGwNxUg==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAodfTDCz/vIWD4rI8wlsV/pJ8Cbh7
+3pA5GU1RJhvIvdOfZKtmeS4eLD/YBwnwSTSe997dSme1lryeerxq5BXyRQw9JjIz
+p+X+8Rng4x2GMKjksV9gZVZJGFVM7vILO2TOIrQt1hjh9ZYDUZz0/6gmI86aJ+Uh
+gxazzKdb4W1nLF7hI7tWKR8u5P/CAUO0uVrkbSunMfvuC9uYSXVTN3UdknXV3Ncs
+4ecqxL4V9v9OpDiHy2Z4q026SuCqFRZ0LpvIk5bqv8ZsQFQ527tUTNydU0oAhlvv
+/UpZxh645GkBAzvxOgMK1J8mUGCbiz10Ewdu+c3n1uqX4Q+LCJnsxClwMwIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSMBjiT2RQGKd/MzXERQzeO8EM4GzAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEAZra5syKfgQmS8p8i7N9HPMUY5AGDT2lbEYhzcabvJZXRI+BNmiW71qyoiIbM
+Bm6pyUcsBqXcskq2W2xMD/lcvLTo0kp51Sdnnyw471tUtLwTDrpyc1Q3PTn84Rfr
+WT7suINW0csyzhMBiGFwjvnOl5VGOLqhd47upIajMBK3EN97dBhFPFeqVNrlxcC1
+e01dwMLnDdDyqzZbAqg+H25KqrIFnzWq1ibxXyeil26cVpUeTvtbS09Y93uNVBzl
+00p4klj1ol+YY1TX/W0UX0kSmdAy1SrAxpek0fXCndy0bPC6++c+9YZhu4bp5JkK
+7e7c+oTqh+DDfnbkF6NYJQeCvw==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/newcerts/05.pem b/programs/ssl/test-ca/newcerts/05.pem
new file mode 100644
index 0000000..538cdc4
--- /dev/null
+++ b/programs/ssl/test-ca/newcerts/05.pem
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 5 (0x5)
+ Signature Algorithm: sha224WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:ae:00:73:61:1b:bb:0c:65:6c:d0:9b:f3:86:79:
+ 67:a9:1b:7d:ba:88:de:36:8b:07:ff:91:bf:23:cb:
+ ce:67:c5:1d:5b:6c:8c:a8:6e:46:d4:66:10:2b:01:
+ e3:d6:a7:2a:3a:46:b4:f8:fb:04:16:f2:a9:b2:37:
+ ec:73:78:2e:d8:58:25:b8:26:86:da:8c:5a:f3:28:
+ 20:33:cb:36:93:ba:16:34:a2:b5:96:d8:09:2e:7e:
+ 74:02:17:20:dd:b4:f7:c6:bc:c7:6f:fa:b1:31:93:
+ 9f:74:d4:ab:56:2f:a4:2e:08:1c:94:16:fc:55:ec:
+ 6a:15:3b:61:93:22:d6:5a:e8:4c:9f:5e:2d:6f:b4:
+ 9d:c2:8e:f5:4e:37:1f:66:aa:8d:19:d2:d9:ea:20:
+ 63:48:7c:7e:00:e9:28:ac:40:49:0e:69:b5:06:ed:
+ 44:57:88:44:48:dd:6d:3e:6d:1b:3b:cb:4d:99:ad:
+ 62:4d:6b:d1:8e:94:b3:b5:19:b9:6f:97:ef:f1:fe:
+ 61:1c:eb:5d:ee:55:7f:a0:11:97:85:f7:8f:ef:5d:
+ a2:ba:78:da:3f:a5:3c:01:46:95:d3:b6:98:c9:1c:
+ 49:28:f8:9c:e3:15:1e:b3:71:63:98:a0:32:9b:66:
+ 58:86:f3:62:a4:6c:31:ec:44:03:0a:32:a7:ec:ad:
+ f8:c3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 05:1D:6A:93:67:7B:A3:13:00:85:45:5B:3C:4A:68:CC:E0:88:B1:B3
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha224WithRSAEncryption
+ 76:40:3b:c3:40:ab:66:45:79:9e:ca:85:81:f8:b9:95:34:d3:
+ ff:8e:7c:c9:dc:6a:43:bf:28:da:21:d1:16:04:f3:c8:0b:8d:
+ 87:99:a0:af:3b:3b:d8:f1:cb:1b:c1:ce:b1:6f:d4:27:f3:f4:
+ 60:d5:27:f8:8b:0e:7d:4d:fa:b4:61:1b:23:58:9c:4f:9a:76:
+ 34:d4:2c:0c:fb:8b:a4:66:bb:8e:b4:ba:bd:fe:a4:d2:d3:04:
+ 4f:cc:b8:17:5e:0c:a7:a8:db:d0:7f:c2:82:15:33:28:e7:e8:
+ 5d:64:65:17:94:ba:83:73:2a:31:09:c8:ff:26:60:73:9b:03:
+ 9f:cb:02:62:56:1e:d8:43:c4:ce:52:3b:0f:75:cd:0e:36:43:
+ 01:42:4e:06:1d:a4:ec:f6:e8:98:f2:79:b8:25:22:eb:bc:67:
+ 06:2c:5f:ba:04:06:fe:d2:81:8b:51:e8:05:77:c7:f8:0a:56:
+ cb:d3:cf:e9:9c:7e:ae:06:73:f5:55:f6:ef:d4:b6:bb:48:18:
+ 11:10:09:b1:be:b6:c1:1f:6a:b2:e7:b1:4c:27:a6:9b:56:fb:
+ ec:be:b6:ea:ce:a3:d9:7d:d3:41:d4:6e:3a:4e:60:ae:f2:87:
+ 06:6d:7f:42:a0:af:71:dd:f1:eb:94:b7:c8:cf:f9:f3:51:c7:
+ 3c:70:4c:c0
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBBTANBgkqhkiG9w0BAQ4FADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjI0MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArgBzYRu7DGVs0JvzhnlnqRt9
+uojeNosH/5G/I8vOZ8UdW2yMqG5G1GYQKwHj1qcqOka0+PsEFvKpsjfsc3gu2Fgl
+uCaG2oxa8yggM8s2k7oWNKK1ltgJLn50Ahcg3bT3xrzHb/qxMZOfdNSrVi+kLggc
+lBb8VexqFTthkyLWWuhMn14tb7Sdwo71TjcfZqqNGdLZ6iBjSHx+AOkorEBJDmm1
+Bu1EV4hESN1tPm0bO8tNma1iTWvRjpSztRm5b5fv8f5hHOtd7lV/oBGXhfeP712i
+unjaP6U8AUaV07aYyRxJKPic4xUes3FjmKAym2ZYhvNipGwx7EQDCjKn7K34wwID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQFHWqTZ3ujEwCFRVs8SmjM4Iix
+szAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQ4F
+AAOCAQEAdkA7w0CrZkV5nsqFgfi5lTTT/458ydxqQ78o2iHRFgTzyAuNh5mgrzs7
+2PHLG8HOsW/UJ/P0YNUn+IsOfU36tGEbI1icT5p2NNQsDPuLpGa7jrS6vf6k0tME
+T8y4F14Mp6jb0H/CghUzKOfoXWRlF5S6g3MqMQnI/yZgc5sDn8sCYlYe2EPEzlI7
+D3XNDjZDAUJOBh2k7PbomPJ5uCUi67xnBixfugQG/tKBi1HoBXfH+ApWy9PP6Zx+
+rgZz9VX279S2u0gYERAJsb62wR9qsuexTCemm1b77L626s6j2X3TQdRuOk5grvKH
+Bm1/QqCvcd3x65S3yM/581HHPHBMwA==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/newcerts/06.pem b/programs/ssl/test-ca/newcerts/06.pem
new file mode 100644
index 0000000..df73875
--- /dev/null
+++ b/programs/ssl/test-ca/newcerts/06.pem
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 6 (0x6)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:c2:98:cc:33:36:f4:f5:08:e1:98:b2:dc:8a:41:
+ fd:4c:3f:80:96:f5:65:6f:5d:d4:2a:09:df:36:70:
+ 4e:39:66:5f:9d:40:f9:16:12:c0:61:f0:de:cd:1e:
+ 8e:87:bd:e6:7f:f8:87:e9:34:c4:ee:bf:92:3b:79:
+ 4f:94:68:bd:40:74:fb:11:75:93:10:a4:5c:86:63:
+ 1e:59:58:5d:c9:0b:6b:4d:7f:6e:7b:d7:44:48:89:
+ 5d:99:1e:7f:8f:e2:e9:f8:92:8b:68:3f:f8:bb:e7:
+ f0:74:ae:6a:f6:6e:f5:ea:40:15:b2:d1:ea:f6:37:
+ c9:f4:68:50:d4:20:88:2a:5e:d5:24:8e:30:6b:a9:
+ 8e:ab:c1:c2:51:30:46:68:b0:6b:7b:f9:17:25:07:
+ 3e:20:02:60:27:fb:36:dc:65:1b:bb:7d:46:3f:25:
+ e3:46:ef:bd:f1:5e:1e:7f:1a:59:33:bd:8e:8f:29:
+ 0e:e5:cf:b7:8a:f2:76:49:49:3d:e6:ab:e4:2f:d5:
+ 10:16:fe:72:b5:4b:ba:ef:92:77:38:df:2a:67:bd:
+ 21:2f:cf:57:2c:d0:25:d8:99:9a:48:1b:80:63:2d:
+ 49:c9:8f:e7:c0:ca:18:58:39:f5:be:4e:09:d2:71:
+ 6c:59:6c:e4:bb:e2:68:03:2c:b1:78:5b:9d:cb:98:
+ d9:cf
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 98:F0:55:08:76:0E:DC:A1:77:06:6F:FC:A9:8E:4E:8F:A5:E0:3E:B1
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha256WithRSAEncryption
+ 16:c0:b6:24:4d:95:69:52:6a:97:8a:b3:4f:a7:70:ea:42:e4:
+ f1:19:34:62:9c:a9:c1:fb:47:60:b8:9b:0f:1f:d0:15:a0:a4:
+ 2a:f6:ce:5f:6d:37:3d:e2:3d:7e:32:57:af:99:ef:8f:d3:da:
+ ac:a5:13:7f:c0:8a:b7:de:0c:42:16:68:f8:c9:8a:6b:cd:7f:
+ b8:70:39:2a:10:ef:b4:df:b6:3e:ef:32:ec:99:47:eb:d8:97:
+ 51:a0:ea:09:a6:c9:7a:d1:96:84:67:42:17:db:2b:f9:2a:00:
+ 6b:de:ff:4c:bf:77:19:12:e6:cd:d2:98:7d:81:20:b2:92:89:
+ 87:89:63:13:14:36:94:9c:3d:8e:dc:1b:c2:bd:d5:57:ed:08:
+ 9d:08:ee:55:7c:3d:7d:f6:c3:64:50:5d:97:b1:a0:2f:c6:c9:
+ f8:87:67:62:27:50:fc:f4:9e:15:9f:3f:e9:77:50:de:60:6c:
+ 3e:74:53:8d:f6:28:33:f9:eb:a7:8a:d5:b6:67:30:44:d1:b8:
+ 04:39:7d:42:d6:1e:dd:b8:e3:c2:e8:50:ff:2c:6e:60:f1:f4:
+ 48:0c:30:1d:af:5c:ce:5b:10:06:e7:6b:4e:39:a9:b7:0d:8b:
+ 68:6d:06:39:cf:94:a8:70:21:2f:f1:37:21:98:50:2c:c8:b2:
+ d7:00:84:94
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBBjANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjU2MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwpjMMzb09QjhmLLcikH9TD+A
+lvVlb13UKgnfNnBOOWZfnUD5FhLAYfDezR6Oh73mf/iH6TTE7r+SO3lPlGi9QHT7
+EXWTEKRchmMeWVhdyQtrTX9ue9dESIldmR5/j+Lp+JKLaD/4u+fwdK5q9m716kAV
+stHq9jfJ9GhQ1CCIKl7VJI4wa6mOq8HCUTBGaLBre/kXJQc+IAJgJ/s23GUbu31G
+PyXjRu+98V4efxpZM72OjykO5c+3ivJ2SUk95qvkL9UQFv5ytUu675J3ON8qZ70h
+L89XLNAl2JmaSBuAYy1JyY/nwMoYWDn1vk4J0nFsWWzku+JoAyyxeFudy5jZzwID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSY8FUIdg7coXcGb/ypjk6PpeA+
+sTAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQsF
+AAOCAQEAFsC2JE2VaVJql4qzT6dw6kLk8Rk0YpypwftHYLibDx/QFaCkKvbOX203
+PeI9fjJXr5nvj9ParKUTf8CKt94MQhZo+MmKa81/uHA5KhDvtN+2Pu8y7JlH69iX
+UaDqCabJetGWhGdCF9sr+SoAa97/TL93GRLmzdKYfYEgspKJh4ljExQ2lJw9jtwb
+wr3VV+0InQjuVXw9ffbDZFBdl7GgL8bJ+IdnYidQ/PSeFZ8/6XdQ3mBsPnRTjfYo
+M/nrp4rVtmcwRNG4BDl9QtYe3bjjwuhQ/yxuYPH0SAwwHa9czlsQBudrTjmptw2L
+aG0GOc+UqHAhL/E3IZhQLMiy1wCElA==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/newcerts/07.pem b/programs/ssl/test-ca/newcerts/07.pem
new file mode 100644
index 0000000..59857f3
--- /dev/null
+++ b/programs/ssl/test-ca/newcerts/07.pem
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 7 (0x7)
+ Signature Algorithm: sha384WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:36 2009 GMT
+ Not After : Feb 9 21:12:36 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:ff:62:ef:85:d6:4b:1c:78:d5:aa:95:7f:5b:2c:
+ 8b:ec:93:47:f8:cb:25:95:77:c0:64:bf:11:91:30:
+ 4c:21:44:3e:1e:05:5d:8c:cc:ea:4f:0b:6d:2e:34:
+ f5:11:01:6b:37:d5:65:98:a5:a6:60:29:f5:eb:df:
+ 29:92:e9:61:41:65:6b:18:cd:48:a8:ef:5d:0b:21:
+ de:5b:ff:89:74:bb:69:e2:60:1f:c0:e3:21:2f:f9:
+ 91:c4:6e:2a:f4:f1:d1:b4:c2:cc:51:73:3b:2c:47:
+ 40:04:89:90:03:27:98:08:8b:dc:fe:91:f9:12:59:
+ 5a:5b:b6:31:25:59:50:ea:b8:cd:b3:e1:c2:f4:14:
+ 5f:47:49:01:e2:63:d6:17:00:68:4a:7b:16:84:73:
+ 22:61:bf:59:60:03:8c:40:e6:cf:6e:1e:50:eb:ae:
+ d9:e5:ed:f7:31:41:72:6c:33:67:99:81:a1:09:89:
+ 3e:69:c8:cf:b8:67:48:ca:31:22:52:4f:64:cb:23:
+ b4:84:8a:82:a3:10:6d:c3:09:29:69:29:ee:9e:fe:
+ e5:2d:5f:71:5c:80:bf:b3:91:25:27:8a:5e:95:18:
+ 50:d2:3e:f1:3c:15:3b:0c:11:a1:c0:cf:3b:08:75:
+ 5c:e0:ba:68:db:76:73:0d:8e:af:55:49:e4:27:5b:
+ 9d:65
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 3A:69:55:A1:E7:5F:50:E0:CC:72:E3:DF:FF:C2:E5:67:C7:FF:9B:48
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha384WithRSAEncryption
+ a7:3a:b2:73:3b:a1:60:66:a6:72:5c:ce:2c:73:22:7a:4e:6b:
+ ba:52:28:0e:46:5f:3f:fa:c1:64:91:02:ab:57:30:32:80:e4:
+ 3f:70:42:e0:53:21:b0:93:7b:b6:f1:62:aa:da:35:8e:65:b7:
+ 2f:ca:54:8f:91:9c:fe:a9:6c:7c:ad:ec:21:ab:7f:54:c0:b1:
+ 0c:66:87:9b:d2:29:6b:95:15:dd:57:c7:b2:df:ac:73:5b:40:
+ 66:2d:71:ac:26:36:90:15:94:c0:4a:56:9b:06:e9:a6:cb:52:
+ 25:d6:fa:8e:d2:52:bf:90:f7:42:f6:69:03:cc:0c:d2:8e:c2:
+ 20:d3:f9:d0:e3:c5:76:d6:37:e2:02:6f:47:79:36:58:5c:ec:
+ 2d:74:5b:1d:12:d1:12:e0:07:47:92:c5:b5:44:da:6e:43:6a:
+ 2c:e1:cc:3c:b9:98:59:41:26:06:17:63:20:9a:64:77:0a:22:
+ 4b:5d:4e:14:89:d0:b0:4c:d2:fe:de:45:97:e9:42:e9:62:f3:
+ 2a:ba:a8:67:80:c6:13:17:e3:55:2b:cc:e7:da:b8:12:98:ec:
+ f3:25:c4:f7:d2:bb:8a:c6:e6:a2:fd:9a:d2:46:d3:f9:d4:6c:
+ 3a:11:29:59:fe:f6:96:d0:1c:86:cb:53:35:76:b6:7b:dc:c3:
+ 62:2f:84:77
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBBzANBgkqhkiG9w0BAQwFADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM2WhcNMTEwMjA5MjExMjM2WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMzg0MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/2LvhdZLHHjVqpV/WyyL7JNH
++MsllXfAZL8RkTBMIUQ+HgVdjMzqTwttLjT1EQFrN9VlmKWmYCn1698pkulhQWVr
+GM1IqO9dCyHeW/+JdLtp4mAfwOMhL/mRxG4q9PHRtMLMUXM7LEdABImQAyeYCIvc
+/pH5EllaW7YxJVlQ6rjNs+HC9BRfR0kB4mPWFwBoSnsWhHMiYb9ZYAOMQObPbh5Q
+667Z5e33MUFybDNnmYGhCYk+acjPuGdIyjEiUk9kyyO0hIqCoxBtwwkpaSnunv7l
+LV9xXIC/s5ElJ4pelRhQ0j7xPBU7DBGhwM87CHVc4Lpo23ZzDY6vVUnkJ1udZQID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQ6aVWh519Q4Mxy49//wuVnx/+b
+SDAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQwF
+AAOCAQEApzqyczuhYGamclzOLHMiek5rulIoDkZfP/rBZJECq1cwMoDkP3BC4FMh
+sJN7tvFiqto1jmW3L8pUj5Gc/qlsfK3sIat/VMCxDGaHm9Ipa5UV3VfHst+sc1tA
+Zi1xrCY2kBWUwEpWmwbppstSJdb6jtJSv5D3QvZpA8wM0o7CINP50OPFdtY34gJv
+R3k2WFzsLXRbHRLREuAHR5LFtUTabkNqLOHMPLmYWUEmBhdjIJpkdwoiS11OFInQ
+sEzS/t5Fl+lC6WLzKrqoZ4DGExfjVSvM59q4Epjs8yXE99K7isbmov2a0kbT+dRs
+OhEpWf72ltAchstTNXa2e9zDYi+Edw==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/newcerts/08.pem b/programs/ssl/test-ca/newcerts/08.pem
new file mode 100644
index 0000000..6f47798
--- /dev/null
+++ b/programs/ssl/test-ca/newcerts/08.pem
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 8 (0x8)
+ Signature Algorithm: sha512WithRSAEncryption
+ Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
+ Validity
+ Not Before: Feb 9 21:12:36 2009 GMT
+ Not After : Feb 9 21:12:36 2011 GMT
+ Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:93:26:13:f4:89:9e:ef:75:e0:1b:11:cf:68:a8:
+ 19:f3:b0:4c:cf:41:e5:72:b0:6b:7e:ba:f2:83:8f:
+ 87:0c:34:4e:06:08:19:99:7b:f9:34:4f:58:89:11:
+ 7a:a6:84:a7:49:7d:30:d2:9d:93:3c:2e:00:84:e0:
+ 34:0c:6e:54:38:3b:0e:74:f9:79:6f:a2:ff:44:fa:
+ 60:0d:f5:22:5a:b8:37:72:75:58:2a:2c:10:8b:42:
+ a8:88:99:77:79:db:7e:fa:bf:95:b9:b6:06:42:2b:
+ a8:a6:90:2f:f8:e6:0c:f5:59:4b:50:1f:91:56:92:
+ e0:b0:5c:c6:87:94:78:a3:85:91:ba:51:89:bd:49:
+ 91:f7:02:6a:d6:d5:8a:63:c0:37:43:96:b2:6b:11:
+ d1:50:c6:de:1f:4a:c4:2b:f0:af:67:3c:62:43:57:
+ 42:83:ce:31:18:95:60:23:80:8b:27:24:33:00:2a:
+ 3f:ef:4a:b9:57:b4:81:2a:07:86:cd:8d:ce:57:71:
+ 67:b5:7d:60:41:8e:2f:91:10:ad:42:5b:76:b8:66:
+ 2f:c5:b4:62:0a:26:e8:ec:48:5e:fa:32:88:a6:52:
+ f5:9a:65:6c:18:59:2e:dc:79:7c:e0:22:b2:cc:f9:
+ 98:b3:2c:df:b6:74:5d:2a:12:21:c7:0b:1d:5e:91:
+ 84:df
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 7D:3F:1C:F1:A5:A0:D8:77:06:FE:75:D2:72:97:6C:3A:FF:3A:26:10
+ X509v3 Authority Key Identifier:
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
+
+ Signature Algorithm: sha512WithRSAEncryption
+ 2f:f2:12:80:1a:4f:0c:e6:f9:a6:a3:3c:8e:d2:51:f0:f7:b2:
+ 47:6d:e9:55:5a:39:e8:95:fc:c0:37:a6:f9:a2:b4:37:7a:51:
+ 23:06:ef:51:90:6e:d9:1c:14:33:7d:a8:9c:64:08:70:70:b4:
+ eb:a6:84:64:2c:85:00:92:20:94:83:bc:0a:fa:5d:d0:b0:1b:
+ c0:1a:92:0d:b6:15:dd:dd:79:de:ea:25:f5:0f:7e:ea:37:dc:
+ ab:43:48:6c:ad:a4:bc:a7:f6:bf:16:74:de:7d:78:44:b0:d3:
+ 68:60:a0:48:2a:e6:f2:aa:6e:26:e0:a0:40:e9:08:9c:71:e7:
+ f7:d5:b2:d8:20:25:79:0c:e4:3b:05:57:82:ae:87:80:15:47:
+ f9:0e:fa:10:c4:a0:6c:a7:cc:41:c4:5f:e5:1d:c7:10:94:db:
+ d9:19:c6:8e:3a:88:dd:22:95:4d:c3:0f:fe:a6:a8:5e:f1:80:
+ a4:a5:d6:ee:d4:25:7f:94:8f:b1:b8:ff:2b:84:b9:8a:a0:73:
+ 02:67:1c:d9:7f:47:d8:f1:82:5c:c9:19:13:c8:fb:d0:32:06:
+ 2f:3f:6f:cc:08:7c:2e:94:71:05:5c:5a:ca:b0:29:01:ad:d6:
+ 99:c1:6c:84:f2:84:3d:c6:0b:85:76:47:19:42:2c:c8:48:e3:
+ 60:30:e9:6d
+-----BEGIN CERTIFICATE-----
+MIIDQjCCAiqgAwIBAgIBCDANBgkqhkiG9w0BAQ0FADA7MQswCQYDVQQGEwJOTDER
+MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
+MDkwMjA5MjExMjM2WhcNMTEwMjA5MjExMjM2WjA/MQswCQYDVQQGEwJOTDERMA8G
+A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBNTEyMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkyYT9Ime73XgGxHPaKgZ87BM
+z0HlcrBrfrryg4+HDDROBggZmXv5NE9YiRF6poSnSX0w0p2TPC4AhOA0DG5UODsO
+dPl5b6L/RPpgDfUiWrg3cnVYKiwQi0KoiJl3edt++r+VubYGQiuoppAv+OYM9VlL
+UB+RVpLgsFzGh5R4o4WRulGJvUmR9wJq1tWKY8A3Q5ayaxHRUMbeH0rEK/CvZzxi
+Q1dCg84xGJVgI4CLJyQzACo/70q5V7SBKgeGzY3OV3FntX1gQY4vkRCtQlt2uGYv
+xbRiCibo7Ehe+jKIplL1mmVsGFku3Hl84CKyzPmYsyzftnRdKhIhxwsdXpGE3wID
+AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR9PxzxpaDYdwb+ddJyl2w6/zom
+EDAfBgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQ0F
+AAOCAQEAL/ISgBpPDOb5pqM8jtJR8PeyR23pVVo56JX8wDem+aK0N3pRIwbvUZBu
+2RwUM32onGQIcHC066aEZCyFAJIglIO8Cvpd0LAbwBqSDbYV3d153uol9Q9+6jfc
+q0NIbK2kvKf2vxZ03n14RLDTaGCgSCrm8qpuJuCgQOkInHHn99Wy2CAleQzkOwVX
+gq6HgBVH+Q76EMSgbKfMQcRf5R3HEJTb2RnGjjqI3SKVTcMP/qaoXvGApKXW7tQl
+f5SPsbj/K4S5iqBzAmcc2X9H2PGCXMkZE8j70DIGLz9vzAh8LpRxBVxayrApAa3W
+mcFshPKEPcYLhXZHGUIsyEjjYDDpbQ==
+-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/serial b/programs/ssl/test-ca/serial
index eeee65e..86397e5 100644
--- a/programs/ssl/test-ca/serial
+++ b/programs/ssl/test-ca/serial
@@ -1 +1 @@
-05
+09
diff --git a/programs/ssl/test-ca/server1.crt b/programs/ssl/test-ca/server1.crt
index 730b82f..05e1581 100644
--- a/programs/ssl/test-ca/server1.crt
+++ b/programs/ssl/test-ca/server1.crt
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:35 2009 GMT
- Not After : Jan 14 22:43:35 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Server 1
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:ad:68:ba:12:67:43:a7:11:2c:e0:d8:d7:a1:9b:
- 89:af:a7:a3:92:2f:20:57:e9:bc:ae:89:f8:7c:86:
- 00:48:08:cb:0b:b6:fc:d0:08:e7:fb:14:67:e4:2b:
- 68:b2:0e:7e:01:d0:01:f7:22:2a:43:67:48:2b:88:
- 5c:af:8c:1a:d2:4d:cf:18:c2:3e:e1:15:22:bc:d4:
- b1:7c:7c:b8:73:f3:ca:11:d2:3d:df:7d:c4:bd:fb:
- f2:fd:bb:e6:4e:ce:8d:c4:1b:c2:2a:e0:44:17:be:
- 35:3e:25:db:d8:b0:98:9e:1d:68:38:fe:99:2a:5f:
- 2b:e7:d0:52:4a:bf:f7:ed:6d:b3:14:b5:4f:c5:05:
- f3:06:2e:2f:b1:2b:9b:c7:fa:c7:4d:a6:16:60:f7:
- b2:e7:be:9a:b0:db:8d:eb:38:7a:2e:e1:26:25:36:
- 08:9a:d9:7b:60:76:c4:7d:34:b3:b4:7e:ea:0b:a3:
- 5d:5d:e1:12:88:d8:82:a1:25:25:44:de:11:48:46:
- a4:ab:13:df:e3:88:b0:b1:84:77:ce:0d:00:48:bb:
- aa:46:0b:13:08:9e:51:69:dc:ad:e6:c5:9b:97:d1:
- 2c:5a:c4:06:fe:c0:4f:e2:7a:82:ac:3e:a7:0d:6a:
- 54:0c:46:80:a4:c7:e9:29:a4:f3:cd:93:d3:e0:b4:
- 38:15
+ 00:ae:92:63:59:74:68:a4:aa:89:50:42:f2:e7:27:
+ 09:2c:a5:86:99:09:28:52:5d:6e:32:f5:93:18:35:
+ 0e:2b:28:6d:11:20:49:f2:21:0d:d6:fc:e6:dc:de:
+ 40:93:7b:29:ee:4b:4c:28:4f:e4:8c:38:12:de:10:
+ 69:f7:ba:40:e8:74:80:a6:19:36:63:e0:37:93:39:
+ f6:00:8e:3c:5a:fd:dc:8e:50:c1:41:7c:bf:ff:c9:
+ bb:e2:ad:7c:8d:b1:a4:1a:8b:3e:1f:1a:28:9b:e6:
+ 93:4b:74:c3:e9:ab:2c:c8:93:cf:f6:02:a1:c9:4b:
+ 9e:f9:f6:fa:a6:95:98:6c:32:85:c0:f4:e7:b0:ec:
+ 50:af:17:52:49:21:80:9f:0d:c8:37:73:74:42:3e:
+ 06:7f:29:29:1d:6a:9a:71:0f:70:ea:c8:49:0d:d7:
+ 3b:7e:c2:ed:9b:33:dd:64:e9:8f:df:85:81:c3:b1:
+ c5:50:b6:55:2c:c8:88:ed:fd:c4:cf:14:4f:49:d8:
+ 76:5c:1d:95:ef:34:e8:d7:74:aa:1e:d2:ff:1d:19:
+ 27:19:de:af:b5:7a:71:c3:fb:38:11:ca:da:78:2c:
+ 9b:32:3e:5f:31:eb:c9:6e:43:eb:3d:a5:c1:36:e2:
+ 86:49:1c:68:d7:5b:f1:01:d0:29:16:d0:3a:44:36:
+ 5c:77
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- D4:F8:74:59:8B:5F:AE:67:1C:33:7B:4B:F2:D4:EF:82:6A:E6:21:08
+ 81:10:4A:56:11:3A:A2:FD:28:DE:80:54:BC:21:6E:64:28:6F:E7:05
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- 82:5b:53:0c:3c:00:13:cd:05:af:be:47:aa:b1:4a:f4:00:da:
- d3:95:91:ef:97:6a:a8:c4:01:b9:33:6f:9f:d7:7f:6e:32:d6:
- 64:2d:49:d7:fd:d9:98:c2:7b:81:2d:2e:0a:a4:49:69:97:ea:
- 6e:3b:65:f4:5a:9e:a8:e0:b6:51:53:37:b9:d2:e3:07:8b:5d:
- 03:7c:4a:a8:75:c9:2f:c3:e7:78:bf:00:78:a2:64:b9:59:ee:
- 9c:0d:36:c7:f8:1a:66:91:c7:c9:50:c1:9a:8d:f3:59:9e:38:
- 35:6b:81:9f:74:28:37:47:29:c4:24:dc:64:3e:0a:51:17:26:
- e9:3e:01:0a:8e:9c:15:a0:8d:5c:82:3d:11:f6:3a:20:d7:30:
- f8:ed:7b:24:54:4a:8a:93:57:9d:6f:bc:d0:28:f3:86:7c:9e:
- 28:b5:95:2d:96:59:35:b2:9b:ae:5b:a6:4b:ad:52:e0:8a:04:
- f4:5f:11:ed:14:1e:66:83:77:80:c3:d7:9d:fe:93:35:16:0a:
- d1:9e:12:28:10:35:f4:b9:6b:7c:00:fe:7f:4c:80:c8:f6:e0:
- 95:92:8c:7d:5f:5c:a2:33:76:c9:32:3a:3d:87:68:30:e9:ff:
- ca:42:ff:a5:c0:df:24:c1:40:78:65:8c:fa:70:4b:f7:79:aa:
- 9b:61:70:f5
+ 64:48:d7:f4:06:42:fd:9b:7d:f4:c3:81:26:ff:1d:c3:f9:0b:
+ dc:be:5d:78:45:e5:48:1a:f7:07:cb:35:2b:7f:b6:50:22:cf:
+ a6:24:f5:e3:a5:5d:a7:d0:55:d3:c1:f4:a9:6e:f2:4c:f7:2b:
+ 02:0f:d0:c8:62:82:93:a6:86:07:f3:fb:14:c8:db:f2:df:fb:
+ 06:2c:7f:ad:39:89:78:ed:cb:b6:70:0d:7a:b8:ba:48:ae:13:
+ 46:b0:e0:7b:e8:fc:31:eb:4e:97:2b:96:bf:6b:7b:ae:f2:3e:
+ 9f:f9:c2:96:59:49:f3:90:34:15:e3:2e:cb:38:9c:33:a3:4a:
+ 4e:00:9e:97:7d:3d:2e:d7:1f:23:4b:5e:db:62:a5:3c:ca:4e:
+ b7:a6:83:79:24:9c:ce:08:e4:8b:e7:9a:b1:ca:9f:03:9c:a8:
+ 6c:81:4e:5b:fb:53:19:a1:9f:b5:07:64:85:57:01:2c:95:3c:
+ 3c:7e:87:0d:43:c6:08:d5:26:7a:5b:d3:2b:bb:0e:92:fc:be:
+ 85:88:16:c8:98:2d:75:23:9d:95:c5:4a:a5:95:be:77:81:cd:
+ 46:14:cc:96:2f:90:2a:84:04:51:80:d1:e3:39:5f:de:d4:c2:
+ 2c:bd:a7:23:3a:8d:b3:83:73:62:b0:7b:92:14:53:a1:e3:c4:
+ 3c:68:cc:ab
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzM1WhcNMTEwMTE0MjI0MzM1WjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIFNlcnZlciAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArWi6EmdDpxEs4NjXoZuJr6ejki8g
-V+m8ron4fIYASAjLC7b80Ajn+xRn5Ctosg5+AdAB9yIqQ2dIK4hcr4wa0k3PGMI+
-4RUivNSxfHy4c/PKEdI9333Evfvy/bvmTs6NxBvCKuBEF741PiXb2LCYnh1oOP6Z
-Kl8r59BSSr/37W2zFLVPxQXzBi4vsSubx/rHTaYWYPey576asNuN6zh6LuEmJTYI
-mtl7YHbEfTSztH7qC6NdXeESiNiCoSUlRN4RSEakqxPf44iwsYR3zg0ASLuqRgsT
-CJ5Radyt5sWbl9EsWsQG/sBP4nqCrD6nDWpUDEaApMfpKaTzzZPT4LQ4FQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTU+HRZi1+uZxwze0vy1O+CauYhCDAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAgltTDDwAE80Fr75HqrFK9ADa05WR75dqqMQBuTNvn9d/bjLWZC1J1/3ZmMJ7
-gS0uCqRJaZfqbjtl9FqeqOC2UVM3udLjB4tdA3xKqHXJL8PneL8AeKJkuVnunA02
-x/gaZpHHyVDBmo3zWZ44NWuBn3QoN0cpxCTcZD4KURcm6T4BCo6cFaCNXII9EfY6
-INcw+O17JFRKipNXnW+80CjzhnyeKLWVLZZZNbKbrlumS61S4IoE9F8R7RQeZoN3
-gMPXnf6TNRYK0Z4SKBA19LlrfAD+f0yAyPbglZKMfV9cojN2yTI6PYdoMOn/ykL/
-pcDfJMFAeGWM+nBL93mqm2Fw9Q==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArpJjWXRopKqJUELy5ycJLKWGmQko
+Ul1uMvWTGDUOKyhtESBJ8iEN1vzm3N5Ak3sp7ktMKE/kjDgS3hBp97pA6HSAphk2
+Y+A3kzn2AI48Wv3cjlDBQXy//8m74q18jbGkGos+Hxoom+aTS3TD6assyJPP9gKh
+yUue+fb6ppWYbDKFwPTnsOxQrxdSSSGAnw3IN3N0Qj4GfykpHWqacQ9w6shJDdc7
+fsLtmzPdZOmP34WBw7HFULZVLMiI7f3EzxRPSdh2XB2V7zTo13SqHtL/HRknGd6v
+tXpxw/s4EcraeCybMj5fMevJbkPrPaXBNuKGSRxo11vxAdApFtA6RDZcdwIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSBEEpWETqi/SjegFS8IW5kKG/nBTAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEAZEjX9AZC/Zt99MOBJv8dw/kL3L5deEXlSBr3B8s1K3+2UCLPpiT146Vdp9BV
+08H0qW7yTPcrAg/QyGKCk6aGB/P7FMjb8t/7Bix/rTmJeO3LtnANeri6SK4TRrDg
+e+j8MetOlyuWv2t7rvI+n/nClllJ85A0FeMuyzicM6NKTgCel309LtcfI0te22Kl
+PMpOt6aDeSSczgjki+eascqfA5yobIFOW/tTGaGftQdkhVcBLJU8PH6HDUPGCNUm
+elvTK7sOkvy+hYgWyJgtdSOdlcVKpZW+d4HNRhTMli+QKoQEUYDR4zlf3tTCLL2n
+IzqNs4NzYrB7khRToePEPGjMqw==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/server1.key b/programs/ssl/test-ca/server1.key
index 5017098..ce39ef3 100644
--- a/programs/ssl/test-ca/server1.key
+++ b/programs/ssl/test-ca/server1.key
@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEArWi6EmdDpxEs4NjXoZuJr6ejki8gV+m8ron4fIYASAjLC7b8
-0Ajn+xRn5Ctosg5+AdAB9yIqQ2dIK4hcr4wa0k3PGMI+4RUivNSxfHy4c/PKEdI9
-333Evfvy/bvmTs6NxBvCKuBEF741PiXb2LCYnh1oOP6ZKl8r59BSSr/37W2zFLVP
-xQXzBi4vsSubx/rHTaYWYPey576asNuN6zh6LuEmJTYImtl7YHbEfTSztH7qC6Nd
-XeESiNiCoSUlRN4RSEakqxPf44iwsYR3zg0ASLuqRgsTCJ5Radyt5sWbl9EsWsQG
-/sBP4nqCrD6nDWpUDEaApMfpKaTzzZPT4LQ4FQIDAQABAoIBAC6xh4ETG01uO4Zj
-/VQ/3IhW/J2NYQkrICpjbmyhbIv5CiuiX1rpOwYJzZvL8IoZiuaUCyNvqK+zrORD
-+Kkwcbx1RTGmhGX5Wfw8zXn233ghiiTYVt7KL+L0Z87Y/L/1sIjA7Ly83LkD97Q/
-X35utvnEc179d2LIc7sdBjuoi2r78IY5lbXUgBgTJBJuo9VGZWpsLJQ5AW0q06kk
-IVQ2zsbh+JPg4wYqbuyY0bkcjRMdoJlprm8QpQ3C77/DROorprSus/xbhxu3Aklf
-oSgfcvD+iscJvtUHVuzf4MLx36KR8H1WzoobDh6dPKG/lWJOisHx2vfkdIpbh1D2
-MlYUIFUCgYEA1NZdcLaxjptY6/NM7R+LpsEELaOzuGDNOuJnZbU6GhCIH6FpOs/A
-oNav3LCOni1O3fIgJ+uFxf6KtgnMfujOM7dL+NouD1Ny7x7OICg3d/LErxoVNlo2
-A70XsQhUgHUEi++MOIoAXIaJFs3KwjKSKtoSXpuAaa20fd/eZaZk3y8CgYEA0JNo
-tuykWrfuzw5MnDxTpDNOWbY8XiCyJFgJ2FT6XypkWThFdSgUGBqwMqP7gu2UlTsm
-R+6TlVQ8ze4gDKAl9gUSC9l+JJjCH/os5ed7k1NRSeuWJguGB0GVDGEQyZoM+kE+
-6qEeAkbfxxKoxN6ASvXvEVe5t7NLwZLuySqXq/sCgYEAksmxMf5eINtVDY4EPPnn
-p78w8YUYew4QHQ9ufj/p7XX/W8lHuO71jDfknBEMm1zmKr5FnSKbZT0zT28coV5Q
-cGx3Mg7Pe3RzLSWSxazW7Jv7OESF4rF+1T9Bqq/zD5Ek7JnunEPZEfcbbyXJM/wK
-wREbYDJg8wGBHNscGAEVSrMCgYEAva2AafH0WSex/gxj8SUPb2DVHNKUPYmAV3rU
-oS5ObmLv1Q9OYweqlm0W1Ua5QEzsdXXQD1RQVFnB3ghyjujI/N2JlssYYxGkYE4z
-rHQBtm3rm8ypxDlwjoK+l/5htOTqbl8NZ3RUBQANG03FuxsZEpJq8ZuUohFkkEod
-60VXnycCgYEAqs44uD1RjUHiuVptcg4C47F+ReyJDR3dTYWDN9VihuqX5mIDMpgx
-vgvQwRqAovW3RTU51O6/kI0u/ygGGr39Tx/TF1wPOpYXBvF7VLsNCPd1fa8J8n1F
-HeY2Y7oleIjF6IFKDc5BWzJUs7xqkqY3rOdbQp/QBMYuiXSAnI1sv4Q=
+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
-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/server2.crt b/programs/ssl/test-ca/server2.crt
index e805480..e696a87 100644
--- a/programs/ssl/test-ca/server2.crt
+++ b/programs/ssl/test-ca/server2.crt
@@ -5,73 +5,73 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:38 2009 GMT
- Not After : Jan 14 22:43:38 2011 GMT
+ Not Before: Feb 9 21:12:35 2009 GMT
+ Not After : Feb 9 21:12:35 2011 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Server 2
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:a7:d3:64:9c:a0:6f:f1:55:e4:b7:a1:b9:4f:5a:
- 4a:00:dd:8e:6c:fd:c5:e9:48:df:13:6a:e0:1d:39:
- c4:77:36:dd:2e:91:fc:d2:64:3a:c8:ff:81:f8:3c:
- 77:29:3a:0b:be:6e:ba:22:50:b1:d7:56:34:67:4e:
- b0:67:17:22:e3:3a:9a:87:23:51:9a:dd:0e:a8:7d:
- 4a:d0:16:a7:3e:c0:1e:50:13:99:c4:e7:73:6d:52:
- 92:90:0e:a1:a9:9f:0b:58:87:8c:fe:56:ae:b8:5c:
- 24:8c:df:f6:1f:92:dd:c0:ac:22:7e:77:47:e3:a7:
- 73:f5:2b:37:0d:3b:d4:0a:26:6c:3e:ae:d3:1a:f3:
- 2a:22:4a:cf:2e:c5:cd:b5:f9:99:c8:d4:80:1e:11:
- a3:90:ed:d9:8d:e9:8c:fc:a5:9f:09:9d:51:9d:a7:
- b2:a7:b0:a5:db:0d:c5:d0:ef:13:a2:a2:5d:08:aa:
- 2c:ab:5d:f6:ab:20:ff:83:cb:57:07:8c:d0:34:6a:
- f8:6a:55:fa:e5:db:43:a1:9f:1f:c4:46:e4:e9:6f:
- 51:14:35:e7:4b:e9:04:48:d7:fe:a7:4f:7e:a3:a4:
- 6d:d2:6f:8b:ad:46:ed:31:a4:66:63:48:08:8d:9b:
- 0d:9a:a3:f5:95:7c:0f:bc:3b:59:3f:70:3a:a6:13:
- 62:83
+ 00:b0:19:1d:43:4a:e1:f1:67:80:7b:44:3f:25:b9:
+ 10:f0:f1:ac:af:59:fb:5c:e3:e7:32:49:f3:b7:a0:
+ c1:90:27:83:04:2c:0b:1b:f8:3d:1e:d8:c2:40:67:
+ 7a:4a:c0:cd:ab:51:77:34:ee:ae:ac:09:6b:7a:cb:
+ 20:23:b3:44:b1:7e:78:a0:95:50:59:36:97:04:57:
+ 9a:76:65:e0:08:7a:09:5e:61:16:59:c2:35:eb:e0:
+ a1:fd:92:f5:d5:76:c3:57:f3:64:19:25:ff:a9:e3:
+ 48:5a:c9:b7:ad:77:c5:81:24:2d:c7:99:d5:a5:15:
+ 12:67:69:00:2a:cd:4e:4f:46:40:51:78:36:b5:26:
+ 15:9c:73:9c:dc:bd:f9:fe:ac:62:dc:0a:c8:a0:9e:
+ aa:06:e9:e5:94:c2:bd:2f:46:d4:54:08:d7:d6:98:
+ 69:1f:de:63:fc:09:70:f2:99:c8:63:27:f7:00:96:
+ 1e:ad:c3:ee:ce:80:e8:75:ce:50:6b:6c:49:c8:c4:
+ 92:04:a0:25:7c:19:6e:d6:e0:43:45:2a:d7:2a:44:
+ 4a:03:b9:72:17:a4:c7:01:b9:4e:88:8c:82:63:0f:
+ bb:c2:89:98:86:8e:6d:d5:5e:bb:0b:bf:8c:d0:6f:
+ 97:15:39:fe:11:c9:cb:de:c5:5b:2c:47:65:07:20:
+ b6:cf
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
- 35:93:04:00:81:D2:5B:CC:11:9E:9A:22:35:EC:CB:D2:45:DA:FC:26
+ 92:0C:8B:3F:E9:D3:EE:6F:08:23:62:0B:D1:68:FD:AC:A6:11:8F:5F
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
Signature Algorithm: sha1WithRSAEncryption
- ab:f2:56:8b:7d:60:7c:ec:1d:36:f0:ff:30:ef:a2:b0:b1:e3:
- ec:b0:41:8c:46:78:dc:4c:6d:7c:1f:ff:54:97:8e:d4:33:ef:
- e5:28:b3:2d:46:f5:08:b5:4a:cd:02:4c:8a:7a:1a:86:13:72:
- 50:18:bb:6b:2d:13:7e:95:98:59:20:38:75:ba:ad:46:1c:74:
- 85:1d:16:7d:43:0f:50:ca:14:4e:3d:c9:ab:4a:4c:1d:5b:85:
- 19:90:ae:f1:ad:20:88:16:f1:6f:9b:20:0e:76:58:2a:f4:55:
- 89:5b:b2:1a:6a:10:ef:dd:d3:98:93:22:c4:1f:d9:30:76:14:
- 03:6b:eb:e8:d2:dd:25:7a:1b:0f:87:64:34:d6:24:90:d9:93:
- 39:eb:be:04:d5:ad:e9:29:96:7c:82:b8:fd:16:e7:8f:50:c5:
- 1c:21:c7:81:67:aa:28:93:1b:32:f7:e4:f8:5b:95:d5:c6:60:
- e8:a1:1f:20:7e:a6:d7:73:6e:4e:f8:94:0f:0b:c9:88:66:c8:
- 31:91:89:0a:8e:fc:2b:70:ce:cf:de:6f:60:2b:e8:32:47:3d:
- d1:44:d9:dc:13:58:8a:dd:a1:53:31:e3:de:e9:2f:dd:35:8f:
- 73:5c:2e:1f:59:af:4c:97:89:11:e8:d5:20:f8:22:3f:07:43:
- ca:7d:2d:bd
+ 0d:22:8f:f2:f6:17:f7:bb:d8:8e:9d:96:58:37:3d:81:ce:ef:
+ bc:ae:e1:8e:70:3a:13:9b:c4:1f:22:8e:6a:90:39:a8:ba:7b:
+ 53:ff:94:2f:ed:96:4d:56:d7:d7:b6:28:b2:d4:38:90:be:87:
+ be:09:22:2b:32:6f:b8:fa:59:c3:fa:c3:8c:d7:85:55:bc:09:
+ b1:e6:d3:a7:b2:9f:79:45:5c:2a:d9:b3:34:0f:91:e1:ea:cd:
+ 30:a0:94:72:c2:02:35:0e:00:6a:0d:3f:46:8c:ca:30:6e:11:
+ d4:a3:85:f2:5b:d7:e0:0b:07:65:77:b6:56:46:7e:0a:a2:5d:
+ 1c:6a:43:b7:60:c5:99:86:ae:8a:ca:cd:ba:7a:2e:5b:79:fb:
+ 8b:86:7c:ad:eb:66:33:08:4c:c7:f7:86:5e:70:4c:fa:9a:3e:
+ 4a:53:72:cb:43:03:9c:f6:f7:c9:be:d0:33:81:00:aa:1a:5b:
+ 5c:71:3a:3b:7a:20:d4:2f:89:97:79:92:29:14:0b:ec:65:ba:
+ fb:aa:5a:65:a7:e5:3a:3d:bc:45:61:3f:0d:54:36:27:2c:0e:
+ fb:a8:8a:a2:41:96:b1:07:b6:be:0b:8b:08:47:42:a7:5f:00:
+ c2:13:a4:01:10:c6:96:23:13:4e:66:49:16:10:23:1e:9d:1b:
+ c0:5e:55:6b
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIBAjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzM4WhcNMTEwMTE0MjI0MzM4WjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIFNlcnZlciAyMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp9NknKBv8VXkt6G5T1pKAN2ObP3F
-6UjfE2rgHTnEdzbdLpH80mQ6yP+B+Dx3KToLvm66IlCx11Y0Z06wZxci4zqahyNR
-mt0OqH1K0BanPsAeUBOZxOdzbVKSkA6hqZ8LWIeM/lauuFwkjN/2H5LdwKwifndH
-46dz9Ss3DTvUCiZsPq7TGvMqIkrPLsXNtfmZyNSAHhGjkO3ZjemM/KWfCZ1Rnaey
-p7Cl2w3F0O8ToqJdCKosq132qyD/g8tXB4zQNGr4alX65dtDoZ8fxEbk6W9RFDXn
-S+kESNf+p09+o6Rt0m+LrUbtMaRmY0gIjZsNmqP1lXwPvDtZP3A6phNigwIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQ1kwQAgdJbzBGemiI17MvSRdr8JjAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAq/JWi31gfOwdNvD/MO+isLHj7LBBjEZ43ExtfB//VJeO1DPv5SizLUb1CLVK
-zQJMinoahhNyUBi7ay0TfpWYWSA4dbqtRhx0hR0WfUMPUMoUTj3Jq0pMHVuFGZCu
-8a0giBbxb5sgDnZYKvRViVuyGmoQ793TmJMixB/ZMHYUA2vr6NLdJXobD4dkNNYk
-kNmTOeu+BNWt6SmWfIK4/Rbnj1DFHCHHgWeqKJMbMvfk+FuV1cZg6KEfIH6m13Nu
-TviUDwvJiGbIMZGJCo78K3DOz95vYCvoMkc90UTZ3BNYit2hUzHj3ukv3TWPc1wu
-H1mvTJeJEejVIPgiPwdDyn0tvQ==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBkdQ0rh8WeAe0Q/JbkQ8PGsr1n7
+XOPnMknzt6DBkCeDBCwLG/g9HtjCQGd6SsDNq1F3NO6urAlressgI7NEsX54oJVQ
+WTaXBFeadmXgCHoJXmEWWcI16+Ch/ZL11XbDV/NkGSX/qeNIWsm3rXfFgSQtx5nV
+pRUSZ2kAKs1OT0ZAUXg2tSYVnHOc3L35/qxi3ArIoJ6qBunllMK9L0bUVAjX1php
+H95j/Alw8pnIYyf3AJYercPuzoDodc5Qa2xJyMSSBKAlfBlu1uBDRSrXKkRKA7ly
+F6THAblOiIyCYw+7womYho5t1V67C7+M0G+XFTn+EcnL3sVbLEdlByC2zwIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSSDIs/6dPubwgjYgvRaP2sphGPXzAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEADSKP8vYX97vYjp2WWDc9gc7vvK7hjnA6E5vEHyKOapA5qLp7U/+UL+2WTVbX
+17YostQ4kL6HvgkiKzJvuPpZw/rDjNeFVbwJsebTp7KfeUVcKtmzNA+R4erNMKCU
+csICNQ4Aag0/RozKMG4R1KOF8lvX4AsHZXe2VkZ+CqJdHGpDt2DFmYauisrNunou
+W3n7i4Z8retmMwhMx/eGXnBM+po+SlNyy0MDnPb3yb7QM4EAqhpbXHE6O3og1C+J
+l3mSKRQL7GW6+6paZaflOj28RWE/DVQ2JywO+6iKokGWsQe2vguLCEdCp18AwhOk
+ARDGliMTTmZJFhAjHp0bwF5Vaw==
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/server2.key b/programs/ssl/test-ca/server2.key
index 00ff58d..00c9047 100644
--- a/programs/ssl/test-ca/server2.key
+++ b/programs/ssl/test-ca/server2.key
@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-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
+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
-----END RSA PRIVATE KEY-----
diff --git a/programs/ssl/test-ca/test-ca.crt b/programs/ssl/test-ca/test-ca.crt
index a96b81a..d4b0631 100644
--- a/programs/ssl/test-ca/test-ca.crt
+++ b/programs/ssl/test-ca/test-ca.crt
@@ -5,76 +5,76 @@ Certificate:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Validity
- Not Before: Jan 14 22:43:11 2009 GMT
- Not After : Jan 15 22:43:11 2019 GMT
+ Not Before: Feb 9 21:12:25 2009 GMT
+ Not After : Feb 10 21:12:25 2019 GMT
Subject: C=NL, O=PolarSSL, CN=PolarSSL Test CA
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
- 00:c2:89:ce:2a:17:e9:0c:14:33:8b:7c:8e:28:a8:
- 57:73:0d:6d:59:d1:35:1d:a2:68:ad:99:dd:5b:bb:
- 47:97:50:c8:b3:a6:f3:77:23:d8:5f:0f:06:14:a9:
- 80:83:c1:a8:11:28:fd:c9:1c:1a:59:74:54:3f:ad:
- 84:a5:ee:05:bb:e4:73:bf:70:aa:01:fb:8b:02:50:
- 0a:dd:ad:b7:b5:36:35:89:3e:7c:48:b6:d5:b2:9b:
- a8:b6:79:cf:20:17:41:7d:72:2c:52:1b:66:b1:e2:
- 4c:e7:86:43:fa:51:62:3d:6d:83:51:1b:aa:d6:10:
- c6:9b:43:c9:1c:9f:b1:e8:b3:d5:11:25:24:dc:57:
- 17:42:6b:fc:26:54:50:67:5e:3f:54:c9:41:ba:fb:
- 45:30:e6:62:05:b3:b9:cc:45:58:b0:9d:e8:fe:84:
- 25:29:fe:b1:93:b6:11:e5:75:54:7f:d9:41:7b:0f:
- 37:a7:4a:21:8d:b8:0d:18:5f:01:68:34:e2:4d:13:
- e9:a6:e1:f2:44:73:fe:a6:38:09:d1:11:22:04:78:
- f5:97:66:c7:56:c8:a3:6e:55:ed:45:f8:50:47:fd:
- 84:a6:d6:a1:65:f2:08:17:2d:8a:ae:ea:54:8a:54:
- 83:ca:d6:be:7c:fc:b0:ab:7a:df:63:b5:f3:ce:84:
- 34:25
+ 00:b0:c7:44:7a:99:90:ef:25:b5:dc:0d:9f:95:14:
+ 1f:b1:a6:77:b0:b9:9f:d7:a9:fe:b6:68:98:e5:50:
+ 4d:33:9e:a1:d3:bf:1e:fb:71:b3:e0:35:aa:79:e0:
+ 0f:d0:6f:27:3a:8c:b3:2b:01:69:f4:98:26:47:b7:
+ ba:40:30:d6:15:2f:0c:e4:9a:bf:3b:1e:e0:97:b6:
+ ae:99:d3:a2:89:05:e6:82:3f:5b:ed:8d:3d:ba:ce:
+ 8b:a6:f9:e7:0d:8a:89:2d:0f:07:03:52:40:6b:ac:
+ fa:21:9c:28:f2:e0:63:6e:dd:45:68:c6:37:9c:75:
+ bc:78:74:9c:e1:f3:ea:b4:2a:d5:a6:f8:a3:e6:a2:
+ be:4c:5a:31:b2:c0:1d:12:80:fb:33:be:2a:8c:a8:
+ 09:c1:05:0e:0b:71:2e:fb:7b:ae:d2:bc:c0:5b:f5:
+ 3a:59:d3:a2:3a:d6:f4:9f:e5:55:c4:37:0f:49:45:
+ 3d:aa:88:6a:7b:b1:b0:33:82:0f:07:17:94:56:af:
+ af:e1:5f:1f:d2:c0:3f:f5:4d:16:e1:b6:99:28:46:
+ 43:67:e0:5f:63:a2:44:c1:26:84:01:89:73:c8:53:
+ a0:24:da:20:97:08:09:8e:d5:77:43:1e:3a:6d:92:
+ 40:55:87:12:5c:8d:79:4e:f0:8d:a9:65:d1:9e:60:
+ e7:eb
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE
X509v3 Subject Key Identifier:
- 80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
X509v3 Authority Key Identifier:
- keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+ keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
DirName:/C=NL/O=PolarSSL/CN=PolarSSL Test CA
serial:00
Signature Algorithm: sha1WithRSAEncryption
- 9a:e0:a9:b4:d5:0b:7d:cb:94:6d:f9:19:e9:27:ca:9f:b8:6f:
- fa:4e:3d:06:4e:f3:d3:29:cb:1d:81:93:96:b2:3a:f3:e7:1a:
- 7e:35:64:ad:56:02:0f:d9:f0:d5:b4:dd:10:a0:4a:0a:e0:65:
- 4a:f5:3a:4e:44:40:c6:33:06:55:af:1a:ba:67:b2:10:1d:c6:
- fd:e4:a3:77:09:9a:4a:92:c1:0f:39:35:4b:44:70:18:fa:63:
- 3c:cb:8c:b4:4e:37:96:3e:e3:fe:93:1b:18:cf:61:2b:12:8d:
- 34:cb:64:38:7b:8c:44:e8:e5:33:0d:8a:f8:e8:88:97:f4:01:
- c9:0c:47:b5:6f:c9:ec:ec:b3:15:c1:9b:09:c5:05:66:52:80:
- 48:a3:33:00:b1:fe:8d:94:44:7d:4b:60:35:09:6a:de:51:a8:
- 82:3a:67:fb:ca:e3:92:e5:b8:2e:bb:22:a0:b7:4b:c4:06:2c:
- 94:80:3c:d9:7f:46:3c:0a:8d:7c:75:47:90:5a:57:f0:40:6e:
- 87:e8:93:20:80:0a:ce:05:c2:5d:40:94:9f:5e:c6:a0:53:6d:
- 86:74:3f:f8:6e:97:46:8b:3d:bd:1b:10:7d:4a:47:2e:81:38:
- b9:d5:f5:57:aa:d0:0a:d1:b1:c9:dc:77:0e:80:02:c9:29:b2:
- 3f:75:34:44
+ 1c:15:97:39:41:00:07:a3:07:3a:30:82:cb:9e:01:c8:09:f3:
+ e9:5f:40:fc:31:f5:81:98:6c:21:a5:88:59:5f:98:5c:4d:9c:
+ 6c:4e:f5:0b:9b:c4:04:e1:16:6f:59:08:4d:57:fe:0e:4f:53:
+ c2:10:6c:d0:0d:1d:e7:b9:84:79:1f:94:94:a9:84:83:f8:c9:
+ 2f:1c:4f:df:92:19:1e:66:10:8e:37:d5:7c:14:ef:d9:c5:c8:
+ c8:b2:c1:1e:b7:ea:b6:ca:ba:68:c4:63:72:e9:ea:3b:96:1f:
+ 10:27:1a:2d:52:0f:68:7b:ea:80:05:ef:7d:b6:f7:50:e8:84:
+ f3:57:38:0d:6a:59:98:c8:fb:c9:56:1f:a1:fa:f9:94:29:80:
+ 4c:97:00:8d:ad:40:61:68:ce:cd:7d:63:ec:e3:d0:18:5b:ac:
+ 95:f8:95:a8:24:f2:50:f2:f2:8d:57:e8:e3:aa:86:8c:fd:8a:
+ 9e:5c:02:7b:85:9f:37:87:70:75:b4:14:3d:1e:76:49:0f:ef:
+ 6a:ef:95:a3:ac:af:51:ac:60:4c:69:cf:aa:13:3f:a1:7d:d8:
+ 9f:9a:7e:35:9c:b5:69:70:68:69:cd:4a:28:4b:b7:8f:31:ee:
+ 07:d7:92:f5:54:5d:b5:c9:78:e1:a6:e6:15:37:f7:dd:3d:38:
+ 47:44:b1:e2
-----BEGIN CERTIFICATE-----
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
-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
+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
-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
+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
-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
+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
-----END CERTIFICATE-----
diff --git a/programs/ssl/test-ca/test-ca.key b/programs/ssl/test-ca/test-ca.key
index 5de4854..e57d263 100644
--- a/programs/ssl/test-ca/test-ca.key
+++ b/programs/ssl/test-ca/test-ca.key
@@ -1,30 +1,30 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,56E8FCA0B56651D4
+DEK-Info: DES-EDE3-CBC,EB254D9A7718A8E2
-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
+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
-----END RSA PRIVATE KEY-----
diff --git a/programs/test/ssl_cert_test.c b/programs/test/ssl_cert_test.c
new file mode 100644
index 0000000..74d2356
--- /dev/null
+++ b/programs/test/ssl_cert_test.c
@@ -0,0 +1,119 @@
+/*
+ * SSL certificate functionality tests
+ *
+ * Copyright (C) 2009 Paul Bakker <polarssl_maintainer at polarssl dot org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef _CRT_SECURE_NO_DEPRECATE
+#define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+
+#include <string.h>
+#include <stdio.h>
+
+#include "polarssl/certs.h"
+#include "polarssl/x509.h"
+
+#define MAX_CLIENT_CERTS 6
+
+char *client_certificates[MAX_CLIENT_CERTS] =
+{
+ "client1.crt",
+ "client2.crt",
+ "cert_sha224.crt",
+ "cert_sha256.crt",
+ "cert_sha384.crt",
+ "cert_sha512.crt"
+};
+
+int main( void )
+{
+ int ret, i;
+ x509_cert cacert, clicert;
+
+ /*
+ * 1.1. Load the trusted CA
+ */
+ printf( "\n . Loading the CA root certificate ..." );
+ fflush( stdout );
+
+ memset( &cacert, 0, sizeof( x509_cert ) );
+
+ /*
+ * Alternatively, you may load the CA certificates from a .pem or
+ * .crt file by calling x509parse_crtfile( &cacert, "myca.crt" ).
+ */
+ ret = x509parse_crtfile( &cacert, "ssl/test-ca/test-ca.crt" );
+ if( ret != 0 )
+ {
+ printf( " failed\n ! x509parse_crtfile returned %d\n\n", ret );
+ goto exit;
+ }
+
+ printf( " ok\n" );
+
+ for( i = 0; i < MAX_CLIENT_CERTS; i++ )
+ {
+ /*
+ * 1.2. Load own certificate and private key
+ */
+ char name[512];
+ snprintf(name, 512, "ssl/test-ca/%s", client_certificates[i]);
+
+ printf( " . Loading the client certificatei %s...", name );
+ fflush( stdout );
+
+ memset( &clicert, 0, sizeof( x509_cert ) );
+
+ ret = x509parse_crtfile( &clicert, name );
+ if( ret != 0 )
+ {
+ printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
+ goto exit;
+ }
+
+ printf( " ok\n" );
+
+ /*
+ * 1.3. Verify certificate validity
+ */
+ printf( " . Verify the client certificate..." );
+ fflush( stdout );
+
+ int flags;
+
+ ret = x509parse_verify( &clicert, &cacert, NULL, &flags );
+ if( ret != 0 )
+ {
+ printf( " failed\n ! x509parse_verify returned %d\n\n", ret );
+ goto exit;
+ }
+
+ printf( " ok\n" );
+ }
+
+exit:
+ x509_free( &clicert );
+ x509_free( &cacert );
+
+#ifdef WIN32
+ printf( " + Press Enter to exit this program.\n" );
+ fflush( stdout ); getchar();
+#endif
+
+ return( ret );
+}