我正在开发 WCF 服务,其传输安全托管在 Windows 2008R2 下的 IIS 7.5 上。我有一个证书,在 IIS 7.5 中生成,存储在本地文件夹中。
当我使用具有传输安全性的 BasicHttpBinding 或 WSHttpBinding 时 - 一切正常。但是当我将它更改为 NetTcp 时,我得到了一个异常:
CryptographicException 'Keyset does not exist'.
经过一番谷歌搜索后,我发现问题可能是因为我的 NETSERVICE IIS 帐户对我的证书的私钥没有权限。
解决方案可能是通过右键单击我的证书并选择“管理私钥”选项来设置 MMC 中的访问权限。但是选择菜单中没有这样的选项!!!证书是在管理员帐户下创建的,在我打开它的地方 - 它说它有私钥。我做错了什么?