asp.net - 如何添加到 ASP.NET HttpRequest 客户端可用的密码套件?

标签 asp.net ssl encryption

当我的 ASP.NET 网站在 Windows 7 机器上运行时,它可以连接(以编程方式作为“客户端”)到另一台 Windows 7 机器上的 SSL 加密服务(“服务器”)。

但如果我的网站在生产环境中(windows server 2003),服务的 windows 日志显示:

从远程客户端应用程序接收到 TLS 1.0 连接请求,但服务器不支持客户端应用程序支持的密码套件。 SSL 连接请求失败。

(服务正在使用由 makecert.exe 创建的自签名证书,但我看不到如何让 makecert 允许更多密码套件......或者我是否在 2003 盒子上安装一些东西......?这: https://serverfault.com/questions/166750 对我不起作用,因为我没有使用 CSR)

最佳答案

解决方案是再次生成我的证书,这次强制使用 RSA 和 SHA1(尽管 SHA1 应该是默认值)。出于某种原因,Win Server 2k3 不能或不会使用具有默认 makecert 证书的正确密码。这是对我有用的命令行:

ma​​kecert -pe -r -ss my -sr localMachine -n​​ "CN=domainnameoripaddressgoeshere.com"-e 01/01/2098 -a sha1 -eku 1.3.6.1.5.5.7.3.1 -sky exchange -sp "Microsoft RSA SChannel 加密提供程序"-sy 12

有关详细信息,请参阅 http://mgowen.com/2013/06/19/cipher-suites-issue/http://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.110).aspx .

如果发现此内容的任何人确实想了解密码套件,那么我在此过程中发现的一些内容可能会对您有所帮助:

  • 您可以使用此修补程序将两个 RSA 密码套件添加到 Windows Server 2003:http://support.microsoft.com/kb/948963
  • 您可以在 HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers 下的注册表编辑器(Windows 注册表编辑器)中查看支持哪些密码
  • 您可以使用 IIS Crypto(一个免费的密码配置应用程序,https://www.nartac.com/Products/IISCrypto/)查看和启用/禁用密码(包括上面的修补程序密码)。

关于asp.net - 如何添加到 ASP.NET HttpRequest 客户端可用的密码套件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141156/

相关文章:

android - Retrofit 不支持 CLEARTEXT 通信

ssl - 我应该在 SSL 加密之前或之后压缩我的数据流吗?

c# - IISExpress 找不到使用 Visual Studio 2013 运行本地主机的 ssl 页面

asp.net - 下拉列表出现在 ajaxmodalpopup 后面

javascript - 如何根据设备加载样式表和javascript和jquery

c# - 使用 CI 工具自动部署

c# - 连接到 ftps ://URL

尝试用 Knife 创建 EC2 服务器时出现 SSLError

.net - 单点触控 : How to protect my application

php - hash() 与 crypt() 函数比较