我想在C#中设置TLS1.2上的通信,在Java中,我们通过设置属性“ssl.enabled.protocols”来实现,在C#中查找相同的功能我正在使用.Net核心3.1和操作系统是Linux包:汇合的Kafka版本1.7.0
fjaof16o1#
如果您使用的是一些web客户端或smtp电子邮件发送程序,您可以在request之前添加此行
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
t9eec4r02#
把这个放在执行的最开始或最接近执行的某个地方:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 // Only if you need them - // | SecurityProtocolType.Tls13 // | SecurityProtocolType.Tls11 // | SecurityProtocolType.Tls ;
与上面和下面的一些评论中的错误信息相反,并不总是保证TLS 1.2会在它可用的每一个环境中打开。当然,这对旧操作系统和.NET版本来说是一个更大的问题,但这并不意味着TLS 1.2不能使用-它只是意味着你必须显式地设置它。许多来源会告诉您,在较旧的环境中,必须在Windows注册表中执行此操作,但您也可以通过上面的代码启用它。另请参见this thread了解更多详细信息。编辑-在OP的澄清评论之后,我将|=更改为“=”,因为他们实际上希望禁用除1.2之外的任何TLS版本。
|=
2条答案
按热度按时间fjaof16o1#
如果您使用的是一些web客户端或smtp电子邮件发送程序,您可以在request之前添加此行
t9eec4r02#
把这个放在执行的最开始或最接近执行的某个地方:
与上面和下面的一些评论中的错误信息相反,并不总是保证TLS 1.2会在它可用的每一个环境中打开。当然,这对旧操作系统和.NET版本来说是一个更大的问题,但这并不意味着TLS 1.2不能使用-它只是意味着你必须显式地设置它。
许多来源会告诉您,在较旧的环境中,必须在Windows注册表中执行此操作,但您也可以通过上面的代码启用它。
另请参见this thread了解更多详细信息。
编辑-在OP的澄清评论之后,我将
|=
更改为“=”,因为他们实际上希望禁用除1.2之外的任何TLS版本。