diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2010-08-10 13:01:49 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2010-08-10 13:01:49 +0000 |
commit | 0b789adc671b5b8bae94027d17e30696f01b23d8 (patch) | |
tree | a299419a58b33a47f01d32fe4ba3407bc97d1b33 /crypto/rsa/rsa_ameth.c | |
parent | 33d9c8348a91bcc7d58f481cef0d48f01d6708bf (diff) |
PR: 2315
Use consistent calculation for PSS salt length.
Diffstat (limited to 'crypto/rsa/rsa_ameth.c')
-rw-r--r-- | crypto/rsa/rsa_ameth.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/rsa/rsa_ameth.c b/crypto/rsa/rsa_ameth.c index 6f790c2548..cefac171a5 100644 --- a/crypto/rsa/rsa_ameth.c +++ b/crypto/rsa/rsa_ameth.c @@ -588,7 +588,11 @@ static int rsa_item_sign(EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn, if (saltlen == -1) saltlen = EVP_MD_size(sigmd); else if (saltlen == -2) + { saltlen = EVP_PKEY_size(pk) - EVP_MD_size(sigmd) - 2; + if (((EVP_PKEY_bits(pk) - 1) & 0x7) == 0) + saltlen--; + } pss = RSA_PSS_PARAMS_new(); if (!pss) goto err; |