Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows 7上的SSL客户端SSPI错误_C#_.net_Ssl_Sspi - Fatal编程技术网

C# Windows 7上的SSL客户端SSPI错误

C# Windows 7上的SSL客户端SSPI错误,c#,.net,ssl,sspi,C#,.net,Ssl,Sspi,我用C#.NET Win Forms编写了一个SSL客户端。我已将我的证书(公钥)添加到系统根存储中(通过.NET代码或通过Internet Explorer手动,两者都可以),在Windows XP上运行良好,但在Windows 7上,尝试验证客户端()时出现以下身份验证异常: 客户端和服务器无法通信,因为它们没有通用的算法 Microsoft支持列出一些注册表项的文档,并说明在Windows 7中默认启用(新的强项)或禁用(旧的过时项)的协议/密码/算法,因此我们可以通过编辑注册表来启用/禁

我用C#.NET Win Forms编写了一个SSL客户端。我已将我的证书(公钥)添加到系统根存储中(通过.NET代码或通过Internet Explorer手动,两者都可以),在Windows XP上运行良好,但在Windows 7上,尝试验证客户端()时出现以下身份验证异常:
客户端和服务器无法通信,因为它们没有通用的算法

Microsoft支持列出一些注册表项的文档,并说明在Windows 7中默认启用(新的强项)或禁用(旧的过时项)的协议/密码/算法,因此我们可以通过编辑注册表来启用/禁用它们。以下是这些链接:

由于我不擅长加密,我无法理解哪个注册表项与我的案例相匹配。下面是我用作客户端的X509Certificate对象的属性:

SignatureAlgorithm.FriendlyName:“sha1RSA
版本:3


有人能帮忙吗?

在努力处理Windows注册表项和值之后(工作正常,但不合逻辑,就像禁用其他项目一样!),我通过启用和编辑Windows密码套件顺序来解决问题,而不更改注册表中的任何内容

说明:

1-在Start>Run…中输入gpedit.msc本地组策略编辑器将打开。 2-转到计算机配置>管理模板>网络>SSL配置设置
3-双击右侧的SSL密码套件顺序项目。
4-在打开的窗口上选择启用单选按钮。在左中有一个文本框,其中包含一些逗号分隔的文本。在空记事本窗口中复制/粘贴文本。
5-首先移动您想要的项目(在我的例子中:TLS\u RSA\u与\u RC4\u 128\u SHASSL\u CK\u RC4\u 128\u与\u MD5
6-用新文本替换旧文本。
7-与注册表不同,您必须立即重新启动计算机才能使更改生效


希望有帮助。

服务器可能试图使用AES密码协商SSLv3.0连接。这种结合在技术上是非法的。看