【问题标题】:How to set TLS cipher for Go server?如何为 Go 服务器设置 TLS 密码?
【发布时间】:2015-09-22 10:27:56
【问题描述】:

我目前正在使用以下监听和服务命令来运行安全的 websocket/文件服务器:

http.ListenAndServeTLS(":443", "site.crt","site.key", router)

但是,我想将密码设置为 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 并设置最低 SSL/TLS 版本。

我该怎么做?

我想我需要以某种方式使用这个Config 结构,但我不知道该怎么做。

【问题讨论】:

    标签: ssl encryption go


    【解决方案1】:

    你可以在secrpc/tls_server.go看到一个例子:

    tls.Listen("tcp", addr, &tls.Config{
        Certificates: []tls.Certificate{cert},
        CipherSuites: []uint16{
            tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
            tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
        },
        MinVersion:               tls.VersionTLS12,
        PreferServerCipherSuites: true,
    })
    

    另请参阅 go/issues/11047 以获取使用 ListenAndServeTLS 的示例:一旦定义了 Config,您就可以定义服务器:

    server := &http.Server{Addr: ":4000", Handler: nil, TLSConfig: config}
    server.ListenAndServeTLS(tlsPublicKey, tlsPrivateKey)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-17
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      • 2017-06-21
      相关资源
      最近更新 更多