go中的ssl.wrap_socket实现

时间:2017-09-06 09:41:11

标签: python ssl go

在python中,您可以使用ssl包装标准套接字。详细的文档可以在这里找到,https://docs.python.org/2/library/ssl.html

我想要类似的东西。这是我的尝试。

func GetSSLWrappedConnection() (SSLWrappedConnection net.Conn, err error){

fmt.Println("Initialiazing proxy connection")
rawConn, er_ := net.Dial("tcp", "127.0.0.1:8080")
if  er_ != nil {
    return nil, fmt.Errorf("Can't establish connection with remote server!")
} else {
    // now we need to wrap the connection (SSL Wrap)
    var TLSconfig *tls.Config
    TLSconfig = &tls.Config{
                InsecureSkipVerify: true}

    ssl_wrapped_connection := tls.Client(rawConn, TLSconfig)
    err = ssl_wrapped_connection.Handshake()

    if err != nil {
        fmt.Println(err)
        rawConn.Close()
        return nil, err
    }
    return ssl_wrapped_connection, nil
}

}

这是正确的实施吗?

1 个答案:

答案 0 :(得分:0)

提出错误的问题。

一个简单的tls.Dial会做!