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