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