我们有一个需要访问证书私钥的应用程序。我们还有一个Nightlybuild可以设置证书(使用certmgr从pfx文件导入它)。只要证书的设置和证书的访问在相同的Windows用户(Windows7)下运行,这就可以正常工作。
现在,我们想介绍一个测试(在Nightlybuild中自动执行),其中另一个用户将调用需要访问证书私钥的程序,我正在努力使用MMC控制台 - >所有任务 - >管理私钥。
对我来说,看起来我可以更改“管理私钥”的安全设置中的任何内容,但它与证书的真实ACL没有任何关系。我可以将问题减少到以下手动步骤:
虽然User2应该可以访问私钥。所以在我看来,MMC中的User1(User1和User2都在Administrators组中)的设置没有任何意义,并且被访问私钥的.NET API忽略了?
有没有人知道为什么会这样,我怎么能说服Windows我们真的希望两个用户能够读取证书的私钥?
感谢您的帮助 迈克尔
答案 0 :(得分:0)
我刚刚遇到了同样的问题。我试图以未在系统上导入证书的用户身份使用代码签名证书。原来导入证书的时候没有导入,所以可以导出私钥。
我能够通过以下方式解决我们的问题:
在这些步骤之后,我的第二个用户能够正确使用代码签名证书。