我开发WCF服务,交通运输安全在Windows 2008 R2上的IIS 7.5托管。 我有一个证书,IIS 7.5中产生的,其被存储在本地文件夹中。
当我使用basicHttpBinding的或用的WSHttpBinding运输安全 - 一切正常。 但是,当我将其更改为NetTcp我得到一个异常:
CryptographicException 'Keyset does not exist'.
有点谷歌搜索后,我发现,这个问题可能是因为我的NETSERVICE IIS帐户没有premission我的证书的私钥。
该解决方案是设置的权限通过我的证书,选择右键单击在MMC以accesss“管理私钥”选项。 但在选择菜单中没有这样的选择! 该证书在管理员帐户创建,在那里我打开它 - 它说,它有私钥。 我是我做错了吗?
Answer 1:
进入服务器 - >点击开始 - >运行 - >键入mmc - >进入 - >选择证书管理单元在本地计算机选项 - >去控制台根 - >证书 - > Personal->证书 - >选择cert->右键单击 - >转到所有任务 - >管理专用键 - >添加权限
Answer 2:
管理私钥选项是缺少当我第一次尝试添加证书。 最后,通过以下两个步骤纠正它。
然MMC作为管理员。 文件 - >添加或删除管理单元INS->选择证书 - >点击添加button.This将打开一个对话框。 此管理单元将始终管理证书:选择计算机帐户。 选择您希望此管理单元来管理计算机:选择本地计算机。 点击完成。 单击确定。
当您导入证书(所有任务 - >导入)在个人文件夹,请确保