} else
return 0;
- if (EVP_PKEY_is_a(pkey, "DHX"))
+ if (EVP_PKEY_is_a(pkey, "DHX") || EVP_PKEY_is_a(pkey, "DH"))
return cms_dh_envelope(ri, cmd);
else if (EVP_PKEY_is_a(pkey, "EC"))
return cms_ecdh_envelope(ri, cmd);
/* Check types that we know about */
if (EVP_PKEY_is_a(pk, "DH"))
return CMS_RECIPINFO_AGREE;
+ else if (EVP_PKEY_is_a(pk, "DHX"))
+ return CMS_RECIPINFO_AGREE;
else if (EVP_PKEY_is_a(pk, "DSA"))
return CMS_RECIPINFO_NONE;
else if (EVP_PKEY_is_a(pk, "EC"))
"-stream", "-out", "{output}.cms",
"-recip", catfile($smdir, "smec1.pem"), "-aes-128-gcm", "-keyopt", "ecdh_kdf_md:sha256" ],
[ "{cmd2}", "-decrypt", "-recip", catfile($smdir, "smec1.pem"),
- "-in", "{output}.cms", "-out", "{output}.txt" ],
+ "-in", "{output}.cms", "-out", "{output}.txt" ],
\&final_compare
],
[ "{cmd2}", @prov, "-decrypt", "-recip", catfile($smdir, "smec2.pem"),
"-in", "{output}.cms", "-out", "{output}.txt" ],
\&final_compare
- ]
+ ],
- # TODO(3.0) Add this test back in when "dhpublicnumber" is supported
- # in the keymanger.
- #[ "enveloped content test streaming S/MIME format, X9.42 DH",
- # [ "{cmd1}", @prov, "-encrypt", "-in", $smcont,
- # "-stream", "-out", "{output}.cms",
- # "-recip", catfile($smdir, "smdh.pem"), "-aes128" ],
- # [ "{cmd2}", "-decrypt", "-recip", catfile($smdir, "smdh.pem"),
- # "-in", "{output}.cms", "-out", "{output}.txt" ],
- # \&final_compare
- #]
+ [ "enveloped content test streaming S/MIME format, X9.42 DH",
+ [ "{cmd1}", @prov, "-encrypt", "-in", $smcont,
+ "-stream", "-out", "{output}.cms",
+ "-recip", catfile($smdir, "smdh.pem"), "-aes128" ],
+ [ "{cmd2}", "-decrypt", "-recip", catfile($smdir, "smdh.pem"),
+ "-in", "{output}.cms", "-out", "{output}.txt" ],
+ \&final_compare
+ ]
);
my @contenttype_cms_test = (