main.go


编写生成证书的脚本:生成根私钥(用于签名证书),根证书,服务器私钥,服务器公钥等。

build_crt.sh

执行过程:

  1. bash build_crt.sh
  2. go build main.go
  3. 在浏览器中安装rootCA.crt为根证书
  4. ./main启动webserver
  5. 在浏览器中访问https://localhost:1234 或者 https://ip:1234,即可看到hello world, mydomain.com.,其浏览器地址显示安全锁,并非“不安全”的红三角。

参考实现双向认证:

参考wireshark抓包分析https报文: