aboutsummaryrefslogtreecommitdiffstats
path: root/agent/pkdecrypt.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2025-05-22 05:34:05 +0000
committerNIIBE Yutaka <[email protected]>2025-05-22 05:34:05 +0000
commit04782e7fd62923db8f4565bca2adc6cc349f667a (patch)
treebeac226345b464d7813c6e1c687e61f2e253d098 /agent/pkdecrypt.c
parentagent: Finish ECC KEM, adding support for NIST curves. (diff)
downloadgnupg-04782e7fd62923db8f4565bca2adc6cc349f667a.tar.gz
gnupg-04782e7fd62923db8f4565bca2adc6cc349f667a.zip
agent: Add support for TPM2 for ECC KEM.
* agent/agent.h (agent_tpm2d_ecc_kem): New. * agent/divert-tpm2.c (agent_tpm2d_ecc_kem): New. * agent/pkdecrypt.c (ecc_pgp_kem_decap): Call agent_tpm2d_ecc_kem. -- GnuPG-bug-id: 7649 Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'agent/pkdecrypt.c')
-rw-r--r--agent/pkdecrypt.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/agent/pkdecrypt.c b/agent/pkdecrypt.c
index 6fe69e20f..90d84ee3f 100644
--- a/agent/pkdecrypt.c
+++ b/agent/pkdecrypt.c
@@ -503,8 +503,13 @@ ecc_pgp_kem_decap (ctrl_t ctrl, gcry_sexp_t s_skey0,
{
if (s_skey0 && agent_is_tpm2_key (s_skey0))
{
- log_error ("TPM decryption failed: %s\n", gpg_strerror (err));
- return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+ err = agent_tpm2d_ecc_kem (ctrl, shadow_info0,
+ ecc_ct, ecc->point_len, ecc_ecdh);
+ if (err)
+ {
+ log_error ("TPM decryption failed: %s\n", gpg_strerror (err));
+ return err;
+ }
}
else
{