diff options
Diffstat (limited to 'agent/pkdecrypt.c')
-rw-r--r-- | agent/pkdecrypt.c | 8 |
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)); |