aboutsummaryrefslogtreecommitdiffstats
path: root/agent/pkdecrypt.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/pkdecrypt.c')
-rw-r--r--agent/pkdecrypt.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/agent/pkdecrypt.c b/agent/pkdecrypt.c
index da370bb0a..16a15b9d0 100644
--- a/agent/pkdecrypt.c
+++ b/agent/pkdecrypt.c
@@ -88,8 +88,12 @@ agent_pkdecrypt (ctrl_t ctrl, const char *desc_text,
goto leave;
}
- err = divert_pkdecrypt (ctrl, desc_text, ctrl->keygrip, ciphertext,
- shadow_info, &buf, &len, r_padding);
+ if (agent_is_tpm2_key (s_skey))
+ err = divert_tpm2_pkdecrypt (ctrl, desc_text, ciphertext, shadow_info,
+ &buf, &len, r_padding);
+ else
+ err = divert_pkdecrypt (ctrl, desc_text, ctrl->keygrip, ciphertext,
+ shadow_info, &buf, &len, r_padding);
if (err)
{
log_error ("smartcard decryption failed: %s\n", gpg_strerror (err));