Go 实现 TLS 双向认证

Python012

Go 实现 TLS 双向认证,第1张

会在 config 文件夹中生成 ca.key 和 ca.crt 文件

将会在 config 文件夹中生成 server.key 、 server.csr 和 server.crt 文件

签名方式: SHA-256 ,默认的 SHA-1 签名算法安全性不够高,Go 中会出现警告。

将会在 config 文件夹中生成 client.key 、 client.csr 和 client.crt 文件

签名方式: SHA-256 ,默认的 SHA-1 签名算法安全性不够高,Go 中会出现警告。

wireshark 截图如下:

连接包含了认证,可以使用 password 或者 sshkey 2种方式来认证。下面的示例为了简单,使用了密码认证的方式来完成连接。

import (

"fmt"

"time"

"golang.org/x/crypto/ssh"

)

func connect(user, password, host string, port int) (*ssh.Session, error) {

var (

auth []ssh.AuthMethod