为什么sslStream.AuthenticateAsServer不需要UAC和替代品

本文关键字:替代品 UAC 不需要 sslStream AuthenticateAsServer 为什么 | 更新日期: 2023-09-27 18:16:07

在调整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工作得很好)

为什么sslStream.AuthenticateAsServer不需要UAC和替代品

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

您是否已将证书安装在适当的证书存储区中?

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