X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=test%2Fcms-test.pl;h=ee191b37f1741f7100ab1a76099cf9c0c8e9b249;hb=8002e3073bf7235801f75cf42bc0252fc034d041;hp=db272e4d666bcb81c578bfbcba34d389e09570f8;hpb=eeb9cdfc945783753c1de319a76608422df878aa;p=oweals%2Fopenssl.git diff --git a/test/cms-test.pl b/test/cms-test.pl index db272e4d66..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" @@ -333,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"; } @@ -351,6 +373,15 @@ sub run_smime_tests { 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";