====EASY RSA 3快速指南====
Easy RSA是一个openvpn的子项目,用于创建安全网络所需的基础设施(PKI)和密钥,证书等。在Linux中,您如果安装好EASYRSA,可运行: ./easyrsa -h来获取相关的帮助。
这里列举一些常用的命令以帮助您快速搭好PKI和签发相关的证书。
最新的下载地址在:https://github.com/OpenVPN/easy-rsa/releases
截止到本文创建时,最新版本为[[https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz|V3.0.6]]:
下载后,在用户目录中解压:
tar xvf EasyRSA-3.0.4.tgz
根据vars.example来生成模板,提供关键参数
cp vars.example vars
找到下面这些并移除注释,修改成自己所需的参数:
#set_var EASYRSA_REQ_COUNTRY "US"
#set_var EASYRSA_REQ_PROVINCE "California"
#set_var EASYRSA_REQ_CITY "San Francisco"
#set_var EASYRSA_REQ_ORG "Copyleft Certificate Co"
#set_var EASYRSA_REQ_EMAIL "me@example.net"
#set_var EASYRSA_REQ_OU "My Organizational Unit"
#set_var EASYRSA_CERT_EXPIRE 1825
改成五年,默认证书有效期只有三年
1、在选定的系统中创建新的PKI和CA
./easyrsa init-pki (该命令生成pki目录,密钥和证书请求子目录,以及一个openssl配置文件)
./easyrsa build-ca
2、在openvpn服务端或客户端初始化PKI并生成密钥对和签名请求,通常如果CA根服务器和openvp服务端,在同一台电脑,就不需要再初始化PKI,而是直接生成密钥和签名请求。然后导入到CA。
./easyrsa init-pki (如果和CA同一个服务器且目录相同,无需再执行)
./easyrsa gen-req EntityName nopass(在服务端或客户端执行)
./easyrsa import-req /tmp/path/to/import.req EntityName (在CA服务器上执行)
./easyrsa sign-req client EntityName nopass(在CA服务器上执行)
在一个现成的pki里,一般只需gen-req和sign-req就可以生成证书了
3、把签名的证书传到对应的服务器上,包括CA证书(CA.crt),如果对应服务器之前还没有的话。这样客户端服务器上就有所需的密钥对,签名证书和CA证书。
* 在CA服务器上作废证书
./easyrsa revoke EntityName
./easyrsa gen-crl
* 生成 Diffie-Hellman (DH)
作为TLS服务器可能会用到它,通常在VPN服务端的PKI生成。
./easyrsa gen-dh
* 查看证书或签名请求
./easyrsa show-req EntityName
./easyrsa show-cert EntityName
* 更改密钥
./easyrsa show-req EntityName
./easyrsa show-cert EntityName
也可以在命令行参数中用"nopass"取消密钥。