gpt4 book ai didi

c# - 通过 TCP 连接时确定 SSL 连接类型

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:15 25 4
gpt4 key购买 nike

我正在使用以下代码连接到主机:

protected bool OpenSocket(string hostIPAddress, int hostIPPort)
{
try
{
if ((this._tcpSocket != null) && (this._tcpSocket.Connected == true))
return (true);
}
catch { }

// Reset variables
this._isSocketOpen = false;
this._isSSLOpen = false;

string ipAddress = this.GetHostIPAddress(hostIPAddress);
this._tcpSocket = new TcpClient(ipAddress, hostIPPort);
this._tcpipConnectionStream = this._tcpSocket.GetStream();
this._isSocketOpen = true;
return true;
}

连接到主机时,有什么方法可以确定 SSL 连接类型(即 SSL2、SSL3、TL1.2)?我研究过使用这样的东西:

SslStream sslStream = new SslStream(this._tcpSocket.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
sslStream.AuthenticateAsClient(hostIPAddress);

但是我认为那是为了设置 SSL 协议(protocol),不是吗,而不是获取它?我很迷茫。

最佳答案

您可以通过查询 SslStream 类型的 SslProtocol 属性来检查连接的类型。

SslStream sslStream = new SslStream(this._tcpSocket.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
sslStream.AuthenticateAsClient(hostIPAddress);
Console.WriteLine(sslStream.SslProtocol);

此属性将从枚举返回一个值 SslProtocols

有关此属性的更多信息,请参阅 MSDN

关于c# - 通过 TCP 连接时确定 SSL 连接类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com