我们的应用程序(C#、Win10、WPF)需要存储一个私钥,用于对发送到硬件设备的消息进行签名。该设备信任我们的 CA,因此我希望 CA 为我们签署证书。
我一直在研究 Windows 上的 TPM API,但我无法弄清楚如何创建私钥,将其存储在 TPM 中,创建 CSR,然后锁定 TPM,因此任何进程都无法读取或修改私钥。理想情况下,我想限制 TPM 访问,以便只有某些进程可以使用该密钥对数据进行签名。
有谁知道如何在 Windows 10 中执行此操作以及要使用哪些 API?
我们的应用程序(C#、Win10、WPF)需要存储一个私钥,用于对发送到硬件设备的消息进行签名。该设备信任我们的 CA,因此我希望 CA 为我们签署证书。
我一直在研究 Windows 上的 TPM API,但我无法弄清楚如何创建私钥,将其存储在 TPM 中,创建 CSR,然后锁定 TPM,因此任何进程都无法读取或修改私钥。理想情况下,我想限制 TPM 访问,以便只有某些进程可以使用该密钥对数据进行签名。
有谁知道如何在 Windows 10 中执行此操作以及要使用哪些 API?
试试这个: https ://security.stackexchange.com/a/179422/68088
您需要使用配置参数创建一个 inf 文件。TPM 将其转换为 CSR,您可以将其发送到您的 CA。如果 Windows 10 机器配备了 TPM,则上述指南特别有用。