HTTPS的传输过程需要使用公私钥对收发数据进行加密,为了防止中间人攻击,需要在服务器端配置证书,通常,证书由可信的CA(Certificate Authority,数字证书认证中心)机构颁发,但是需要收费,而且价格不菲,因此为了白嫖,可以使用自签名证书,即,自己扮演CA的角色,但可能不会被浏览器认可而被弹窗警告。
生成自签名证书需要使用openssl,在windows上的安装过程可以参考:
// 生成服务器端私钥
$ openssl genrsa -out server.key 1024
//生成服务端公钥
$ openssl rsa -in server.key -pubout -out server.pem
//生成CA私钥
$ openssl genrsa -out ca.key 1024
//生成csr文件
$ openssl req -new -key ca.key -out ca.csr
//生成自签名证书
$ openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
//生成server.csr文件
$ openssl req -new -key server.key -out server.csr
//生成带有ca签名的证书
$ openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
参考教程:
https://xie.infoq.cn/article/e021a8389f783e65d46149cc8