在Azure上的Windows Server 2012上部署时,键集不存在异常

时间:2013-01-08 09:01:43

标签: azure windows-server-2012

我将部署升级到Windows Server 2012时遇到问题,我的部署在osfamily = 2下工作正常,并使用.net4编译,但在.net4.5和osfamily = 3时失败,

我在远程访问vm时遇到的异常是" Keyset不存在",似乎与某些证书有关。我的程序使用证书加密某些流,并且应该能够在部署之后使用此证书对此流进行解码。 我检查了vm上的证书,它安装得很好,在正确的地方。 所以我怀疑这与2012年的不同安全策略存在问题,导致我的角色无法获得证书中的密钥。

这阻止了我一段时间所以非常感谢任何线索!

1 个答案:

答案 0 :(得分:5)

Keyset不存在通常是指当您的程序尝试访问证书的私钥并且无法执行此操作时出现错误,因为私钥不存在或者因为它没有访问权限< / p>

您需要在证书库中找到有问题的证书,验证它是否包含私钥(将显示在证书的属性中)

Certificate properties

然后通过右键单击证书存储中的证书并选择:所有任务 - >管理私钥,验证您的进程/应用程序池是否有权访问私钥。从那里,确保将足够的用户添加到允许列表

Add permissions

希望这有帮助