X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=test%2Fcms-test.pl;h=595ab48fa9715607d941482f660b7ddec80d5e7b;hp=3ccece3f6748f51944a8584495393cbeae03460f;hb=41bf25013032da0eeb111ce3c8fc0946c0e61c41;hpb=32b18e0338a326723680c7c347d3f04bf4e24b40 diff --git a/test/cms-test.pl b/test/cms-test.pl index 3ccece3f67..595ab48fa9 100644 --- a/test/cms-test.pl +++ b/test/cms-test.pl @@ -82,8 +82,38 @@ my $smdir = "smime-certs"; my $halt_err = 1; my $badcmd = 0; +my $no_ec; +my $no_ec2m; my $ossl8 = `$ossl_path version -v` =~ /0\.9\.8/; +system ("$ossl_path no-ec >/dev/null"); +if ($? == 0) + { + $no_ec = 1; + } +elsif ($? == 256) + { + $no_ec = 0; + } +else + { + die "Error checking for EC support\n"; + } + +system ("$ossl_path no-ec2m >/dev/null"); +if ($? == 0) + { + $no_ec2m = 1; + } +elsif ($? == 256) + { + $no_ec2m = 0; + } +else + { + die "Error checking for EC2M support\n"; + } + my @smime_pkcs7_tests = ( [ @@ -384,6 +414,39 @@ my @smime_cms_param_tests = ( . " -recip $smdir/smrsa1.pem -keyopt rsa_padding_mode:oaep" . " -keyopt rsa_oaep_md:sha256", "-decrypt -recip $smdir/smrsa1.pem -in test.cms -out smtst.txt" + ], + + [ +"enveloped content test streaming S/MIME format, ECDH", + "-encrypt -in smcont.txt" + . " -stream -out test.cms" + . " -recip $smdir/smec1.pem", + "-decrypt -recip $smdir/smec1.pem -in test.cms -out smtst.txt" + ], + + [ +"enveloped content test streaming S/MIME format, ECDH, AES128, SHA256 KDF", + "-encrypt -in smcont.txt" + . " -stream -out test.cms" + . " -recip $smdir/smec1.pem -aes128 -keyopt ecdh_kdf_md:sha256", + "-decrypt -recip $smdir/smec1.pem -in test.cms -out smtst.txt" + ], + + [ +"enveloped content test streaming S/MIME format, ECDH, K-283, cofactor DH", + "-encrypt -in smcont.txt" + . " -stream -out test.cms" + . " -recip $smdir/smec2.pem -aes128" + . " -keyopt ecdh_kdf_md:sha256 -keyopt ecdh_cofactor_mode:1", + "-decrypt -recip $smdir/smec2.pem -in test.cms -out smtst.txt" + ], + + [ +"enveloped content test streaming S/MIME format, X9.42 DH", + "-encrypt -in smcont.txt" + . " -stream -out test.cms" + . " -recip $smdir/smdh.pem -aes128", + "-decrypt -recip $smdir/smdh.pem -in test.cms -out smtst.txt" ] ); @@ -439,6 +502,16 @@ sub run_smime_tests { $rscmd =~ s/-stream//; $rvcmd =~ s/-stream//; } + if ($no_ec && $tnam =~ /ECDH/) + { + print "$tnam: skipped, EC disabled\n"; + next; + } + if ($no_ec2m && $tnam =~ /K-283/) + { + print "$tnam: skipped, EC2M disabled\n"; + next; + } system("$scmd$rscmd$redir"); if ($?) { print "$tnam: generation error\n";