相关疑难解决方法(0)

Golang - 具有自签名证书的TLS

我正在尝试使用自签名服务器证书建立TLS连接.

我使用以下示例代码生成证书:http://golang.org/src/pkg/crypto/tls/generate_cert.go

我的相关客户端代码如下所示:

// server cert is self signed -> server_cert == ca_cert
CA_Pool := x509.NewCertPool()
severCert, err := ioutil.ReadFile("./cert.pem")
if err != nil {
    log.Fatal("Could not load server certificate!")
}
CA_Pool.AppendCertsFromPEM(severCert)

config := tls.Config{RootCAs: CA_Pool}

conn, err := tls.Dial("tcp", "127.0.0.1:8000", &config)
if err != nil {
    log.Fatalf("client: dial: %s", err)
}
Run Code Online (Sandbox Code Playgroud)

以及相关的服务器代码:

cert, err := tls.LoadX509KeyPair("./cert.pem", "./key.pem")
config := tls.Config{Certificates: []tls.Certificate{cert}}
listener, err := tls.Listen("tcp", "127.0.0.1:8000", &config)

for {
    conn, err := listener.Accept()
    if err != …
Run Code Online (Sandbox Code Playgroud)

ssl go

27
推荐指数
2
解决办法
5万
查看次数

标签 统计

go ×1

ssl ×1