easyrsa 制作 ssl 域名证书

获取 easyrsa

git clone https://github.com/OpenVPN/easy-rsa
cd ./easy-rsa/easyrsa3

配置公钥基础设施变量

cp vars.example vars
vim vars

修改内容示例

set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "BeiJing"
set_var EASYRSA_REQ_CITY "BeiJing"
set_var EASYRSA_REQ_ORG "Wise Innovation Inc."
set_var EASYRSA_REQ_EMAIL "user@mail.com"
set_var EASYRSA_REQ_OU "Wise Innovation"

初始化公钥基础设施 (PKI)

初始化

./easyrsa init-pki      # pki/{reqs,private} dir

这条命令同时可用于清理

生成 CA

./easyrsa build-ca      # pki/private/ca.key pki/ca.crt

输入密码

Enter PEM pass phrase:

确认密码

Verifying - Enter PEM pass phrase:

输入 CA 的名称, 如: Wise Innovation CA

Common Name (eg: your user, host, or server name)[Easy-RSA CA]:

生成证书

普通证书

# pki/private/www.domain.com.key pki/issued/www.domain.com.crt
./easyrsa build-server-full www.domain.com nopass

输入 CA 密码

Enter pass phrase for /path/to/pki/private/ca.key:

nopass 参数设定证书为无密码, 否则还需要设定证书密码

通配符证书

# pki/private/*.domain.com.key pki/issued/*.domain.com.crt
./easyrsa build-server-full *.domain.com nopass

Subject Alternative Name (SAN)

目前有个 bug
可以参照 这个提交 进行修改

# pki/private/*.a.com.key pki/issued/*.a.com.crt
./easyrsa --subject-alt-name=DNS:*.a.com,DNS:*.b.com,DNS:*.c.com build-server-full *.a.com nopass
2014-12-10 358 ssl easyrsa