0

在调整 Web 代理代码时,我注意到如果我在具有 UAC(用户访问控制)的应用程序中运行代码,我会遇到异常

这是引发异常的位置:

sslStream.AuthenticateAsServer(_certificate, false, SslProtocols.Tls | SslProtocols.Ssl3 | SslProtocols.Ssl2, false);

这是我得到的错误(使用 UAC)

The server mode SSL must use a certificate with the associated private key.

第一个问题:为什么?

第二个问题:有其他选择吗?我真的很想在 UAC 中运行它(请注意 http 工作正常)

4

2 回答 2

0

听起来您证书的私钥可能位于文件访问受限的某个地方。这样一来,不仅任何用户都可以读取您的私钥。以有限的权限运行服务的目的是什么?如果密钥仅用于此服务,您可以考虑删除它所在文件夹的安全限制,但如果此密钥适用于您的整个域,我会犹豫是否这样做......

于 2011-11-30T15:45:48.450 回答
0

您是否在适当的证书存储中安装了证书?

根据我在使用证书时的记忆,您加载的文件仅用作在 Windows 证书存储之一中标识服务器证书的参考。如果代理在一个帐户下运行,而不是在另一个帐户下运行,则可能您没有在该其他帐户的个人证书存储中安装证书。

于 2015-09-03T04:19:28.237 回答