mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-05-01 12:09:42 +00:00
Avoid creating invalid rsa pss params
Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8621)
This commit is contained in:
parent
ee215c7eea
commit
491360e7ab
@ -583,10 +583,12 @@ static RSA_PSS_PARAMS *rsa_ctx_to_pss(EVP_PKEY_CTX *pkctx)
|
|||||||
return NULL;
|
return NULL;
|
||||||
if (saltlen == -1) {
|
if (saltlen == -1) {
|
||||||
saltlen = EVP_MD_size(sigmd);
|
saltlen = EVP_MD_size(sigmd);
|
||||||
} else if (saltlen == -2) {
|
} else if (saltlen == -2 || saltlen == -3) {
|
||||||
saltlen = EVP_PKEY_size(pk) - EVP_MD_size(sigmd) - 2;
|
saltlen = EVP_PKEY_size(pk) - EVP_MD_size(sigmd) - 2;
|
||||||
if ((EVP_PKEY_bits(pk) & 0x7) == 1)
|
if ((EVP_PKEY_bits(pk) & 0x7) == 1)
|
||||||
saltlen--;
|
saltlen--;
|
||||||
|
if (saltlen < 0)
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rsa_pss_params_create(sigmd, mgf1md, saltlen);
|
return rsa_pss_params_create(sigmd, mgf1md, saltlen);
|
||||||
|
@ -324,6 +324,14 @@ my @smime_cms_param_tests = (
|
|||||||
"-CAfile", catfile($smdir, "smroot.pem"), "-out", "smtst.txt" ]
|
"-CAfile", catfile($smdir, "smroot.pem"), "-out", "smtst.txt" ]
|
||||||
],
|
],
|
||||||
|
|
||||||
|
[ "signed content test streaming PEM format, RSA keys, PSS signature, saltlen=-3",
|
||||||
|
[ "-sign", "-in", $smcont, "-outform", "PEM", "-nodetach",
|
||||||
|
"-signer", catfile($smdir, "smrsa1.pem"), "-keyopt", "rsa_padding_mode:pss",
|
||||||
|
"-keyopt", "rsa_pss_saltlen:-3", "-out", "test.cms" ],
|
||||||
|
[ "-verify", "-in", "test.cms", "-inform", "PEM",
|
||||||
|
"-CAfile", catfile($smdir, "smroot.pem"), "-out", "smtst.txt" ]
|
||||||
|
],
|
||||||
|
|
||||||
[ "signed content test streaming PEM format, RSA keys, PSS signature, no attributes",
|
[ "signed content test streaming PEM format, RSA keys, PSS signature, no attributes",
|
||||||
[ "-sign", "-in", $smcont, "-outform", "PEM", "-nodetach", "-noattr",
|
[ "-sign", "-in", $smcont, "-outform", "PEM", "-nodetach", "-noattr",
|
||||||
"-signer", catfile($smdir, "smrsa1.pem"), "-keyopt", "rsa_padding_mode:pss",
|
"-signer", catfile($smdir, "smrsa1.pem"), "-keyopt", "rsa_padding_mode:pss",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user