`

使用easyrsa3来制作证书

阅读更多
最近研究如何在路由器上面实现openvpn的功能,其中便涉及到使用easyrsa来制作证书的问题,针对最新的openvpn-2.3.11源码包,easyrsa已经不包含在里面,需要单独下载,下载网址为https://github.com/OpenVPN/easy-rsa,下载下来是一个easy-rsa-master.zip压缩包,已上传为附件,在linux上面将其解压得到easy-rsa-master,进入easyrsa3,将vars.example复制一份命名为vars,此文件为制作证书时所使用到的配置文件,根据我的需要,我只打开了如下选项:
set_var EASYRSA_DN  "org"
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE    "Guangdong"
set_var EASYRSA_REQ_CITY    "Shenzhen"
set_var EASYRSA_REQ_ORG "XXX"
set_var EASYRSA_REQ_EMAIL   "me@myhost.mydomain"
/*************************************/
如果openvpn client的配置文件中使用了ns-cert-type server则要打开此选项,制作server证书时会将一些信息写入证书,如不打开此选项,则openvpn client会提示server certificate verify fail
set_var EASYRSA_NS_SUPPORT  "yes"
/*************************************/ 
下面就可以制作证书了,每条命令执行之后都有些信息输出,如出错,会提示相关错误信息
1 ./easyrsa init-pki
初始化,会在当前目录创建PKI目录,用于存储一些中间变量及最终生成的证书

2 ./easyrsa build-ca
创建根证书,首先会提示设置密码,用于ca对之后生成的server和client证书签名时使用,然后会提示设置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以键入回车使用默认的,也可以手动更改

3 ./easyrsa gen-req server nopass
创建server端证书和private key,nopass表示不加密private key,然后会提示设置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以键入回车使用默认的,也可以手动更改

4 ./easyrsa sign server server
给server端证书做签名,首先是对一些信息的确认,可以输入yes,然后输入build-ca时设置的那个密码

5 ./easyrsa gen-dh
创建Diffie-Hellman,时间会有点长,耐心等待

6 创建client端证书,需要单独把easyrsa3文件夹拷贝出来一份,删除里面的PKI目录,然后进入到此目录
./easyrsa init-pki
初始化,会在当前目录创建PKI目录,用于存储一些中间变量及最终生成的证书

7 ./easyrsa gen-req client nopass
创建client端证书和private key,nopass表示不加密private key,然后会提示设置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以键入回车使用默认的,也可以手动更改

8 回到制作server证书时的那个easyrsa3目录,导入client端证书,准备签名
./easyrsa import-req client.req所在路径 client
client.req应该在刚才制作client端证书的easyrsa3/pki/reqs/下面

9 ./easyrsa sign client client
给client端证书做签名,首先是对一些信息的确认,可以输入yes,然后输入build-ca时设置的那个密码

注意:ca、server和client的Common Name最好不要设置为一样,我没有验证,不过网上有人说设置一样后,openvpn连接时会有问题

至此,server和client端证书已制作完毕
openvpn server端需要的是
easyrsa3/pki/ca.crt   <制作server证书的文件夹>
easyrsa3/pki/private/server.key <制作server证书的文件夹>
easyrsa3/pki/issued/server.crt <制作server证书的文件夹>
easyrsa3/pki/dh.pem

openvpn client端需要的是
easy-rsa/easyrsa3/pki/ca.crt <制作server证书的文件夹>
easy-rsa/easyrsa3/pki/issued/client.crt <制作server证书的文件夹>
easy-rsa/easyrsa3/pki/private/client.key <制作client证书的文件夹>
分享到:
评论

相关推荐

    EasyRSA-2.2.2.tgz.rar

    EasyRSA是一款开源的工具,主要用于在OpenSSL库的基础上创建、管理和交换PKI(Public Key Infrastructure,公钥基础设施)中的证书。...同时,对于生产环境,建议使用更安全的EasyRSA 3或其他现代证书管理工具。

    EasyRSA-3.1.7.tgz

    本次上传的是EasyRSA的最新版本。 Easy-RSA是一个开源的证书管理工具,用于帮助用户生成和管理数字证书,该工具可以用于保护通讯,因此Easy-RSA也被广泛应用于多种场景,例如保护Web服务器、数据库、虚拟专用网络等...

    EasyRSA-3.0.4.tgz

    openwrt中的dl目录文件,编译工具链、目标平台的软件包等需要下载的文件

    Python库 | easyrsa-0.7.0-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:easyrsa-0.7.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    EasyRSA-3.0.1

    This is a quickstart guide to using Easy-RSA version 3. Detailed help on usage and specific commands by running easyrsa with the 'help' command. Additional documentation can be found in the doc/ ...

    easyrsa-2.2.2.zip

    easy-rsa-2.2.2.zip,现在已经都是3版本了,2版本找的也很辛苦,有需要的欢迎下载

    EasyRSA:phpseclib的简单而安全的包装器

    为了获得更好的安全性,您想使用而不是EasyRSA。 动机 尽管随着索引演算攻击的发展,RSA的长期安全性(至多)是有问题的(至多),但是在流行PHP密码库中实现RSA的方式仍然存在许多问题,使其今天容易受到攻击。 ...

    easyRsa3.1的tar包

    easyRsa3.1的tar包

    EasyRSA-3.2.0.tar.gz

    肯定需要用到easy-rsa软件,这里就为你提供一款 EasyRSA-3.2.0.tar.gz 版本的软件,本软件 Easy-RSA 是一个开源的证书管理工具,用于帮助用户生成和管理数字证书,这次版本比我上次上传的EasyRSA-3.1.7.tgz版本更新...

    EasyRSA, 简单且安全的phpseclib包装.zip

    EasyRSA, 简单且安全的phpseclib包装 EasyRSA 简单且安全的phpseclib 包装器。...为了获得更好的安全性,你需要使用 libsodium,而不是 EasyRSA 。动机在index密码攻击 attacks ( at )的长期安全性is问题,但在

    easy-rsa-2.2.0.tar.gz

    本文将深入探讨Easy RSA 2.2.0版本,以及如何使用它来建立自己的证书权威机构(Certificate Authority,简称CA)。 Easy RSA是一套基于Perl编写的脚本,其设计目标是降低创建、管理和分发X.509证书的复杂性。在...

    docker-easyrsa:Dockerized easyrsa:spouting_whale:

    码头工人-easyrsa 基于 。 标签 标签 Dockerfile构建上下文 :v3.0.7-alpine-3.12 :latest :v3.0.6-alpine-3.11 :v3.0.6-alpine-3.10 :v3.0.5-alpine-3.9 :v3.0.4-alpine-3.8 :v3.0.3-alpine-3.7 :v3.0.1-alpine-3.6...

    easy-rsa.tar.gz

    easy-rsa3.2.0

    easy-rsa-3.0.6-1-any.pkg.tar.xz

    easy-rsa-3.0.6 LINUX版本,经过测试没有问题

    easy-rsa-2.2.2.tar.gz

    easy-rsa-2.*.*版本源码tar包,现在yum,apt,安装一般都是3版本,欢迎下载!

    easy-rsa:easy-rsa-基于简单外壳的CA实用程序

    用外行术语来说,这意味着创建根证书颁发机构,并请求和签署证书,包括中间CA和证书吊销列表(CRL)。资料下载如果您正在寻找发行版下载,请参阅GitHub上的发行版部分。 版本也可以使用命名标签作为源签出。文献...

    homebrew-easy-rsa:Easy-rsa 的自制配方

    以后请直接使用brew install easy-rsa 。 谢谢你的支持! 此水龙头包含与相关的公式。安装 Tap brew tap riboseinc/easy-rsa安装easy-rsa brew install easy-rsa 如果公式与Homebrew/homebrew或其他水龙头中的公式...

    基于Python实现的RSA加密算法风二西原创设计源码

    包含1408个文件,涵盖951个Python源文件、228个文本文件、88个Sage数学文件、28个PEM密钥文件、18个Markdown文件、11个ZIP压缩文件、6个XML文件、4个公钥文件、3个easyrsa相关文件和3个其他文件。此项目属于柏鹭杯...

Global site tag (gtag.js) - Google Analytics