无法将PFX导入Microsoft样本密钥存储提供程序(加密提供程序开发工具包)

时间:2016-05-03 11:02:08

标签: c++ c cryptography

我正在尝试执行“加密提供程序开发工具包”提供的示例;在这种情况下,一个专门称为KeyStorageProviderSample的示例。在此示例中,只需使用-register参数执行.exe,即可​​在系统中创建名为“Microsoft Sample Key Storage Provider”的新密钥存储提供程序:

symmclient -register

此时一切正常;如果我在系统中列出KSP,我会得到完整的清单:

symmclient -enum

刚刚创建的“Microsoft Sample Key Storage Provider”已列出。但是,当我尝试将PFX证书导入其中时,它不起作用:

Certutil -CSP "Microsoft Sample Key Storage Provider" -user -importPFX  "mycert.pfx"

我收到0x80090009错误。对“Microsoft软件密钥存储提供程序”执行的相同命令非常有效。看来,此示例中创建的KSP缺少“Microsoft软件密钥存储提供程序”所具有的功能。

创建自己的KSP需要什么?我正在使用Windows 7专业版。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为原因是因为Sample KSP使用自定义结构(SAMPLEKSP_KEY)来存储密钥,而不是PFX兼容的结构,例如_BCRYPT_RSAKEY_BLOB