diff options
author | nagendra modadugu <ngm@google.com> | 2016-02-22 15:31:38 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-03-30 20:38:12 -0700 |
commit | 19bfaa46e5d11f57d219962b6968f2518147a371 (patch) | |
tree | 999818c92e902ae0a17c0ea951a5842842d5e29b /board/cr50/tpm2/rsa.c | |
parent | 20f5efafc8c02ad1ada7dd1ca5256af9dfc439ab (diff) | |
download | chrome-ec-19bfaa46e5d11f57d219962b6968f2518147a371.tar.gz |
CR50: add support for RSA PKCS1-PSS padding
Add support for PSS padding as per RFC 3447.
BRANCH=none
BUG=chrome-os-partner:43025,chrome-os-partner:47524
TEST=tests under tpm2 pass
Change-Id: I14c58394f742daa5de4ec2fbeb7e7f14e54c9fcc
Signed-off-by: nagendra modadugu <ngm@google.com>
Reviewed-on: https://chromium-review.googlesource.com/328778
Commit-Ready: Nagendra Modadugu <ngm@google.com>
Tested-by: Nagendra Modadugu <ngm@google.com>
Reviewed-by: Nagendra Modadugu <ngm@google.com>
Diffstat (limited to 'board/cr50/tpm2/rsa.c')
-rw-r--r-- | board/cr50/tpm2/rsa.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/board/cr50/tpm2/rsa.c b/board/cr50/tpm2/rsa.c index b31a5012fb..526dc25c95 100644 --- a/board/cr50/tpm2/rsa.c +++ b/board/cr50/tpm2/rsa.c @@ -43,15 +43,18 @@ static int check_sign_params(TPM_ALG_ID padding_alg, TPM_ALG_ID hash_alg, enum padding_mode *padding, enum hashing_mode *hashing) { - /* TODO: add support for PSS. */ - if (padding_alg == TPM_ALG_RSASSA) { + if (padding_alg == TPM_ALG_RSASSA || + padding_alg == TPM_ALG_RSAPSS) { if (hash_alg == TPM_ALG_SHA1) *hashing = HASH_SHA1; else if (hash_alg == TPM_ALG_SHA256) *hashing = HASH_SHA256; else return 0; - *padding = PADDING_MODE_PKCS1; + if (padding_alg == TPM_ALG_RSASSA) + *padding = PADDING_MODE_PKCS1; + else + *padding = PADDING_MODE_PSS; } else { return 0; } |