我正在尝试执行“加密提供程序开发工具包”提供的示例;在这种情况下,一个专门称为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专业版。
感谢。
答案 0 :(得分:0)
我认为原因是因为Sample KSP使用自定义结构(SAMPLEKSP_KEY
)来存储密钥,而不是PFX兼容的结构,例如_BCRYPT_RSAKEY_BLOB
。