我尝试为TPM生成CSR,以便将其发送给CA. 由于CSR需要使用存储在TPM内的私钥进行签名,因此我遇到了一些困难,而我偶然发现的大多数CSR生成代码都不知道如何使用TPM。
我想到的解决方案是自己创建CSR(使用c#)并使用常规TPM命令对其进行签名,但我似乎无法在不使用外部源的情况下从头开始构建CSR。
欢迎就此事提出任何意见或建议。 感谢
答案 0 :(得分:0)
您可以在这里找到certreq命令文档:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn296456(v%3dws.11)
您可以将“ certreq -new”命令与关联的inf文件一起使用,在该文件中,您可以定义证书请求的特征,包括“ ProviderName”属性。对于要由TPM创建并安全保存在证书中的私钥,您可以指示
ProviderName = "Microsoft Platform Crypto Provider"
如果该证书是与计算机帐户关联的设备证书,而不是单个用户,则还可以在inf文件中指出以下内容:
MachineKeySet = true
许多其他属性可用于定义证书的允许用例以及有关证书寿命和更新的特征。