使用easy-rsa创建浏览器可以信任的CA证书,让自己的https服务器域名被信任(浏览器地址栏显示绿锁)
-
安装easy-rsa(假设在debian下完成)
apt update
apt install easy-rsa -
进入/usr/share/easy-rsa目录,新建一个名为vars的文本文件,内容如下。
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "省名"
set_var EASYRSA_REQ_CITY "城市名"
set_var EASYRSA_REQ_ORG "组织名"
set_var EASYRSA_REQ_EMAIL "邮箱地址"
set_var EASYRSA_REQ_OU "所在单位"
set_var EASYRSA_ALGO "rsa"
set_var EASYRSA_DIGEST "sha512"
set_var EASYRSA_CA_EXPIRE 3650
set_var EASYRSA_CERT_EXPIRE 3000
-
创建并初始化pki目录
./easyrsa init-pki# 命令在/usr/share/easy-rsa下执行,执行后会生成pki目录 -
创建CA证书
./easyrsa build-ca nopass# 这里加nopass表示后续签发服务端证书的时候,可以免输入密码。此时会要求输入CA服务器的信息,尤其注意CN字段(填写CA服务器的域名) -
创建服务端证书请求文件和私钥
./easyrsa gen-req server nopass# 签发证书给服务器。nopass表示无密码, 要求输入服务端信息,请务必注意CN字段(填写被签发服务器的域名,我的CA服务器和https服务器是同一个,所以两个CN都用一个域名) -
给服务端证书做签名
./easyrsa sign server server# 生成服务端证书 /usr/share/easy-rsa/pki/issued/server.crt -
最后,生成的文件用途如下
/usr/share/easy-rsa/pki/ca.crt # CA证书,这个证书可以导入电脑或手机浏览器,这样就不会有不安全的提示了,而且浏览器也能网站登录记忆密码
/usr/share/easy-rsa/pki/issued/server.crt # https服务端证书
/usr/share/easy-rsa/pki/private/server.key # https服务端私钥
