Go TCP服务器中的X509服务器身份验证
我正在使用以下C代码:Go TCP服务器中的X509服务器身份验证,go,server,x509certificate,x509,x509certificate2,Go,Server,X509certificate,X509,X509certificate2,我正在使用以下C代码: netStream = new SslStream(client.GetStream(), false); var cert = new X509Certificate2("mycert.pfx", "123456"); netStream.AuthenticateAsServer(cert); 如果服务器在Golang中使用TCP协议,那么X509服务器身份验证的等效性是什么 这是我目前使用的Golang代码: func main() { l, err :=
netStream = new SslStream(client.GetStream(), false);
var cert = new X509Certificate2("mycert.pfx", "123456");
netStream.AuthenticateAsServer(cert);
如果服务器在Golang中使用TCP协议,那么X509服务器身份验证的等效性是什么
这是我目前使用的Golang代码:
func main() {
l, err := net.Listen("tcp", ":42127")
if err != nil {
fmt.Println("Error listening:", err.Error())
os.Exit(1)
}
defer l.Close()
for {
conn, err := l.Accept()
if err != nil {
fmt.Println("Error accepting: ", err.Error())
os.Exit(1)
}
go handleRequest(conn)
}
}
func handleRequest(conn net.Conn) {
buf := make([]byte, 1024 * 8)
reqLen, err := conn.Read(buf)
if err != nil {
fmt.Println("Error reading:", err.Error())
}
conn.Write([]byte("Message received."))
conn.Close()
}
您是否确实尝试过使用tls软件包?请注意,Go库需要PEM编码的证书和密钥。试试看?@holys比这更简单: