缺少"管理私人钥匙"选项

Ale*_*lex 20 c# wcf wcf-security x509certificate

我正在使用Windows 2008R2下IIS 7.5上托管的Transport Security开发WCF服务.我有一个在IIS 7.5中生成的证书,该证书存储在Local文件夹中.

当我使用BasicHttpBinding或WSHttpBinding与传输安全 - 一切正常.但当我将其更改为NetTcp时,我得到一个例外:

 CryptographicException 'Keyset does not exist'. 
Run Code Online (Sandbox Code Playgroud)

经过一些谷歌搜索后,我发现问题可能是因为我的NETSERVICE IIS帐户没有预先设置我的证书的私钥.

解决方案是通过右键单击我的证书并选择"MANAGE PRIVATE KEYS"选项来设置MMC中的访问权限.但是在选择菜单中没有这样的选项!证书是在管理员帐户下创建的,我打开它 - 它说它有私钥.我做错了什么?

Man*_*ain 17

转到服务器 - >单击开始 - >运行 - >键入mmc - >输入 - >选择带本地计算机的证书管理单元选项 - >转到控制台根目录 - >证书 - >个人 - >证书 - >选择证书 - >右键单击 - >转到所有任务 - >管理私钥 - >添加权限

  • 只需添加 -> 对于“管理私钥”,您应该导入 .pfx 文件而不是 .cer (3认同)

Dev*_*Dev 8

我第一次尝试添加证书时,缺少"管理私钥"选项.最后通过以下两个步骤纠正它.

  1. 以管理员身份管理MMC.文件 - >添加或删除管理单元 - >选择证书 - >单击添加按钮.这将打开一个对话框.此管理单元将始终管理证书:选择计算机帐户.选择要管理此管理单元的计算机:选择"本地计算机".单击完成.点击确定.

  2. 在个人文件夹中导入证书(所有任务 - >导入)时,请确保导入.pfx文件而不导入.cer文件.


Igo*_*cki 7

在 Windows 10 1809 中,似乎“管理私钥”选项仅适用于个人存储中的证书。解决方法是将证书拖放到那里,根据需要添加权限并将其拖回您需要的位置。


kbe*_*l2k 5

我遇到了同样的问题(缺少管理私钥选项).为了使其显示,我必须使用"计算机帐户"选项而不是默认的"我的用户帐户"添加"证书"管理单元