summaryrefslogtreecommitdiff
path: root/board/cr50/tpm2/rsa.c
diff options
context:
space:
mode:
authornagendra modadugu <ngm@google.com>2016-02-22 15:31:38 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-03-30 20:38:12 -0700
commit19bfaa46e5d11f57d219962b6968f2518147a371 (patch)
tree999818c92e902ae0a17c0ea951a5842842d5e29b /board/cr50/tpm2/rsa.c
parent20f5efafc8c02ad1ada7dd1ca5256af9dfc439ab (diff)
downloadchrome-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.c9
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;
}