如何在C#上为Kafka生产者/消费者配置启用TLS 1.2?

wydwbb8l  于 2023-02-07  发布在  Apache
关注(0)|答案(2)|浏览(193)

我想在C#中设置TLS1.2上的通信,在Java中,我们通过设置属性“ssl.enabled.protocols”来实现,在C#中查找相同的功能
我正在使用.Net核心3.1和操作系统是Linux包:汇合的Kafka版本1.7.0

fjaof16o

fjaof16o1#

如果您使用的是一些web客户端或smtp电子邮件发送程序,您可以在request之前添加此行

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
t9eec4r0

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版本。

相关问题