package tcp_listen
import (
"crypto/rand"
"crypto/tls"
"net"
)
func Servertls(addr, crt, key string) (net.Listener, error) {
cert, err := tls.LoadX509KeyPair(crt, key)
if err != nil {
return nil, err
}
config := tls.Config{Certificates: []tls.Certificate{cert}}
config.Rand = rand.Reader
listener, err := tls.Listen("tcp", addr, &config)
if err != nil {
return nil, err
}
return listener, nil
}<pre name="code" class="html">import (
"crypto/tls"
"net"
)
func ClientTls(addr, crt, key string) (net.Conn, error) {
cert, err := tls.LoadX509KeyPair(crt, key)
if err != nil {
return nil, err
}
config := tls.Config{Certificates: []tls.Certificate{cert}, InsecureSkipVerify: true}
conn, err := tls.Dial("tcp", addr, &config)
if err != nil {
return nil, err
}
return conn, nil
}Golang tls 链接通信
最新推荐文章于 2026-03-02 04:16:46 发布
本文介绍了一种使用Go语言实现的TLS加密通信方法,包括服务端与客户端的建立过程。通过加载X509证书对TCP连接进行加密升级,确保了数据传输的安全性。
2364

被折叠的 条评论
为什么被折叠?



