加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 限制除TLS 1.2 serverside WCF之外的任何东西

发布时间:2020-12-15 03:53:14 所属栏目:百科 来源:网络整理
导读:我有一个简单的问题,但在任何地方找不到答案. 我有一个WCF服务器应用程序.我希望它只能使用TLS1.2. 我无法控制客户端,无法编辑机器上的SCHANNEL设置. 我已经尝试了以下内容,这似乎只适用于传出连接(客户端) System.Net.ServicePointManager.SecurityProtocol
我有一个简单的问题,但在任何地方找不到答案.
我有一个WCF服务器应用程序.我希望它只能使用TLS1.2.

我无法控制客户端,无法编辑机器上的SCHANNEL设置.

我已经尝试了以下内容,这似乎只适用于传出连接(客户端)

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

有没有办法限制任何东西,但TLS 1.2服务器每个代码?

编辑:
我正在使用net.tcp绑定并创建这样的绑定:

private static Binding CreateNetTcpBinding()
    {
        return new NetTcpBinding
        {
            ReceiveTimeout = TimeSpan.FromMinutes(10),ReliableSession =
            {
                Enabled = true,InactivityTimeout = TimeSpan.FromMinutes(1)
            },Security =
            {
                Mode = SecurityMode.Transport,Transport =
                {
                    ClientCredentialType = TcpClientCredentialType.Windows,ProtectionLevel = ProtectionLevel.EncryptAndSign,SslProtocols = SslProtocols.Tls12
                },Message =
                {
                    AlgorithmSuite = SecurityAlgorithmSuite.xxx <-- not here on purpose,ClientCredentialType = MessageCredentialType.Windows
                }
            }
        };
    }

如果有人可以告诉我在哪里检查当前连接的TLS版本(某些上下文),这也是足够的!

先谢谢你!

解决方法

您是否尝试使用ServicePointManager.ServerCertificateValidationCallback.This回调让您有机会自己验证服务器证书.例如:
ServicePointManager.ServerCertificateValidationCallback = MyCertHandler; 
    ... 
static bool MyCertHandler(object sender,X509Certificate certificate,X509Chain chain,SslPolicyErrors error) 
{
     //Your logic here for certificate validation 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读