准备
EasyRSA
下载 EasyRSA (本文以 EasyRSA-3.1.7.tgz 为例)
签署证书
本文演示 CA、服务器端、客户端均在同一设备下生成,若在不同设备下请参考官方文档 。
解压 EasyRSA
Windows
- 使用压缩软件解压下载好的 EasyRSA 压缩包
- 进入 EasyRSA 文件目录,运行
EasyRSA-Start.bat
Linux
|
|
配置 vars
- 在 EasyRSA 目录下有名为
vars.example的文件,复制该文件名并命名为vars(即去掉后缀 .example) - 打开文件,在文件末尾添加如下内容并保存(变量值自行修改):
|
|
创建 CA(证书颁发机构)
在 EasyRSA 目录下执行如下命令:
|
|
说明:
init-pki会生成一个pki文件夹build-ca命令会自动使用目录下的vars文件build-ca命令需要输入CA Key Passphrase(请保存好,后续会使用)build-ca命令需要输入Common Name(默认Easy-RSA CA),直接回车即可。- 最终会在
pki目录下生成ca.crt
签署服务端证书
生成 keypair/request
|
|
说明:
ovpn-server可以改成任意名称,仅用于命名请求文件。- 此命令会需要输入
PEM pass phrase(请保存好)。如果不需要加密密钥,请在上述命令追加nopass - 同样需要输入
Common Name(默认ovpn-server),直接回车即可 - 最终会生成两个文件
pki/reqs/ovpn-server.req和pki/private/ovpn-server.key
签署证书
|
|
说明:
- 如果你在 生成 keypair/request 时不是使用的
ovpn-server,请替换为你所输入的内容 - 会提示你确认信息,输入
yes - 需要输入
ca.key即创建 CA 时所输入的CA Key Passphrase - 最终会生成
pki/issued/ovpn-server.crt
签署客户端证书
生成 keypair/request
|
|
说明:
ovpn-client可以改成任意名称,仅用于命名请求文件。- 此命令会需要输入
PEM pass phrase(请保存好)。如果不需要加密密钥,请在上述命令追加nopass - 同样需要输入
Common Name(默认ovpn-client),直接回车即可 - 最终会生成两个文件
pki/reqs/ovpn-client.req和pki/private/ovpn-client.key
签署证书
|
|
说明:
- 如果你在 生成 keypair/request 时不是使用的
ovpn-client,请替换为你所输入的内容 - 会提示你确认信息,输入
yes - 需要输入
ca.key即创建 CA 时所输入的CA Key Passphrase - 最终会生成
pki/issued/ovpn-client.crt
生成密钥交换文件
|
|
说明:
- 最终会生成
pki/dh.pem
总结
Conclusion
最终我们可以获得以下相关文件:
- ca.crt
- ovpn-server.key
- ovpn-server.crt
- ovpn-client.key
- ovpn-client.crt
- db.pem