gpt4 book ai didi

c# - 验证 SSL 证书

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

我正在尝试通过 tls/ssl 将我的 c# 客户端连接到 node.js 服务器。服务器正在运行,我已经创建了我的证书。但是如果我想通过 TcpClient 连接到服务器,它会说证书无效。您可以对该证书进行自己的验证吗?你们有什么想法吗?

namespace Client
{
class Program
{
private static TcpClient _TcpClient = new TcpClient("localhost", 8000);
private static SslStream stream;
static void Main(string[] args)
{
stream = new SslStream(_TcpClient.GetStream());
stream.AuthenticateAsClient("localhost");

byte[] buffer = new byte[2048];

StringBuilder data = new StringBuilder();
int bytes = -1;
do
{
bytes = stream.Read(buffer, 0, buffer.Length);
Decoder decoder = Encoding.UTF8.GetDecoder();
char[] chars = new char[decoder.GetCharCount(buffer, 0, bytes)];
decoder.GetChars(buffer, 0, bytes, chars, 0);
data.Append(chars);
if (data.ToString().IndexOf("<EOF>") != -1)
{
break;
}

}
while (bytes != 0);
Console.WriteLine(data.ToString());
Console.ReadKey();
}

}
}

证书是自签名的,所以我必须与客户端一起发送,但我不知道如何发送。即使我通过 ServicePointManager.ServerCertificateValidationCallback = delegate { return true; 禁用验证};
,它不起作用(我只是把它放在main方法的第一行)。

最佳答案

所以,我只是没有更改代码,我只是按照本指南在我的服务器上安装了证书:https://technet.microsoft.com/en-us/library/ff730672.aspx

关于c# - 验证 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52986139/

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