aboutsummaryrefslogtreecommitdiffstats
path: root/agent/pksign.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/pksign.c')
-rw-r--r--agent/pksign.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/agent/pksign.c b/agent/pksign.c
index ca9a35292..00b31ee45 100644
--- a/agent/pksign.c
+++ b/agent/pksign.c
@@ -397,11 +397,17 @@ agent_pksign_do (ctrl_t ctrl, const char *cache_nonce,
if (desc_text)
agent_modify_description (desc_text, NULL, s_pkey, &desc2);
- err = divert_pksign (ctrl, desc2? desc2 : desc_text,
- ctrl->keygrip,
- data, datalen,
- ctrl->digest.algo,
- shadow_info, &buf, &len);
+ if (agent_is_tpm2_key (s_skey))
+ err = divert_tpm2_pksign (ctrl, desc2? desc2 : desc_text,
+ data, datalen,
+ ctrl->digest.algo,
+ shadow_info, &buf, &len);
+ else
+ err = divert_pksign (ctrl, desc2? desc2 : desc_text,
+ ctrl->keygrip,
+ data, datalen,
+ ctrl->digest.algo,
+ shadow_info, &buf, &len);
xfree (desc2);
}
if (err)