EasyRSA 是 OpenVPN 社区旗下的一个自项目,专门用来搭建一个 CA 的全部命令行套件。其本质是一套 shell 脚本,里面真正起作用的是 OpenSSL 的命令。如果,你非常熟悉的话,直接用 OpenSSL 也是可以的。
1. 下载
https://hub.fastgit.org/OpenVPN/easy-rsa/releases
Windows 下运行 EasyRSA-Start.bat 打开一个 shell 环境
2. 建立 PKI and CA
2.1 使用 nopass
./easyrsa init-pki
./easyrsa build-ca nopass
此时,生成的 ca.key 私钥文件内容是没经过任何处理的,如下:
2.2 不使用 nopass
当不使用 nopass 时,默认 ca.key 会要求输入密码对私钥内容进行加密。
./easyrsa --batch build-ca
也可以使用以下管道方式避免交互式输入密码。
echo -e "pass\npass" | ./easyrsa --batch build-ca
此时 ca.key 私钥的内容如下,是经过一次加密处理之后的结果(如下图所示),能够起到保护私钥的作用,在使用时需要使用私钥密码先解密才可使用。
3. 总结
nopass 参数用于表示是否对私钥文件内容进行加密,是对私钥文件本身的保护,与数据传输过程无关。