X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=test%2Fcms-test.pl;h=ee191b37f1741f7100ab1a76099cf9c0c8e9b249;hb=8002e3073bf7235801f75cf42bc0252fc034d041;hp=7d19e22ccc75bc42a64a13b34fcbc870d99691e2;hpb=90ec4c0af05d1e97b4e301baa128216c0f7a15de;p=oweals%2Fopenssl.git diff --git a/test/cms-test.pl b/test/cms-test.pl index 7d19e22ccc..ee191b37f1 100644 --- a/test/cms-test.pl +++ b/test/cms-test.pl @@ -74,12 +74,14 @@ 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" @@ -227,6 +229,24 @@ my @smime_cms_tests = ( . " -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" @@ -235,6 +255,27 @@ my @smime_cms_tests = ( "-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" @@ -312,6 +353,8 @@ 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"; } @@ -322,12 +365,23 @@ else { 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";