Easy-RSA 3文档自述文件
本文档说明了Easy-RSA 3及其各个功能的工作方式。
如果您进行快速入门时,一无所知或知之甚少.查看在目录下的 特定实现的说明或Readme自述文件是一个好方法。
Easy-RSA概述
Easy-RSA是用于管理X.509 PKI或公用密钥基础结构的实用程序。一种 PKI基于信任特定机构对身份验证进行身份验证的概念 远程对等有关PKI工作原理的更多背景,请参阅“ PKI简介”。 文件。
该代码是用与平台无关的POSIX外壳编写的,可广泛用于 主机系统范围。 Windows官方发行版还附带了 Easy-RSA所需的程序。外壳程序代码尝试限制数量 它所依赖的外部程序。与加密有关的任务使用openssl作为 功能后端。
功能亮点
以下是较引人注意的Easy-RSA功能的详尽列表:
- Easy-RSA能够管理多个PKI,每个PKI都有各自独立的 配置,存储目录和X.509扩展名处理。 *支持多种主题名称(X.509 DN字段)格式选项。对于 VPN,这意味着可以使用更清洁的commonName设置。 *在所有支持的平台上使用单个后端,确保没有 平台被“忽略”了丰富的功能。类似于Unix(BSD,Linux等) 和Windows均受支持。
- Easy-RSA的X.509支持包括CRL,CDP,keyUsage / eKu属性以及 附加的功能。随附的支持可以更改或扩展为 进阶功能。 *交互式和自动化(批量)操作模式 *灵活的配置:可以通过命令行启用功能 选项,环境变量,配置文件或这些的组合。 *内置默认值允许使用Easy-RSA,而无需先编辑配置 文件。
获取和使用Easy-RSA
####下载和解压缩(安装)
Easy-RSA的主程序是一个脚本,并受几个配置文件支持。如 这样,就不需要正式的“安装”。准备使用Easy-RSA是 下载压缩包(Linux / Unix上的.tar.gz或 .zip(适用于Windows)。将其解压缩到您选择的位置。没有 需要编译或依赖于操作系统的设置。
您应该以非root(非管理员)帐户安装和运行Easy-RSA 因为不需要root访问。
####运行Easy-RSA
调用Easy-RSA是通过您首选的shell完成的。在Windows下,您
将使用EasyRSA Start.bat
程序提供POSIX-shell环境
适合使用Easy-RSA。
运行命令的基本格式为:
./easyrsa command [ cmd-opts ]
其中,command是要运行的命令的名称,cmd-opts是任意的
提供给命令的选项。一些命令具有强制性或可选性
cmd-opts。注意命令的前导。/
组件:
类似Unix的环境,对于某些Windows用户而言可能是一个新概念。
常规用法和命令帮助可以显示为:
./easyrsa help [ command ]
不使用任何命令,常规用法和可用命令列表运行时 显示;提供命令时,该命令的详细帮助输出 显示。
配置Easy-RSA
Easy-RSA 3不再需要任何配置文件即可进行操作,与之前不同
早期版本。但是,vars.example
文件包含许多注释
可用于根据需要控制非默认行为的选项。读
该文件将提供可用的基本配置的想法。注意
vars文件必须仅命名为vars(不带扩展名)才能有效使用。
另外,可以在运行时定义一些选项,并在 命令行。完整列表可以显示为:
./easyrsa help options
这些选项中的任何一个都可以根据需要显示在命令之前,如下所示:
./easyrsa [options] command [ cmd-opts ]
对于专家,带有env-vars和自定义X.509扩展的其他配置 是可能的。有关详细信息,请查阅EasyRSA-Advanced文档。
入门:基础知识
对于熟悉PKI工作原理的人来说,此处使用的某些术语是通用的。 除了描述PKI基础知识外,如果出现以下情况,请查阅文档Intro-To-PKI。 您需要有关PKI工作原理的更基本描述。
####创建Easy-RSA PKI
为了做一些有用的事情,Easy-RSA需要首先初始化一个 PKI的目录。一次安装即可管理多个PKI Easy-RSA的名称,但除非另有说明,否则默认目录简称为“ pki” 指定。
要创建或清除(重新初始化)新的PKI,请使用以下命令:
./easyrsa init-pki
这将创建一个可供使用的新的空白PKI结构。创建完成后, 该PKI可用于建立新的CA或生成密钥对。
PKI目录结构
Easy-RSA PKI包含以下目录结构:
- private /-在此主机上生成的带有私钥的目录
- reqs /-具有本地生成的证书请求的目录(对于导入的CA 请求存储在此处)
在干净的PKI中,还没有文件,只有裸目录。命令称为 稍后将根据操作创建必要的文件。
建立CA时,会结合使用以下方法创建许多新文件: Easy-RSA和(间接)openssl。重要的CA文件是:
ca.crt
-这是CA证书index.txt
-这是所有已发行证书的“主数据库”serial
-存储下一个序列号(序列号递增)private / ca.key
-这是CA私钥(安全性至关重要)certs_by_serial /
-目录包含所有CA签名的证书(按序列号)issued /
-目录由commonName颁发证书
####创建PKI之后
创建PKI后,下一个有用的步骤将是创建一个 CA,或为需要密钥对的系统生成密钥对。继续 以下相关部分。
使用Easy-RSA作为CA
####建立CA
为了签署请求以生成证书,您需要一个CA。创建一个 创建的PKI中的新CA,运行:
./easyrsa build-ca
确保使用强密码短语来保护CA私钥。注意 您将来在执行签名时必须提供此密码短语 您的CA进行操作,因此请务必记住它。
在创建过程中,您还将为CA选择一个名称,称为 通用名称(CN。)此名称仅用于显示目的,可以设置为 你喜欢。
####将请求导入到CA
一旦建立了CA,便可以使用PKI导入来自 要求此CA签名证书的外部系统。在 为了对请求进行签名,必须先将其导入,以便Easy-RSA知道 它。该请求文件必须是PKCS#10格式的标准CSR。
无论要导入的文件名如何,Easy-RSA都使用定义的“短名称” 导入期间请参考此请求。导入工作如下:
./easyrsa import-req /path/to/request.req nameOfRequest
nameOfRequest通常应指代系统或进行 请求。
####签署请求
Easy-RSA导入请求后,即可对其进行审核和签名。每一个 证书需要一个“类型”,用于控制证书获得的扩展名 Easy-RSA附带了3种可能的类型:“客户端”,“服务器”和“ ca”,已描述 下面:
*客户端-TLS客户端,适用于VPN用户或Web浏览器(Web客户端) *服务器-TLS服务器,适用于VPN或Web服务器
-
ca-中间CA,将多个CA链接在一起时使用
./easyrsa sign-req <类型> nameOfRequest类型>
本地站点可以根据需要定义其他类型的证书;看到 有关详细信息的高级文档。
####撤销和发布CRL
如果需要吊销签发证书,可以执行以下操作:
./easyrsa撤消nameOfRequest
要生成适合发布到使用它的系统的CRL,请运行:
./easyrsa gen-crl
请注意,这将需要发布或发送到依赖于 否则,最新的CRL仍然有效。
使用Easy-RSA生成密钥对和请求
Easy-RSA可以生成PKCS#10格式的密钥对和证书请求。这个 请求是CA生成和返回签名证书所需要的。
理想情况下,您永远不应为客户端或服务器中的客户端或服务器生成实体密钥对 您用于CA的PKI。最好分开此过程并生成 密钥对仅在您计划使用它们的系统上。
Easy-RSA可以使用以下命令生成密钥对并请求:
./easyrsa gen-req nameOfRequest
然后,您将有机会修改请求的主题详细信息。 Easy-RSA默认使用命令行上提供的简称,尽管您可以 可以根据需要随意更改。提供密码短语和主题后 详细信息,将显示密钥对和请求文件。
为了获得签名证书,必须将请求文件发送到 用于签名的CA;如果将单个PKI用作 CA和密钥对/请求都已生成,因为生成的请求已经存在 “进口的。”