我的证书存储库去哪了?

28

因为我很厉害,所以我正在试图在我的7个64位机器上使用VS2k10 B2运行最新的WIF演示应用程序(我的脖子有胡须)。但我遇到了一些问题。

整个演示过程中需要我在本地计算机上安装一些证书。问题在于,他们要求我将一些网站证书安装到名为LocalMachine/My的证书存储中。然而,这里似乎不再有/My了。出现了一个可疑的相似存储称为Personal,但如果我将证书安装在那里并更改配置以查找LocalMachine/Personal,该应用程序就无法工作。

如果我将证书安装在TrustedPeople中(当我尝试使用Personal时抛出异常时,它被提到作为一个有效位置),那么这是否足够?在生产机器上这样做是否被认为是不好的做法?


Windows身份验证基础测试项目可以在此处找到:http://claimsbasedwpf.codeplex.com

异常信息:

属性名称:“certificateReference” 错误:“ID1025:无法找到与条件匹配的唯一证书。 StoreName:“My” StoreLocation:“LocalMachine” X509FindType:“FindBySubjectDistinguishedName” FindValue:“CN=busta-rpsts.com”


6
因为“我很棒”,所以我点赞了。 :D - Arnis Lapsa
2个回答

39
.NET与Windows的存储方式有所不同,这让人感到很棘手。当.NET谈论"My"存储时,Windows则称其为Personal存储。
证书的放置位置取决于它们的用途。Personal存储是用于您将使用的证书,其中包含公钥和私钥。Trusted People存储用于只有公钥而且需要添加显式信任的证书。
还要记住,如果您正在使用证书进行加密,则用户帐户必须具有对私钥的访问权限。对于安装在LocalMachine / My中的证书,管理员可以访问但是NETWORK SERVICE不能。您需要明确授予私钥访问权限。

13

您需要将证书安装在本地计算机存储而不是当前用户存储中。如果您双击它们进行安装,它们会被安装在当前用户中。请使用mmc快照将它们安装在本地计算机中。同时,如果您拥有访问权限,请以管理员身份运行VS。


这非常重要,我打开了本地计算机证书存储并没有意识到还有另一种类型。 - C Bauer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接