最近我开始使用 TPM(1.2 版),在检查了官方的 GnuTLS API 之后,我想知道哪些 API 函数是正确的,可以在芯片内执行所有加密操作(签名证书获取 pk+ 密钥等...) .
目前我能够在 TPM 之外获取这些数据,因此我可以在我的 C 代码中签名或获取私钥,但这不是我想要的。
谢谢大家!
最近我开始使用 TPM(1.2 版),在检查了官方的 GnuTLS API 之后,我想知道哪些 API 函数是正确的,可以在芯片内执行所有加密操作(签名证书获取 pk+ 密钥等...) .
目前我能够在 TPM 之外获取这些数据,因此我可以在我的 C 代码中签名或获取私钥,但这不是我想要的。
谢谢大家!
事件的顺序是这样的:
gnutls_tpm_key_list_get_url
以获取 TPM 密钥列表。gnutls_privkey_import_tpm_url
.gnutls_privkey_t
可以与抽象 API一起使用的对象,就像任何其他键一样。在您的情况下,您可能想要使用gnutls_privkey_sign_data
或类似的签名功能之一。请记住,使用这种方法会将您限制为 TPM 1.2。来自GnuTLS 文档:
请注意,我们建议不要将此 API 与 TPM 一起使用,因为它仅限于 TPM 1.2。我们建议改为对 TPM 使用 PKCS#11 包装器,例如 CHAPS14 或 opencryptoki15。这些将允许对 TPM 密钥使用标准智能卡和 HSM 功能(请参阅智能卡和 HSM)。