创建带有证明的虚拟智能卡

Creating virtual smart cards with attestations

在过去几周的某个时候,在 Surface Pro 设备上创建虚拟智能卡时以下命令开始失败:

 tpmvscmgr create /generate /adminKey random /pin default /name Example /attestation AIK_AND_CERT

请求失败 (0x80190190) 错误请求 (400)

可以在没有 /attestation 标志的情况下创建虚拟智能卡(这是我过去通常所做的)。但是,当尝试生成包含证明的证书请求时,以这种方式创建的虚拟智能卡会失败。具体来说,尝试使用 CertificateRequestProperties 结构和 AttestationCredentialCertificate 字段集生成证书请求失败并显示 0x80100022 - 此智能卡确实不支持请求的功能.

这些错误发生在以前工作的设备上。任何想法为什么行为已经改变或者它是否是暂时的?

已通过将固件补丁应用到 Surface Pro 3 和 Surface Pro 4 设备解决了该问题。 Surface Pro 3 的固件更新工具在这里:https://www.microsoft.com/en-us/download/details.aspx?id=38826. The update for Surface Pro 4 is here: https://www.microsoft.com/en-us/download/details.aspx?id=49498。更新固件后,tpmvcsmgr 能够使用 AIK_AND_CERT 参数创建虚拟智能卡,并且 UWP API 可以在 CSR 中包含证明。 1803 更新似乎包含需要这些固件补丁的更改。