diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/Makefile | 91 | ||||
| -rwxr-xr-x | test/cms-examples.pl | 409 | ||||
| -rwxr-xr-x | test/cms-test.pl | 453 | ||||
| -rw-r--r-- | test/evptests.txt | 9 | ||||
| -rw-r--r-- | test/igetest.c | 17 | ||||
| -rw-r--r-- | test/smcont.txt | 1 | ||||
| -rw-r--r-- | test/smime-certs/smdsa1.pem | 34 | ||||
| -rw-r--r-- | test/smime-certs/smdsa2.pem | 34 | ||||
| -rw-r--r-- | test/smime-certs/smdsa3.pem | 34 | ||||
| -rw-r--r-- | test/smime-certs/smdsap.pem | 9 | ||||
| -rw-r--r-- | test/smime-certs/smroot.pem | 30 | ||||
| -rw-r--r-- | test/smime-certs/smrsa1.pem | 31 | ||||
| -rw-r--r-- | test/smime-certs/smrsa2.pem | 31 | ||||
| -rw-r--r-- | test/smime-certs/smrsa3.pem | 31 | 
14 files changed, 1175 insertions, 39 deletions
| diff --git a/test/Makefile b/test/Makefile index 859088f3ef37f..3e58351cb9b88 100644 --- a/test/Makefile +++ b/test/Makefile @@ -185,7 +185,7 @@ test_rand:  	../util/shlib_wrap.sh ./$(RANDTEST)  test_enc: -	@sh ./testenc +	sh ./testenc  test_x509:  	echo test normal x509v1 certificate @@ -195,7 +195,7 @@ test_x509:  	echo test second x509v3 certificate  	sh ./tx509 v3-cert2.pem 2>/dev/null -test_rsa: +test_rsa: $(RSATEST)$(EXE_EXT)  	@sh ./trsa 2>/dev/null  	../util/shlib_wrap.sh ./$(RSATEST) @@ -313,11 +313,7 @@ $(DLIBCRYPTO):  BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \  		shlib_target="$(SHLIB_TARGET)"; \  	fi; \ -	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \ -		LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO) $(LIBKRB5)"; \ -	else \ -		LIBRARIES="$(LIBSSL) $(LIBCRYPTO) $(LIBKRB5)"; \ -	fi; \ +	LIBRARIES="$(LIBSSL) $(LIBCRYPTO) $(LIBKRB5)"; \  	$(MAKE) -f $(TOP)/Makefile.shared -e \  		APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \  		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ @@ -480,41 +476,58 @@ ecdhtest.o: ../include/openssl/rand.h ../include/openssl/safestack.h  ecdhtest.o: ../include/openssl/sha.h ../include/openssl/stack.h  ecdhtest.o: ../include/openssl/symhacks.h ecdhtest.c  ecdsatest.o: ../include/openssl/asn1.h ../include/openssl/bio.h -ecdsatest.o: ../include/openssl/bn.h ../include/openssl/crypto.h -ecdsatest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +ecdsatest.o: ../include/openssl/bn.h ../include/openssl/buffer.h +ecdsatest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h +ecdsatest.o: ../include/openssl/ec.h ../include/openssl/ecdh.h  ecdsatest.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h  ecdsatest.o: ../include/openssl/err.h ../include/openssl/evp.h  ecdsatest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h  ecdsatest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h  ecdsatest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ecdsatest.o: ../include/openssl/rand.h ../include/openssl/safestack.h +ecdsatest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h +ecdsatest.o: ../include/openssl/safestack.h ../include/openssl/sha.h  ecdsatest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +ecdsatest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h  ecdsatest.o: ecdsatest.c  ectest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ectest.o: ../include/openssl/bn.h ../include/openssl/crypto.h -ectest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h -ectest.o: ../include/openssl/engine.h ../include/openssl/err.h +ectest.o: ../include/openssl/bn.h ../include/openssl/buffer.h +ectest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h +ectest.o: ../include/openssl/ec.h ../include/openssl/ecdh.h +ectest.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h +ectest.o: ../include/openssl/err.h ../include/openssl/evp.h  ectest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h  ectest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h  ectest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ectest.o: ../include/openssl/rand.h ../include/openssl/safestack.h -ectest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h ectest.c -enginetest.o: ../include/openssl/bio.h ../include/openssl/buffer.h -enginetest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h +ectest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h +ectest.o: ../include/openssl/safestack.h ../include/openssl/sha.h +ectest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +ectest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ectest.c +enginetest.o: ../include/openssl/asn1.h ../include/openssl/bio.h +enginetest.o: ../include/openssl/buffer.h ../include/openssl/crypto.h +enginetest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +enginetest.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h  enginetest.o: ../include/openssl/engine.h ../include/openssl/err.h -enginetest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h -enginetest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -enginetest.o: ../include/openssl/safestack.h ../include/openssl/stack.h -enginetest.o: ../include/openssl/symhacks.h enginetest.c +enginetest.o: ../include/openssl/evp.h ../include/openssl/lhash.h +enginetest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +enginetest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +enginetest.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h +enginetest.o: ../include/openssl/safestack.h ../include/openssl/sha.h +enginetest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +enginetest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h +enginetest.o: enginetest.c  evp_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -evp_test.o: ../include/openssl/conf.h ../include/openssl/crypto.h -evp_test.o: ../include/openssl/e_os2.h ../include/openssl/engine.h +evp_test.o: ../include/openssl/buffer.h ../include/openssl/conf.h +evp_test.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h +evp_test.o: ../include/openssl/ec.h ../include/openssl/ecdh.h +evp_test.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h  evp_test.o: ../include/openssl/err.h ../include/openssl/evp.h  evp_test.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h  evp_test.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h  evp_test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -evp_test.o: ../include/openssl/safestack.h ../include/openssl/stack.h -evp_test.o: ../include/openssl/symhacks.h evp_test.c +evp_test.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h +evp_test.o: ../include/openssl/sha.h ../include/openssl/stack.h +evp_test.o: ../include/openssl/symhacks.h ../include/openssl/x509.h +evp_test.o: ../include/openssl/x509_vfy.h evp_test.c  exptest.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/bn.h  exptest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h  exptest.o: ../include/openssl/err.h ../include/openssl/lhash.h @@ -611,17 +624,17 @@ ssltest.o: ../include/openssl/dsa.h ../include/openssl/dtls1.h  ssltest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h  ssltest.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h  ssltest.o: ../include/openssl/engine.h ../include/openssl/err.h -ssltest.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssltest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssltest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssltest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssltest.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssltest.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h -ssltest.o: ../include/openssl/pqueue.h ../include/openssl/rand.h -ssltest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -ssltest.o: ../include/openssl/sha.h ../include/openssl/ssl.h -ssltest.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -ssltest.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -ssltest.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -ssltest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h -ssltest.o: ../include/openssl/x509v3.h ssltest.c +ssltest.o: ../include/openssl/evp.h ../include/openssl/hmac.h +ssltest.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssltest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssltest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssltest.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssltest.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssltest.o: ../include/openssl/pq_compat.h ../include/openssl/pqueue.h +ssltest.o: ../include/openssl/rand.h ../include/openssl/rsa.h +ssltest.o: ../include/openssl/safestack.h ../include/openssl/sha.h +ssltest.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +ssltest.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +ssltest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +ssltest.o: ../include/openssl/tls1.h ../include/openssl/x509.h +ssltest.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h ssltest.c diff --git a/test/cms-examples.pl b/test/cms-examples.pl new file mode 100755 index 0000000000000..2e95b48ba45fc --- /dev/null +++ b/test/cms-examples.pl @@ -0,0 +1,409 @@ +# test/cms-examples.pl +# Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL +# project. +# +# ==================================================================== +# Copyright (c) 2008 The OpenSSL Project.  All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +#    notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +#    notice, this list of conditions and the following disclaimer in +#    the documentation and/or other materials provided with the +#    distribution. +# +# 3. All advertising materials mentioning features or use of this +#    software must display the following acknowledgment: +#    "This product includes software developed by the OpenSSL Project +#    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" +# +# 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +#    endorse or promote products derived from this software without +#    prior written permission. For written permission, please contact +#    licensing@OpenSSL.org. +# +# 5. Products derived from this software may not be called "OpenSSL" +#    nor may "OpenSSL" appear in their names without prior written +#    permission of the OpenSSL Project. +# +# 6. Redistributions of any form whatsoever must retain the following +#    acknowledgment: +#    "This product includes software developed by the OpenSSL Project +#    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" +# +# THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR +# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +# OF THE POSSIBILITY OF SUCH DAMAGE. +# ==================================================================== + +# Perl script to run tests against S/MIME examples in RFC4134 +# Assumes RFC is in current directory and called "rfc4134.txt" + +use MIME::Base64; + +my $badttest = 0; +my $verbose  = 1; + +my $cmscmd; +my $exdir  = "./"; +my $exfile = "./rfc4134.txt"; + +if (-f "../apps/openssl") +	{ +	$cmscmd = "../util/shlib_wrap.sh ../apps/openssl cms"; +	} +elsif (-f "..\\out32dll\\openssl.exe") +	{ +	$cmscmd = "..\\out32dll\\openssl.exe cms"; +	} +elsif (-f "..\\out32\\openssl.exe") +	{ +	$cmscmd = "..\\out32\\openssl.exe cms"; +	} + +my @test_list = ( +    [ "3.1.bin"  => "dataout" ], +    [ "3.2.bin"  => "encode, dataout" ], +    [ "4.1.bin"  => "encode, verifyder, cont, dss" ], +    [ "4.2.bin"  => "encode, verifyder, cont, rsa" ], +    [ "4.3.bin"  => "encode, verifyder, cont_extern, dss" ], +    [ "4.4.bin"  => "encode, verifyder, cont, dss" ], +    [ "4.5.bin"  => "verifyder, cont, rsa" ], +    [ "4.6.bin"  => "encode, verifyder, cont, dss" ], +    [ "4.7.bin"  => "encode, verifyder, cont, dss" ], +    [ "4.8.eml"  => "verifymime, dss" ], +    [ "4.9.eml"  => "verifymime, dss" ], +    [ "4.10.bin" => "encode, verifyder, cont, dss" ], +    [ "4.11.bin" => "encode, certsout" ], +    [ "5.1.bin"  => "encode, envelopeder, cont" ], +    [ "5.2.bin"  => "encode, envelopeder, cont" ], +    [ "5.3.eml"  => "envelopemime, cont" ], +    [ "6.0.bin"  => "encode, digest, cont" ], +    [ "7.1.bin"  => "encode, encrypted, cont" ], +    [ "7.2.bin"  => "encode, encrypted, cont" ] +); + +# Extract examples from RFC4134 text. +# Base64 decode all examples, certificates and +# private keys are converted to PEM format. + +my ( $filename, $data ); + +my @cleanup = ( "cms.out", "cms.err", "tmp.der", "tmp.txt" ); + +$data = ""; + +open( IN, $exfile ) || die "Can't Open RFC examples file $exfile"; + +while (<IN>) { +    next unless (/^\|/); +    s/^\|//; +    next if (/^\*/); +    if (/^>(.*)$/) { +        $filename = $1; +        next; +    } +    if (/^</) { +        $filename = "$exdir/$filename"; +        if ( $filename =~ /\.bin$/ || $filename =~ /\.eml$/ ) { +            $data = decode_base64($data); +            open OUT, ">$filename"; +            binmode OUT; +            print OUT $data; +            close OUT; +            push @cleanup, $filename; +        } +        elsif ( $filename =~ /\.cer$/ ) { +            write_pem( $filename, "CERTIFICATE", $data ); +        } +        elsif ( $filename =~ /\.pri$/ ) { +            write_pem( $filename, "PRIVATE KEY", $data ); +        } +        $data     = ""; +        $filename = ""; +    } +    else { +        $data .= $_; +    } + +} + +my $secretkey = +  "73:7c:79:1f:25:ea:d0:e0:46:29:25:43:52:f7:dc:62:91:e5:cb:26:91:7a:da:32"; + +foreach (@test_list) { +    my ( $file, $tlist ) = @$_; +    print "Example file $file:\n"; +    if ( $tlist =~ /encode/ ) { +        run_reencode_test( $exdir, $file ); +    } +    if ( $tlist =~ /certsout/ ) { +        run_certsout_test( $exdir, $file ); +    } +    if ( $tlist =~ /dataout/ ) { +        run_dataout_test( $exdir, $file ); +    } +    if ( $tlist =~ /verify/ ) { +        run_verify_test( $exdir, $tlist, $file ); +    } +    if ( $tlist =~ /digest/ ) { +        run_digest_test( $exdir, $tlist, $file ); +    } +    if ( $tlist =~ /encrypted/ ) { +        run_encrypted_test( $exdir, $tlist, $file, $secretkey ); +    } +    if ( $tlist =~ /envelope/ ) { +        run_envelope_test( $exdir, $tlist, $file ); +    } + +} + +foreach (@cleanup) { +    unlink $_; +} + +if ($badtest) { +    print "\n$badtest TESTS FAILED!!\n"; +} +else { +    print "\n***All tests successful***\n"; +} + +sub write_pem { +    my ( $filename, $str, $data ) = @_; + +    $filename =~ s/\.[^.]*$/.pem/; + +    push @cleanup, $filename; + +    open OUT, ">$filename"; + +    print OUT "-----BEGIN $str-----\n"; +    print OUT $data; +    print OUT "-----END $str-----\n"; + +    close OUT; +} + +sub run_reencode_test { +    my ( $cmsdir, $tfile ) = @_; +    unlink "tmp.der"; + +    system( "$cmscmd -cmsout -inform DER -outform DER" +          . " -in $cmsdir/$tfile -out tmp.der" ); + +    if ($?) { +        print "\tReencode command FAILED!!\n"; +        $badtest++; +    } +    elsif ( !cmp_files( "$cmsdir/$tfile", "tmp.der" ) ) { +        print "\tReencode FAILED!!\n"; +        $badtest++; +    } +    else { +        print "\tReencode passed\n" if $verbose; +    } +} + +sub run_certsout_test { +    my ( $cmsdir, $tfile ) = @_; +    unlink "tmp.der"; +    unlink "tmp.pem"; + +    system( "$cmscmd -cmsout -inform DER -certsout tmp.pem" +          . " -in $cmsdir/$tfile -out tmp.der" ); + +    if ($?) { +        print "\tCertificate output command FAILED!!\n"; +        $badtest++; +    } +    else { +        print "\tCertificate output passed\n" if $verbose; +    } +} + +sub run_dataout_test { +    my ( $cmsdir, $tfile ) = @_; +    unlink "tmp.txt"; + +    system( +        "$cmscmd -data_out -inform DER" . " -in $cmsdir/$tfile -out tmp.txt" ); + +    if ($?) { +        print "\tDataout command FAILED!!\n"; +        $badtest++; +    } +    elsif ( !cmp_files( "$cmsdir/ExContent.bin", "tmp.txt" ) ) { +        print "\tDataout compare FAILED!!\n"; +        $badtest++; +    } +    else { +        print "\tDataout passed\n" if $verbose; +    } +} + +sub run_verify_test { +    my ( $cmsdir, $tlist, $tfile ) = @_; +    unlink "tmp.txt"; + +    $form   = "DER"                     if $tlist =~ /verifyder/; +    $form   = "SMIME"                   if $tlist =~ /verifymime/; +    $cafile = "$cmsdir/CarlDSSSelf.pem" if $tlist =~ /dss/; +    $cafile = "$cmsdir/CarlRSASelf.pem" if $tlist =~ /rsa/; + +    $cmd = +        "$cmscmd -verify -inform $form" +      . " -CAfile $cafile" +      . " -in $cmsdir/$tfile -out tmp.txt"; + +    $cmd .= " -content $cmsdir/ExContent.bin" if $tlist =~ /cont_extern/; + +    system("$cmd 2>cms.err 1>cms.out"); + +    if ($?) { +        print "\tVerify command FAILED!!\n"; +        $badtest++; +    } +    elsif ( $tlist =~ /cont/ +        && !cmp_files( "$cmsdir/ExContent.bin", "tmp.txt" ) ) +    { +        print "\tVerify content compare FAILED!!\n"; +        $badtest++; +    } +    else { +        print "\tVerify passed\n" if $verbose; +    } +} + +sub run_envelope_test { +    my ( $cmsdir, $tlist, $tfile ) = @_; +    unlink "tmp.txt"; + +    $form = "DER"   if $tlist =~ /envelopeder/; +    $form = "SMIME" if $tlist =~ /envelopemime/; + +    $cmd = +        "$cmscmd -decrypt -inform $form" +      . " -recip $cmsdir/BobRSASignByCarl.pem" +      . " -inkey $cmsdir/BobPrivRSAEncrypt.pem" +      . " -in $cmsdir/$tfile -out tmp.txt"; + +    system("$cmd 2>cms.err 1>cms.out"); + +    if ($?) { +        print "\tDecrypt command FAILED!!\n"; +        $badtest++; +    } +    elsif ( $tlist =~ /cont/ +        && !cmp_files( "$cmsdir/ExContent.bin", "tmp.txt" ) ) +    { +        print "\tDecrypt content compare FAILED!!\n"; +        $badtest++; +    } +    else { +        print "\tDecrypt passed\n" if $verbose; +    } +} + +sub run_digest_test { +    my ( $cmsdir, $tlist, $tfile ) = @_; +    unlink "tmp.txt"; + +    my $cmd = +      "$cmscmd -digest_verify -inform DER" . " -in $cmsdir/$tfile -out tmp.txt"; + +    system("$cmd 2>cms.err 1>cms.out"); + +    if ($?) { +        print "\tDigest verify command FAILED!!\n"; +        $badtest++; +    } +    elsif ( $tlist =~ /cont/ +        && !cmp_files( "$cmsdir/ExContent.bin", "tmp.txt" ) ) +    { +        print "\tDigest verify content compare FAILED!!\n"; +        $badtest++; +    } +    else { +        print "\tDigest verify passed\n" if $verbose; +    } +} + +sub run_encrypted_test { +    my ( $cmsdir, $tlist, $tfile, $key ) = @_; +    unlink "tmp.txt"; + +    system( "$cmscmd -EncryptedData_decrypt -inform DER" +          . " -secretkey $key" +          . " -in $cmsdir/$tfile -out tmp.txt" ); + +    if ($?) { +        print "\tEncrypted Data command FAILED!!\n"; +        $badtest++; +    } +    elsif ( $tlist =~ /cont/ +        && !cmp_files( "$cmsdir/ExContent.bin", "tmp.txt" ) ) +    { +        print "\tEncrypted Data content compare FAILED!!\n"; +        $badtest++; +    } +    else { +        print "\tEncryptedData verify passed\n" if $verbose; +    } +} + +sub cmp_files { +    my ( $f1, $f2 ) = @_; +    my ( $fp1, $fp2 ); + +    my ( $rd1, $rd2 ); + +    if ( !open( $fp1, "<$f1" ) ) { +        print STDERR "Can't Open file $f1\n"; +        return 0; +    } + +    if ( !open( $fp2, "<$f2" ) ) { +        print STDERR "Can't Open file $f2\n"; +        return 0; +    } + +    binmode $fp1; +    binmode $fp2; + +    my $ret = 0; + +    for ( ; ; ) { +        $n1 = sysread $fp1, $rd1, 4096; +        $n2 = sysread $fp2, $rd2, 4096; +        last if ( $n1 != $n2 ); +        last if ( $rd1 ne $rd2 ); + +        if ( $n1 == 0 ) { +            $ret = 1; +            last; +        } + +    } + +    close $fp1; +    close $fp2; + +    return $ret; + +} + diff --git a/test/cms-test.pl b/test/cms-test.pl new file mode 100755 index 0000000000000..a84e089ddc4d3 --- /dev/null +++ b/test/cms-test.pl @@ -0,0 +1,453 @@ +# test/cms-test.pl +# Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL +# project. +# +# ==================================================================== +# Copyright (c) 2008 The OpenSSL Project.  All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +#    notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +#    notice, this list of conditions and the following disclaimer in +#    the documentation and/or other materials provided with the +#    distribution. +# +# 3. All advertising materials mentioning features or use of this +#    software must display the following acknowledgment: +#    "This product includes software developed by the OpenSSL Project +#    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" +# +# 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +#    endorse or promote products derived from this software without +#    prior written permission. For written permission, please contact +#    licensing@OpenSSL.org. +# +# 5. Products derived from this software may not be called "OpenSSL" +#    nor may "OpenSSL" appear in their names without prior written +#    permission of the OpenSSL Project. +# +# 6. Redistributions of any form whatsoever must retain the following +#    acknowledgment: +#    "This product includes software developed by the OpenSSL Project +#    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" +# +# THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR +# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +# OF THE POSSIBILITY OF SUCH DAMAGE. +# ==================================================================== + +# CMS, PKCS7 consistency test script. Run extensive tests on +# OpenSSL PKCS#7 and CMS implementations. + +my $ossl_path; + +if ( -f "../apps/openssl" ) { +    $ossl_path = "../util/shlib_wrap.sh ../apps/openssl"; +} +elsif ( -f "..\\out32dll\\openssl.exe" ) { +    $ossl_path = "..\\out32dll\\openssl.exe"; +} +elsif ( -f "..\\out32\\openssl.exe" ) { +    $ossl_path = "..\\out32\\openssl.exe"; +} +else { +    die "Can't find OpenSSL executable"; +} + +my $pk7cmd   = "$ossl_path smime "; +my $cmscmd   = "$ossl_path cms "; +my $smdir    = "smime-certs"; +my $halt_err = 1; + +my $badcmd = 0; +my $ossl8 = `$ossl_path version -v` =~ /0\.9\.8/; + +my @smime_pkcs7_tests = ( + +    [ +        "signed content DER format, RSA key", +        "-sign -in smcont.txt -outform DER -nodetach" +          . " -certfile $smdir/smroot.pem" +          . " -signer $smdir/smrsa1.pem -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed detached content DER format, RSA key", +        "-sign -in smcont.txt -outform DER" +          . " -signer $smdir/smrsa1.pem -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt -content smcont.txt" +    ], + +    [ +        "signed content test streaming BER format, RSA", +        "-sign -in smcont.txt -outform DER -nodetach" +          . " -stream -signer $smdir/smrsa1.pem -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed content DER format, DSA key", +        "-sign -in smcont.txt -outform DER -nodetach" +          . " -signer $smdir/smdsa1.pem -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed detached content DER format, DSA key", +        "-sign -in smcont.txt -outform DER" +          . " -signer $smdir/smdsa1.pem -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt -content smcont.txt" +    ], + +    [ +        "signed detached content DER format, add RSA signer", +        "-resign -inform DER -in test.cms -outform DER" +          . " -signer $smdir/smrsa1.pem -out test2.cms", +        "-verify -in test2.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt -content smcont.txt" +    ], + +    [ +        "signed content test streaming BER format, DSA key", +        "-sign -in smcont.txt -outform DER -nodetach" +          . " -stream -signer $smdir/smdsa1.pem -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed content test streaming BER format, 2 DSA and 2 RSA keys", +        "-sign -in smcont.txt -outform DER -nodetach" +          . " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem" +          . " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem" +          . " -stream -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +"signed content test streaming BER format, 2 DSA and 2 RSA keys, no attributes", +        "-sign -in smcont.txt -outform DER -noattr -nodetach" +          . " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem" +          . " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem" +          . " -stream -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed content test streaming S/MIME format, 2 DSA and 2 RSA keys", +        "-sign -in smcont.txt -nodetach" +          . " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem" +          . " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem" +          . " -stream -out test.cms", +        "-verify -in test.cms " . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +"signed content test streaming multipart S/MIME format, 2 DSA and 2 RSA keys", +        "-sign -in smcont.txt" +          . " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem" +          . " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem" +          . " -stream -out test.cms", +        "-verify -in test.cms " . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "enveloped content test streaming S/MIME format, 3 recipients", +        "-encrypt -in smcont.txt" +          . " -stream -out test.cms" +          . " $smdir/smrsa1.pem $smdir/smrsa2.pem $smdir/smrsa3.pem ", +        "-decrypt -recip $smdir/smrsa1.pem -in test.cms -out smtst.txt" +    ], + +    [ +"enveloped content test streaming S/MIME format, 3 recipients, 3rd used", +        "-encrypt -in smcont.txt" +          . " -stream -out test.cms" +          . " $smdir/smrsa1.pem $smdir/smrsa2.pem $smdir/smrsa3.pem ", +        "-decrypt -recip $smdir/smrsa3.pem -in test.cms -out smtst.txt" +    ], + +    [ +"enveloped content test streaming S/MIME format, 3 recipients, key only used", +        "-encrypt -in smcont.txt" +          . " -stream -out test.cms" +          . " $smdir/smrsa1.pem $smdir/smrsa2.pem $smdir/smrsa3.pem ", +        "-decrypt -inkey $smdir/smrsa3.pem -in test.cms -out smtst.txt" +    ], + +    [ +"enveloped content test streaming S/MIME format, AES-256 cipher, 3 recipients", +        "-encrypt -in smcont.txt" +          . " -aes256 -stream -out test.cms" +          . " $smdir/smrsa1.pem $smdir/smrsa2.pem $smdir/smrsa3.pem ", +        "-decrypt -recip $smdir/smrsa1.pem -in test.cms -out smtst.txt" +    ], + +); + +my @smime_cms_tests = ( + +    [ +        "signed content test streaming BER format, 2 DSA and 2 RSA keys, keyid", +        "-sign -in smcont.txt -outform DER -nodetach -keyid" +          . " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem" +          . " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem" +          . " -stream -out test.cms", +        "-verify -in test.cms -inform DER " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed content test streaming PEM format, 2 DSA and 2 RSA keys", +        "-sign -in smcont.txt -outform PEM -nodetach" +          . " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem" +          . " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem" +          . " -stream -out test.cms", +        "-verify -in test.cms -inform PEM " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed content MIME format, RSA key, signed receipt request", +        "-sign -in smcont.txt -signer $smdir/smrsa1.pem -nodetach" +          . " -receipt_request_to test@openssl.org -receipt_request_all" +          . " -out test.cms", +        "-verify -in test.cms " +          . " -CAfile $smdir/smroot.pem -out smtst.txt" +    ], + +    [ +        "signed receipt MIME format, RSA key", +        "-sign_receipt -in test.cms" +          . " -signer $smdir/smrsa2.pem" +          . " -out test2.cms", +        "-verify_receipt test2.cms -in test.cms" +          . " -CAfile $smdir/smroot.pem" +    ], + +    [ +        "enveloped content test streaming S/MIME format, 3 recipients, keyid", +        "-encrypt -in smcont.txt" +          . " -stream -out test.cms -keyid" +          . " $smdir/smrsa1.pem $smdir/smrsa2.pem $smdir/smrsa3.pem ", +        "-decrypt -recip $smdir/smrsa1.pem -in test.cms -out smtst.txt" +    ], + +    [ +        "enveloped content test streaming PEM format, KEK", +        "-encrypt -in smcont.txt -outform PEM -aes128" +          . " -stream -out test.cms " +          . " -secretkey 000102030405060708090A0B0C0D0E0F " +          . " -secretkeyid C0FEE0", +        "-decrypt -in test.cms -out smtst.txt -inform PEM" +          . " -secretkey 000102030405060708090A0B0C0D0E0F " +          . " -secretkeyid C0FEE0" +    ], + +    [ +        "enveloped content test streaming PEM format, KEK, key only", +        "-encrypt -in smcont.txt -outform PEM -aes128" +          . " -stream -out test.cms " +          . " -secretkey 000102030405060708090A0B0C0D0E0F " +          . " -secretkeyid C0FEE0", +        "-decrypt -in test.cms -out smtst.txt -inform PEM" +          . " -secretkey 000102030405060708090A0B0C0D0E0F " +    ], + +    [ +        "data content test streaming PEM format", +        "-data_create -in smcont.txt -outform PEM -nodetach" +          . " -stream -out test.cms", +        "-data_out -in test.cms -inform PEM -out smtst.txt" +    ], + +    [ +        "encrypted content test streaming PEM format, 128 bit RC2 key", +        "-EncryptedData_encrypt -in smcont.txt -outform PEM" +          . " -rc2 -secretkey 000102030405060708090A0B0C0D0E0F" +          . " -stream -out test.cms", +        "-EncryptedData_decrypt -in test.cms -inform PEM " +          . " -secretkey 000102030405060708090A0B0C0D0E0F -out smtst.txt" +    ], + +    [ +        "encrypted content test streaming PEM format, 40 bit RC2 key", +        "-EncryptedData_encrypt -in smcont.txt -outform PEM" +          . " -rc2 -secretkey 0001020304" +          . " -stream -out test.cms", +        "-EncryptedData_decrypt -in test.cms -inform PEM " +          . " -secretkey 0001020304 -out smtst.txt" +    ], + +    [ +        "encrypted content test streaming PEM format, triple DES key", +        "-EncryptedData_encrypt -in smcont.txt -outform PEM" +          . " -des3 -secretkey 000102030405060708090A0B0C0D0E0F1011121314151617" +          . " -stream -out test.cms", +        "-EncryptedData_decrypt -in test.cms -inform PEM " +          . " -secretkey 000102030405060708090A0B0C0D0E0F1011121314151617" +          . " -out smtst.txt" +    ], + +    [ +        "encrypted content test streaming PEM format, 128 bit AES key", +        "-EncryptedData_encrypt -in smcont.txt -outform PEM" +          . " -aes128 -secretkey 000102030405060708090A0B0C0D0E0F" +          . " -stream -out test.cms", +        "-EncryptedData_decrypt -in test.cms -inform PEM " +          . " -secretkey 000102030405060708090A0B0C0D0E0F -out smtst.txt" +    ], + +); + +my @smime_cms_comp_tests = ( + +    [ +        "compressed content test streaming PEM format", +        "-compress -in smcont.txt -outform PEM -nodetach" +          . " -stream -out test.cms", +        "-uncompress -in test.cms -inform PEM -out smtst.txt" +    ] + +); + +print "PKCS#7 <=> PKCS#7 consistency tests\n"; + +run_smime_tests( \$badcmd, \@smime_pkcs7_tests, $pk7cmd, $pk7cmd ); + +print "CMS => PKCS#7 compatibility tests\n"; + +run_smime_tests( \$badcmd, \@smime_pkcs7_tests, $cmscmd, $pk7cmd ); + +print "CMS <= PKCS#7 compatibility tests\n"; + +run_smime_tests( \$badcmd, \@smime_pkcs7_tests, $pk7cmd, $cmscmd ); + +print "CMS <=> CMS consistency tests\n"; + +run_smime_tests( \$badcmd, \@smime_pkcs7_tests, $cmscmd, $cmscmd ); +run_smime_tests( \$badcmd, \@smime_cms_tests,   $cmscmd, $cmscmd ); + +if ( `$ossl_path version -f` =~ /ZLIB/ ) { +    run_smime_tests( \$badcmd, \@smime_cms_comp_tests, $cmscmd, $cmscmd ); +} +else { +    print "Zlib not supported: compression tests skipped\n"; +} + +print "Running modified tests for OpenSSL 0.9.8 cms backport\n" if($ossl8); + +if ($badcmd) { +    print "$badcmd TESTS FAILED!!\n"; +} +else { +    print "ALL TESTS SUCCESSFUL.\n"; +} + +unlink "test.cms"; +unlink "test2.cms"; +unlink "smtst.txt"; +unlink "cms.out"; +unlink "cms.err"; + +sub run_smime_tests { +    my ( $rv, $aref, $scmd, $vcmd ) = @_; + +    foreach $smtst (@$aref) { +        my ( $tnam, $rscmd, $rvcmd ) = @$smtst; +	if ($ossl8) +		{ +		# Skip smime resign: 0.9.8 smime doesn't support -resign	 +		next if ($scmd =~ /smime/ && $rscmd =~ /-resign/); +		# Disable streaming: option not supported in 0.9.8 +		$tnam =~ s/streaming//;	 +		$rscmd =~ s/-stream//;	 +		$rvcmd =~ s/-stream//; +		} +        system("$scmd$rscmd 2>cms.err 1>cms.out"); +        if ($?) { +            print "$tnam: generation error\n"; +            $$rv++; +            exit 1 if $halt_err; +            next; +        } +        system("$vcmd$rvcmd 2>cms.err 1>cms.out"); +        if ($?) { +            print "$tnam: verify error\n"; +            $$rv++; +            exit 1 if $halt_err; +            next; +        } +	if (!cmp_files("smtst.txt", "smcont.txt")) { +            print "$tnam: content verify error\n"; +            $$rv++; +            exit 1 if $halt_err; +            next; +	} +        print "$tnam: OK\n"; +    } +} + +sub cmp_files { +    my ( $f1, $f2 ) = @_; +    my ( $fp1, $fp2 ); + +    my ( $rd1, $rd2 ); + +    if ( !open( $fp1, "<$f1" ) ) { +        print STDERR "Can't Open file $f1\n"; +        return 0; +    } + +    if ( !open( $fp2, "<$f2" ) ) { +        print STDERR "Can't Open file $f2\n"; +        return 0; +    } + +    binmode $fp1; +    binmode $fp2; + +    my $ret = 0; + +    for ( ; ; ) { +        $n1 = sysread $fp1, $rd1, 4096; +        $n2 = sysread $fp2, $rd2, 4096; +        last if ( $n1 != $n2 ); +        last if ( $rd1 ne $rd2 ); + +        if ( $n1 == 0 ) { +            $ret = 1; +            last; +        } + +    } + +    close $fp1; +    close $fp2; + +    return $ret; + +} + diff --git a/test/evptests.txt b/test/evptests.txt index 193009f781d83..beb12144b6aea 100644 --- a/test/evptests.txt +++ b/test/evptests.txt @@ -310,3 +310,12 @@ CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF  CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:E1C656305ED1A7A6563805746FE03EDC:30C81C46A35CE411E5FBC1191A0A52EF:6BFF6265A6A6B7A535BC65A80B17214E:0  CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:41635BE625B48AFC1666DD42A09D96E7:F69F2445DF4F9B17AD2B417BE66C3710:0A4A0404E26AA78A27CB271E8BF3CF20:0 +# SEED test vectors from RFC4269 +SEED-ECB:00000000000000000000000000000000::000102030405060708090A0B0C0D0E0F:5EBAC6E0054E166819AFF1CC6D346CDB:0 +SEED-ECB:000102030405060708090A0B0C0D0E0F::00000000000000000000000000000000:C11F22F20140505084483597E4370F43:0 +SEED-ECB:4706480851E61BE85D74BFB3FD956185::83A2F8A288641FB9A4E9A5CC2F131C7D:EE54D13EBCAE706D226BC3142CD40D4A:0 +SEED-ECB:28DBC3BC49FFD87DCFA509B11D422BE7::B41E6BE2EBA84A148E2EED84593C5EC7:9B9B7BFCD1813CB95D0B3618F40F5122:0 +SEED-ECB:00000000000000000000000000000000::000102030405060708090A0B0C0D0E0F:5EBAC6E0054E166819AFF1CC6D346CDB:1 +SEED-ECB:000102030405060708090A0B0C0D0E0F::00000000000000000000000000000000:C11F22F20140505084483597E4370F43:1 +SEED-ECB:4706480851E61BE85D74BFB3FD956185::83A2F8A288641FB9A4E9A5CC2F131C7D:EE54D13EBCAE706D226BC3142CD40D4A:1 +SEED-ECB:28DBC3BC49FFD87DCFA509B11D422BE7::B41E6BE2EBA84A148E2EED84593C5EC7:9B9B7BFCD1813CB95D0B3618F40F5122:1 diff --git a/test/igetest.c b/test/igetest.c index d93428f42baa2..95452d096570e 100644 --- a/test/igetest.c +++ b/test/igetest.c @@ -220,6 +220,23 @@ static int run_test_vectors(void)  			++errs;  			} + +		/* try with in == out */ +		memcpy(iv, v->iv, sizeof iv); +		memcpy(buf, v->in, v->length); +		AES_ige_encrypt(buf, buf, v->length, &key, iv, v->encrypt); + +		if(memcmp(v->out, buf, v->length)) +			{ +			printf("IGE test vector %d failed (with in == out)\n", n); +			hexdump(stdout, "key", v->key, sizeof v->key); +			hexdump(stdout, "iv", v->iv, sizeof v->iv); +			hexdump(stdout, "in", v->in, v->length); +			hexdump(stdout, "expected", v->out, v->length); +			hexdump(stdout, "got", buf, v->length); + +			++errs; +			}  		}  	for(n=0 ; n < sizeof(bi_ige_test_vectors)/sizeof(bi_ige_test_vectors[0]) diff --git a/test/smcont.txt b/test/smcont.txt new file mode 100644 index 0000000000000..e837c0b75b645 --- /dev/null +++ b/test/smcont.txt @@ -0,0 +1 @@ +Some test content for OpenSSL CMS
\ No newline at end of file diff --git a/test/smime-certs/smdsa1.pem b/test/smime-certs/smdsa1.pem new file mode 100644 index 0000000000000..d5677dbfbec48 --- /dev/null +++ b/test/smime-certs/smdsa1.pem @@ -0,0 +1,34 @@ +-----BEGIN DSA PRIVATE KEY----- +MIIBuwIBAAKBgQDFJfsIPOIawMO5biw+AoYUhNVxReBOLQosU3Qv4B8krac0BNr3 +OjSGLh1wZxHqhlAE0QmasTaKojuk20nNWeFnczSz6vDl0IVJEhS8VYor5kt9gLqt +GcoAgsf4gRDIutJyQDaNn3IVY89uXUVIoexvQeLQDBCgQPC5O8rJdqBwtwIVAK2J +jt+dqk07eQUE59koYUEKyNorAoGBAI4IEpusf8G14kCHmRtnHXM2tG5EWJDmW6Qt +wjqvWp1GKUx5WFy1tVWR9nl5rL0Di+kNdENo+SkKj7h3uDulGOI6T0mQYbV2h1IK ++FMOGnOqvZ8eNTE2n4PGTo5puZ63LBm+QYrQsrNiUY4vakLFQ2rEK/SLwdsDFK4Z +SJCBQw5zAoGATQlPPF+OeU8nu3rsdXGDiZdJzOkuCce3KQfTABA9C+Dk4CVcvBdd +YRLGpnykumkNTO1sTO+4/Gphsuje1ujK9td4UEhdYqylCe5QjEMrszDlJtelDQF9 +C0yhdjKGTP0kxofLhsGckcuQvcKEKffT2pDDKJIy4vWQO0UyJl1vjLcCFG2uiGGx +9fMUZq1v0ePD4Wo0Xkxo +-----END DSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIDpDCCAw2gAwIBAgIJAMtotfHYdEsWMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +BAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRUZXN0IFMv +TUlNRSBSU0EgUm9vdDAeFw0wODAyMjIxMzUzMDlaFw0xNjA1MTAxMzUzMDlaMEUx +CzAJBgNVBAYTAlVLMRYwFAYDVQQKDA1PcGVuU1NMIEdyb3VwMR4wHAYDVQQDDBVU +ZXN0IFMvTUlNRSBFRSBEU0EgIzEwggG3MIIBLAYHKoZIzjgEATCCAR8CgYEAxSX7 +CDziGsDDuW4sPgKGFITVcUXgTi0KLFN0L+AfJK2nNATa9zo0hi4dcGcR6oZQBNEJ +mrE2iqI7pNtJzVnhZ3M0s+rw5dCFSRIUvFWKK+ZLfYC6rRnKAILH+IEQyLrSckA2 +jZ9yFWPPbl1FSKHsb0Hi0AwQoEDwuTvKyXagcLcCFQCtiY7fnapNO3kFBOfZKGFB +CsjaKwKBgQCOCBKbrH/BteJAh5kbZx1zNrRuRFiQ5lukLcI6r1qdRilMeVhctbVV +kfZ5eay9A4vpDXRDaPkpCo+4d7g7pRjiOk9JkGG1dodSCvhTDhpzqr2fHjUxNp+D +xk6OabmetywZvkGK0LKzYlGOL2pCxUNqxCv0i8HbAxSuGUiQgUMOcwOBhAACgYBN +CU88X455Tye7eux1cYOJl0nM6S4Jx7cpB9MAED0L4OTgJVy8F11hEsamfKS6aQ1M +7WxM77j8amGy6N7W6Mr213hQSF1irKUJ7lCMQyuzMOUm16UNAX0LTKF2MoZM/STG +h8uGwZyRy5C9woQp99PakMMokjLi9ZA7RTImXW+Mt6OBgzCBgDAdBgNVHQ4EFgQU +4Qfbhpi5yqXaXuCLXj427mR25MkwHwYDVR0jBBgwFoAUE89Lp7uJLrM4Vxd2xput +aFvl7RcwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwIAYDVR0RBBkwF4EV +c21pbWVkc2ExQG9wZW5zc2wub3JnMA0GCSqGSIb3DQEBBQUAA4GBAFrdUzKK1pWO +kd02S423KUBc4GWWyiGlVoEO7WxVhHLJ8sm67X7OtJOwe0UGt+Nc5qLtyJYSirw8 +phjiTdNpQCTJ8+Kc56tWkJ6H7NAI4vTJtPL5BM/EmeYrVSU9JI9xhqpyKw9IBD+n +hRJ79W9FaiJRvaAOX+TkyTukJrxAWRyv +-----END CERTIFICATE----- diff --git a/test/smime-certs/smdsa2.pem b/test/smime-certs/smdsa2.pem new file mode 100644 index 0000000000000..ef86c115d7f98 --- /dev/null +++ b/test/smime-certs/smdsa2.pem @@ -0,0 +1,34 @@ +-----BEGIN DSA PRIVATE KEY----- +MIIBvAIBAAKBgQDFJfsIPOIawMO5biw+AoYUhNVxReBOLQosU3Qv4B8krac0BNr3 +OjSGLh1wZxHqhlAE0QmasTaKojuk20nNWeFnczSz6vDl0IVJEhS8VYor5kt9gLqt +GcoAgsf4gRDIutJyQDaNn3IVY89uXUVIoexvQeLQDBCgQPC5O8rJdqBwtwIVAK2J +jt+dqk07eQUE59koYUEKyNorAoGBAI4IEpusf8G14kCHmRtnHXM2tG5EWJDmW6Qt +wjqvWp1GKUx5WFy1tVWR9nl5rL0Di+kNdENo+SkKj7h3uDulGOI6T0mQYbV2h1IK ++FMOGnOqvZ8eNTE2n4PGTo5puZ63LBm+QYrQsrNiUY4vakLFQ2rEK/SLwdsDFK4Z +SJCBQw5zAoGBAIPmO8BtJ+Yac58trrPwq9b/6VW3jQTWzTLWSH84/QQdqQa+Pz3v +It/+hHM0daNF5uls8ICsPL1aLXmRx0pHvIyb0aAzYae4T4Jv/COPDMTdKbA1uitJ +VbkGZrm+LIrs7I9lOkb4T0vI6kL/XdOCXY1469zsqCgJ/O2ibn6mq0nWAhR716o2 +Nf8SimTZYB0/CKje6M5ufA== +-----END DSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIDpTCCAw6gAwIBAgIJAMtotfHYdEsXMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +BAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRUZXN0IFMv +TUlNRSBSU0EgUm9vdDAeFw0wODAyMjIxMzUzMDlaFw0xNjA1MTAxMzUzMDlaMEUx +CzAJBgNVBAYTAlVLMRYwFAYDVQQKDA1PcGVuU1NMIEdyb3VwMR4wHAYDVQQDDBVU +ZXN0IFMvTUlNRSBFRSBEU0EgIzIwggG4MIIBLAYHKoZIzjgEATCCAR8CgYEAxSX7 +CDziGsDDuW4sPgKGFITVcUXgTi0KLFN0L+AfJK2nNATa9zo0hi4dcGcR6oZQBNEJ +mrE2iqI7pNtJzVnhZ3M0s+rw5dCFSRIUvFWKK+ZLfYC6rRnKAILH+IEQyLrSckA2 +jZ9yFWPPbl1FSKHsb0Hi0AwQoEDwuTvKyXagcLcCFQCtiY7fnapNO3kFBOfZKGFB +CsjaKwKBgQCOCBKbrH/BteJAh5kbZx1zNrRuRFiQ5lukLcI6r1qdRilMeVhctbVV +kfZ5eay9A4vpDXRDaPkpCo+4d7g7pRjiOk9JkGG1dodSCvhTDhpzqr2fHjUxNp+D +xk6OabmetywZvkGK0LKzYlGOL2pCxUNqxCv0i8HbAxSuGUiQgUMOcwOBhQACgYEA +g+Y7wG0n5hpzny2us/Cr1v/pVbeNBNbNMtZIfzj9BB2pBr4/Pe8i3/6EczR1o0Xm +6WzwgKw8vVoteZHHSke8jJvRoDNhp7hPgm/8I48MxN0psDW6K0lVuQZmub4siuzs +j2U6RvhPS8jqQv9d04JdjXjr3OyoKAn87aJufqarSdajgYMwgYAwHQYDVR0OBBYE +FHsAGNfVltSYUq4hC+YVYwsYtA+dMB8GA1UdIwQYMBaAFBPPS6e7iS6zOFcXdsab +rWhb5e0XMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgbAMCAGA1UdEQQZMBeB +FXNtaW1lZHNhMkBvcGVuc3NsLm9yZzANBgkqhkiG9w0BAQUFAAOBgQCx9BtCbaYF +FXjLClkuKXbESaDZA1biPgY25i00FsUzARuhCpqD2v+0tu5c33ZzIhL6xlvBRU5l +6Atw/xpZhae+hdBEtxPJoGekLLrHOau7Md3XwDjV4lFgcEJkWZoaSOOIK+4D5jF0 +jZWtHjnwEzuLYlo7ScHSsbcQfjH0M1TP5A== +-----END CERTIFICATE----- diff --git a/test/smime-certs/smdsa3.pem b/test/smime-certs/smdsa3.pem new file mode 100644 index 0000000000000..eeb848dabc50b --- /dev/null +++ b/test/smime-certs/smdsa3.pem @@ -0,0 +1,34 @@ +-----BEGIN DSA PRIVATE KEY----- +MIIBvAIBAAKBgQDFJfsIPOIawMO5biw+AoYUhNVxReBOLQosU3Qv4B8krac0BNr3 +OjSGLh1wZxHqhlAE0QmasTaKojuk20nNWeFnczSz6vDl0IVJEhS8VYor5kt9gLqt +GcoAgsf4gRDIutJyQDaNn3IVY89uXUVIoexvQeLQDBCgQPC5O8rJdqBwtwIVAK2J +jt+dqk07eQUE59koYUEKyNorAoGBAI4IEpusf8G14kCHmRtnHXM2tG5EWJDmW6Qt +wjqvWp1GKUx5WFy1tVWR9nl5rL0Di+kNdENo+SkKj7h3uDulGOI6T0mQYbV2h1IK ++FMOGnOqvZ8eNTE2n4PGTo5puZ63LBm+QYrQsrNiUY4vakLFQ2rEK/SLwdsDFK4Z +SJCBQw5zAoGAYzOpPmh8Je1IDauEXhgaLz14wqYUHHcrj2VWVJ6fRm8GhdQFJSI7 +GUk08pgKZSKic2lNqxuzW7/vFxKQ/nvzfytY16b+2i+BR4Q6yvMzCebE1hHVg0Ju +TwfUMwoFEOhYP6ZwHSUiQl9IBMH9TNJCMwYMxfY+VOrURFsjGTRUgpwCFQCIGt5g +Y+XZd0Sv69CatDIRYWvaIA== +-----END DSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIDpDCCAw2gAwIBAgIJAMtotfHYdEsYMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +BAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRUZXN0IFMv +TUlNRSBSU0EgUm9vdDAeFw0wODAyMjIxMzUzMDlaFw0xNjA1MTAxMzUzMDlaMEUx +CzAJBgNVBAYTAlVLMRYwFAYDVQQKDA1PcGVuU1NMIEdyb3VwMR4wHAYDVQQDDBVU +ZXN0IFMvTUlNRSBFRSBEU0EgIzMwggG3MIIBLAYHKoZIzjgEATCCAR8CgYEAxSX7 +CDziGsDDuW4sPgKGFITVcUXgTi0KLFN0L+AfJK2nNATa9zo0hi4dcGcR6oZQBNEJ +mrE2iqI7pNtJzVnhZ3M0s+rw5dCFSRIUvFWKK+ZLfYC6rRnKAILH+IEQyLrSckA2 +jZ9yFWPPbl1FSKHsb0Hi0AwQoEDwuTvKyXagcLcCFQCtiY7fnapNO3kFBOfZKGFB +CsjaKwKBgQCOCBKbrH/BteJAh5kbZx1zNrRuRFiQ5lukLcI6r1qdRilMeVhctbVV +kfZ5eay9A4vpDXRDaPkpCo+4d7g7pRjiOk9JkGG1dodSCvhTDhpzqr2fHjUxNp+D +xk6OabmetywZvkGK0LKzYlGOL2pCxUNqxCv0i8HbAxSuGUiQgUMOcwOBhAACgYBj +M6k+aHwl7UgNq4ReGBovPXjCphQcdyuPZVZUnp9GbwaF1AUlIjsZSTTymAplIqJz +aU2rG7Nbv+8XEpD+e/N/K1jXpv7aL4FHhDrK8zMJ5sTWEdWDQm5PB9QzCgUQ6Fg/ +pnAdJSJCX0gEwf1M0kIzBgzF9j5U6tREWyMZNFSCnKOBgzCBgDAdBgNVHQ4EFgQU +VhpVXqQ/EzUMdxLvP7o9EhJ8h70wHwYDVR0jBBgwFoAUE89Lp7uJLrM4Vxd2xput +aFvl7RcwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwIAYDVR0RBBkwF4EV +c21pbWVkc2EzQG9wZW5zc2wub3JnMA0GCSqGSIb3DQEBBQUAA4GBACM9e75EQa8m +k/AZkH/tROqf3yeqijULl9x8FjFatqoY+29OM6oMGM425IqSkKd2ipz7OxO0SShu +rE0O3edS7DvYBwvhWPviRaYBMyZ4iFJVup+fOzoYK/j/bASxS3BHQBwb2r4rhe25 +OlTyyFEk7DJyW18YFOG97S1P52oQ5f5x +-----END CERTIFICATE----- diff --git a/test/smime-certs/smdsap.pem b/test/smime-certs/smdsap.pem new file mode 100644 index 0000000000000..249706c8c77e3 --- /dev/null +++ b/test/smime-certs/smdsap.pem @@ -0,0 +1,9 @@ +-----BEGIN DSA PARAMETERS----- +MIIBHwKBgQDFJfsIPOIawMO5biw+AoYUhNVxReBOLQosU3Qv4B8krac0BNr3OjSG +Lh1wZxHqhlAE0QmasTaKojuk20nNWeFnczSz6vDl0IVJEhS8VYor5kt9gLqtGcoA +gsf4gRDIutJyQDaNn3IVY89uXUVIoexvQeLQDBCgQPC5O8rJdqBwtwIVAK2Jjt+d +qk07eQUE59koYUEKyNorAoGBAI4IEpusf8G14kCHmRtnHXM2tG5EWJDmW6Qtwjqv +Wp1GKUx5WFy1tVWR9nl5rL0Di+kNdENo+SkKj7h3uDulGOI6T0mQYbV2h1IK+FMO +GnOqvZ8eNTE2n4PGTo5puZ63LBm+QYrQsrNiUY4vakLFQ2rEK/SLwdsDFK4ZSJCB +Qw5z +-----END DSA PARAMETERS----- diff --git a/test/smime-certs/smroot.pem b/test/smime-certs/smroot.pem new file mode 100644 index 0000000000000..a59eb2684ca45 --- /dev/null +++ b/test/smime-certs/smroot.pem @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDBV1Z/Q5gPF7lojc8pKUdyz5+Jf2B3vs4he6egekugWnoJduki +9Lnae/JchB/soIX0co3nLc11NuFFlnAWJNMDJr08l5AHAJLYNHevF5l/f9oDQwvZ +speKh1xpIAJNqCTzVeQ/ZLx6/GccIXV/xDuKIiovqJTPgR5WPkYKaw++lQIDAQAB +AoGALXnUj5SflJU4+B2652ydMKUjWl0KnL/VjkyejgGV/j6py8Ybaixz9q8Gv7oY +JDlRqMC1HfZJCFQDQrHy5VJ+CywA/H9WrqKo/Ch9U4tJAZtkig1Cmay/BAYixVu0 +xBeim10aKF6hxHH4Chg9We+OCuzWBWJhqveNjuDedL/i7JUCQQDlejovcwBUCbhJ +U12qKOwlaboolWbl7yF3XdckTJZg7+1UqQHZH5jYZlLZyZxiaC92SNV0SyTLJZnS +Jh5CO+VDAkEA16/pPcuVtMMz/R6SSPpRSIAa1stLs0mFSs3NpR4pdm0n42mu05pO +1tJEt3a1g7zkreQBf53+Dwb+lA841EkjRwJBAIFmt0DifKDnCkBu/jZh9SfzwsH3 +3Zpzik+hXxxdA7+ODCrdUul449vDd5zQD5t+XKU61QNLDGhxv5e9XvrCg7kCQH/a +3ldsVF0oDaxxL+QkxoREtCQ5tLEd1u7F2q6Tl56FDE0pe6Ih6bQ8RtG+g9EI60IN +U7oTrOO5kLWx5E0q4ccCQAZVgoenn9MhRU1agKOCuM6LT2DxReTu4XztJzynej+8 +0J93n3ebanB1MlRpn1XJwhQ7gAC8ImaQKLJK5jdJzFc= +-----END RSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIICaTCCAdKgAwIBAgIJAP6VN47boiXRMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +BAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRUZXN0IFMv +TUlNRSBSU0EgUm9vdDAeFw0wODAyMjIxMzUzMDdaFw0xNjA1MTExMzUzMDdaMEQx +CzAJBgNVBAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRU +ZXN0IFMvTUlNRSBSU0EgUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA +wVdWf0OYDxe5aI3PKSlHcs+fiX9gd77OIXunoHpLoFp6CXbpIvS52nvyXIQf7KCF +9HKN5y3NdTbhRZZwFiTTAya9PJeQBwCS2DR3rxeZf3/aA0ML2bKXiodcaSACTagk +81XkP2S8evxnHCF1f8Q7iiIqL6iUz4EeVj5GCmsPvpUCAwEAAaNjMGEwHQYDVR0O +BBYEFBPPS6e7iS6zOFcXdsabrWhb5e0XMB8GA1UdIwQYMBaAFBPPS6e7iS6zOFcX +dsabrWhb5e0XMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqG +SIb3DQEBBQUAA4GBAIECprq5viDvnDbkyOaiSr9ubMUmWqvycfAJMdPZRKcOZczS +l+L9R9lF3JSqbt3knOe9u6bGDBOTY2285PdCCuHRVMk2Af1f6El1fqAlRUwNqipp +r68sWFuRqrcRNtk6QQvXfkOhrqQBuDa7te/OVQLa2lGN9Dr2mQsD8ijctatG +-----END CERTIFICATE----- diff --git a/test/smime-certs/smrsa1.pem b/test/smime-certs/smrsa1.pem new file mode 100644 index 0000000000000..2cf3148e334bc --- /dev/null +++ b/test/smime-certs/smrsa1.pem @@ -0,0 +1,31 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC6A978j4pmPgUtUQqF+bjh6vdhwGOGZSD7xXgFTMjm88twfv+E +ixkq2KXSDjD0ZXoQbdOaSbvGRQrIJpG2NGiKAFdYNrP025kCCdh5wF/aEI7KLEm7 +JlHwXpQsuj4wkMgmkFjL3Ty4Z55aNH+2pPQIa0k+ENJXm2gDuhqgBmduAwIDAQAB +AoGBAJMuYu51aO2THyeHGwt81uOytcCbqGP7eoib62ZOJhxPRGYjpmuqX+R9/V5i +KiwGavm63JYUx0WO9YP+uIZxm1BUATzkgkS74u5LP6ajhkZh6/Bck1oIYYkbVOXl +JVrdENuH6U7nupznsyYgONByo+ykFPVUGmutgiaC7NMVo/MxAkEA6KLejWXdCIEn +xr7hGph9NlvY9xuRIMexRV/WrddcFfCdjI1PciIupgrIkR65M9yr7atm1iU6/aRf +KOr8rLZsSQJBAMyyXN71NsDNx4BP6rtJ/LJMP0BylznWkA7zWfGCbAYn9VhZVlSY +Eu9Gyr7quD1ix7G3kInKVYOEEOpockBLz+sCQQCedyMmKjcQLfpMVYW8uhbAynvW +h36qV5yXZxszO7nMcCTBsxhk5IfmLv5EbCs3+p9avCDGyoGOeUMg+kC33WORAkAg +oUIarH4o5+SoeJTTfCzTA0KF9H5U0vYt2+73h7HOnWoHxl3zqDZEfEVvf50U8/0f +QELDJETTbScBJtsnkq43AkEA38etvoZ2i4FJvvo7R/9gWBHVEcrGzcsCBYrNnIR1 +SZLRwHEGaiOK1wxMsWzqp7PJwL9z/M8A8DyOFBx3GPOniA== +-----END RSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIICizCCAfSgAwIBAgIJAMtotfHYdEsTMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +BAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRUZXN0IFMv +TUlNRSBSU0EgUm9vdDAeFw0wODAyMjIxMzUzMDhaFw0xNjA1MTAxMzUzMDhaMEUx +CzAJBgNVBAYTAlVLMRYwFAYDVQQKDA1PcGVuU1NMIEdyb3VwMR4wHAYDVQQDDBVU +ZXN0IFMvTUlNRSBFRSBSU0EgIzEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +ALoD3vyPimY+BS1RCoX5uOHq92HAY4ZlIPvFeAVMyObzy3B+/4SLGSrYpdIOMPRl +ehBt05pJu8ZFCsgmkbY0aIoAV1g2s/TbmQIJ2HnAX9oQjsosSbsmUfBelCy6PjCQ +yCaQWMvdPLhnnlo0f7ak9AhrST4Q0lebaAO6GqAGZ24DAgMBAAGjgYMwgYAwHQYD +VR0OBBYEFE2vMvKz5jrC7Lbdg68XwZ95iL/QMB8GA1UdIwQYMBaAFBPPS6e7iS6z +OFcXdsabrWhb5e0XMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMCAGA1Ud +EQQZMBeBFXNtaW1lcnNhMUBvcGVuc3NsLm9yZzANBgkqhkiG9w0BAQUFAAOBgQAi +O3GOkUl646oLnOimc36i9wxZ1tejsqs8vMjJ0Pym6Uq9FE2JoGzJ6OhB1GOsEVmj +9cQ5UNQcRYL3cqOFtl6f4Dpu/lhzfbaqgmLjv29G1mS0uuTZrixhlyCXjwcbOkNC +I/+wvHHENYIK5+T/79M9LaZ2Qk4F9MNE1VMljdz9Qw== +-----END CERTIFICATE----- diff --git a/test/smime-certs/smrsa2.pem b/test/smime-certs/smrsa2.pem new file mode 100644 index 0000000000000..d41f69c82f67f --- /dev/null +++ b/test/smime-certs/smrsa2.pem @@ -0,0 +1,31 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCwBfryW4Vu5U9wNIDKspJO/N9YF4CcTlrCUyzVlKgb+8urHlSe +59i5verR9IOCCXkemjOzZ/3nALTGqYZlnEvHp0Rjk+KdKXnKBIB+SRPpeu3LcXMT +WPgsThPa0UQxedNKG0g6aG+kLhsDlFBCoxd09jJtSpb9jmroJOq0ZYEHLwIDAQAB +AoGAKa/w4677Je1W5+r3SYoLDnvi5TkDs4D3C6ipKJgBTEdQz+DqB4w/DpZE4551 ++rkFn1LDxcxuHGRVa+tAMhZW97fwq9YUbjVZEyOz79qrX+BMyl/NbHkf1lIKDo3q +dWalzQvop7nbzeLC+VmmviwZfLQUbA61AQl3jm4dswT4XykCQQDloDadEv/28NTx +bvvywvyGuvJkCkEIycm4JrIInvwsd76h/chZ3oymrqzc7hkEtK6kThqlS5y+WXl6 +QzPruTKTAkEAxD2ro/VUoN+scIVaLmn0RBmZ67+9Pdn6pNSfjlK3s0T0EM6/iUWS +M06l6L9wFS3/ceu1tIifsh9BeqOGTa+udQJARIFnybTBaIqw/NZ/lA1YCVn8tpvY +iyaoZ6gjtS65TQrsdKeh/i3HCHNUXxUpoZ3F/H7QtD+6o49ODou+EbVOwQJAVmex +A2gp8wuJKaINqxIL81AybZLnCCzKJ3lXJ5tUNyLNM/lUbGStktm2Q1zHRQwTxV07 +jFn7trn8YrtNjzcjYQJAUKIJRt38A8Jw3HoPT+D0WS2IgxjVL0eYGsZX1lyeammG +6rfnQ3u5uP7mEK2EH2o8mDUpAE0gclWBU9UkKxJsGA== +-----END RSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIICizCCAfSgAwIBAgIJAMtotfHYdEsUMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +BAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRUZXN0IFMv +TUlNRSBSU0EgUm9vdDAeFw0wODAyMjIxMzUzMDhaFw0xNjA1MTAxMzUzMDhaMEUx +CzAJBgNVBAYTAlVLMRYwFAYDVQQKDA1PcGVuU1NMIEdyb3VwMR4wHAYDVQQDDBVU +ZXN0IFMvTUlNRSBFRSBSU0EgIzIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +ALAF+vJbhW7lT3A0gMqykk7831gXgJxOWsJTLNWUqBv7y6seVJ7n2Lm96tH0g4IJ +eR6aM7Nn/ecAtMaphmWcS8enRGOT4p0pecoEgH5JE+l67ctxcxNY+CxOE9rRRDF5 +00obSDpob6QuGwOUUEKjF3T2Mm1Klv2Oaugk6rRlgQcvAgMBAAGjgYMwgYAwHQYD +VR0OBBYEFIL/u+mEvaw7RuKLRuElfVkxSQjYMB8GA1UdIwQYMBaAFBPPS6e7iS6z +OFcXdsabrWhb5e0XMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMCAGA1Ud +EQQZMBeBFXNtaW1lcnNhMkBvcGVuc3NsLm9yZzANBgkqhkiG9w0BAQUFAAOBgQC2 +rXR5bm/9RtOMQPleNpd3y6uUX3oy+0CafK5Yl3PMnItjjnKJ0l1/DbLbDj2twehe +ewaB8CROcBCA3AMLSmGvPKgUCFMGtWam3328M4fBHzon5ka7qDXzM+imkAly/Yx2 +YNdR/aNOug+5sXygHmTSKqiCpQjOIClzXoPVVeEVHw== +-----END CERTIFICATE----- diff --git a/test/smime-certs/smrsa3.pem b/test/smime-certs/smrsa3.pem new file mode 100644 index 0000000000000..c8cbe55151ef2 --- /dev/null +++ b/test/smime-certs/smrsa3.pem @@ -0,0 +1,31 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC6syTZtZNe1hRScFc4PUVyVLsr7+C1HDIZnOHmwFoLayX6RHwy +ep/TkdwiPHnemVLuwvpSjLMLZkXy/J764kSHJrNeVl3UvmCVCOm40hAtK1+F39pM +h8phkbPPD7i+hwq4/Vs79o46nzwbVKmzgoZBJhZ+codujUSYM3LjJ4aq+wIDAQAB +AoGAE1Zixrnr3bLGwBMqtYSDIOhtyos59whImCaLr17U9MHQWS+mvYO98if1aQZi +iQ/QazJ+wvYXxWJ+dEB+JvYwqrGeuAU6He/rAb4OShG4FPVU2D19gzRnaButWMeT +/1lgXV08hegGBL7RQNaN7b0viFYMcKnSghleMP0/q+Y/oaECQQDkXEwDYJW13X9p +ijS20ykWdY5lLknjkHRhhOYux0rlhOqsyMZjoUmwI2m0qj9yrIysKhrk4MZaM/uC +hy0xp3hdAkEA0Uv/UY0Kwsgc+W6YxeypECtg1qCE6FBib8n4iFy/6VcWqhvE5xrs +OdhKv9/p6aLjLneGd1sU+F8eS9LGyKIbNwJBAJPgbNzXA7uUZriqZb5qeTXxBDfj +RLfXSHYKAKEULxz3+JvRHB9SR4yHMiFrCdExiZrHXUkPgYLSHLGG5a4824UCQD6T +9XvhquUARkGCAuWy0/3Eqoihp/t6BWSdQ9Upviu7YUhtUxsyXo0REZB7F4pGrJx5 +GlhXgFaewgUzuUHFzlMCQCzJMMWslWpoLntnR6sMhBMhBFHSw+Y5CbxBmFrdtSkd +VdtNO1VuDCTxjjW7W3Khj7LX4KZ1ye/5jfAgnnnXisc= +-----END RSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIICizCCAfSgAwIBAgIJAMtotfHYdEsVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +BAYTAlVLMRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMR0wGwYDVQQDExRUZXN0IFMv +TUlNRSBSU0EgUm9vdDAeFw0wODAyMjIxMzUzMDlaFw0xNjA1MTAxMzUzMDlaMEUx +CzAJBgNVBAYTAlVLMRYwFAYDVQQKDA1PcGVuU1NMIEdyb3VwMR4wHAYDVQQDDBVU +ZXN0IFMvTUlNRSBFRSBSU0EgIzMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +ALqzJNm1k17WFFJwVzg9RXJUuyvv4LUcMhmc4ebAWgtrJfpEfDJ6n9OR3CI8ed6Z +Uu7C+lKMswtmRfL8nvriRIcms15WXdS+YJUI6bjSEC0rX4Xf2kyHymGRs88PuL6H +Crj9Wzv2jjqfPBtUqbOChkEmFn5yh26NRJgzcuMnhqr7AgMBAAGjgYMwgYAwHQYD +VR0OBBYEFDsSFjNtYZzd0tTHafNS7tneQQj6MB8GA1UdIwQYMBaAFBPPS6e7iS6z +OFcXdsabrWhb5e0XMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMCAGA1Ud +EQQZMBeBFXNtaW1lcnNhM0BvcGVuc3NsLm9yZzANBgkqhkiG9w0BAQUFAAOBgQBE +tUDB+1Dqigu4p1xtdq7JRK6S+gfA7RWmhz0j2scb2zhpS12h37JLHsidGeKAzZYq +jUjOrH/j3xcV5AnuJoqImJaN23nzzxtR4qGGX2mrq6EtObzdEGgCUaizsGM+0slJ +PYxcy8KeY/63B1BpYhj2RjGkL6HrvuAaxVORa3acoA== +-----END CERTIFICATE----- | 
