当前位置: 首页 > 知识库问答 >
问题:

无法在C#中使SslStream接受。NET framework 4.6中的TLS 1.2协议

湛财
2023-03-14

为此,我在Windows 7 Professional SP1 PC上使用Visual studio 2015 express安装了。NET framework 4.6并编译了SW。VS中“应用程序”下的目标框架已设置为4.6

在SW中,我使用SslStream方法来验证证书,为了确保只使用TLS1.2,我输入以下行

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

我尝试在main()和创建新的SSL流之前插入这一行

为了进行测试,我使用openssl进行连接,命令如下:

openssl s_client-connect 10.0.0.101:1400-tls12-cert mycert.pem-key private.pem-cafile entrust.cer

我的问题是C#程序得到以下异常:

异常:对SSPI的调用失败,请参见内部异常。

内部异常:不支持请求的函数

SSLL握手已读取5字节,写入7字节

新的,(非),密码是(非)安全重新协商不支持压缩:无扩展:无无ALPN协商SSL-Session:协议:TLSV1.2密码:0000 session-id:session-id-ctx:主密钥:Key-Arg:无PSK标识:无PSK标识提示:无SRP用户名:无开始时间:1457011106超时:7200(秒)验证返回代码:0(确定)

如果我使用-tls1,则没有问题,所以我假设这是因为。NET SslStream不支持tls1_2(或tls1_1)

有人能解释我做错了什么吗

/Karsten

共有1个答案

上官华池
2023-03-14
sslStream.AuthenticateAsClient(hostname);
sslStream.AuthenticateAsClient(hostname, null, SslProtocols.Tls12, true);
 类似资料:
  • 当我尝试在Cordova项目上安装android平台时,会出现以下错误。我一直在遵循这个指南:https://cordova.apache.org/docs/en/latest/guide/cli/ 执行以下命令时出错:$cordova platform add android--保存 配置根项目“Android”时出现问题。您尚未接受以下SDK组件的许可协议:[Android SDK Platf

  • 问题内容: 我将SQL Server 2014更新为最新的修订包( 12.0.5207 )。在环境中,唯一启用的协议是TLS1.2(已为此目的设置了注册表项)。我可以使用Management Studio在本地和远程使用SA帐户连接到SQL Server。 但是,当我尝试使用Java代码和JDBC驱动程序 sqljdbc42.jar 建立与SQL Server的连接时,会引发以下异常: 驱动程序无

  • 谢谢你! 我不认为这个问题是由一个接受许可协议的问题引起的(那只是下载),我认为这与一个buggy rpm包有关。发布这个RPM-I安装,java工作吗?您能导航到/usr/java/jdk1.7.0_07/jre/bin并运行Java吗?

  • 它仍然无法工作,并且现在得到了timeoutException。

  • 问题内容: 我正在将我的项目从Objective-c转换为Swift,并且正在使用一个Swift类,我正在尝试在Objective- c类中进行访问。我的问题是,在Objective-C类中不可访问。这是我的速成班: 当我查看文件时,看不到: 当我尝试在我的Objective-c类中使用时,出现编译器错误。 有人知道这个问题吗?如何在Objective-c中访问Swift协议? 问题答案: 您需要

  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出 在这种情况下我该怎么办?