这是命令 reqssl,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
req - PKCS#10 证书请求和证书生成实用程序。
概要
openssl的 REQ [-通知 质子交换膜|DER[-出类拔萃 质子交换膜|DER[-在 文件名[-通行证 ARG[退房手续
文件名[-晕倒 ARG[-文本[-公钥[-noout[-核实[-模量[-新的[-兰德
文件(S)[-新密钥 rsa:位[-新密钥 算法:文件[-节点[-键 文件名[-keyform 质子交换膜|DER]
[-键出 文件名[-keygen_engine id[-[消化][-config 文件名[-多值-rdn]
[-x509[-天 n[-set_serial n[-asn1-kludge[-没有-asn1-kludge[-新人类发展报告[-扩展
部分[-请求 部分[-utf8[-nameopt[-reqopt[-主题[-主题 ARG[-批]
[-冗长[-发动机 id]
商品描述
- REQ 命令主要创建和处理 PKCS#10 格式的证书请求。 它
例如,还可以创建自签名证书以用作根 CA。
指挥 配置
-通知 分布式能源|PEM
这指定了输入格式。 这 DER 选项使用 ASN1 DER 编码形式
与 PKCS#10 兼容。 这 质子交换膜 表单是默认格式:它由
DER 使用额外的页眉和页脚行编码的 base64 格式。
-出类拔萃 分布式能源|PEM
这指定了输出格式,选项与 -通知
选项。
-在 文件名
这指定了从或标准输入读取请求的输入文件名,如果
未指定选项。 仅当创建选项 (-新的 和
-新密钥) 未指定。
-通行证 ARG
输入文件密码源。 有关格式的更多信息 ARG 看到
PASS 短语 争论 部分 openssl的(1)。
退房手续 文件名
这指定默认情况下要写入的输出文件名或标准输出。
-晕倒 ARG
输出文件密码源。 有关格式的更多信息 ARG 看到
PASS 短语 争论 部分 openssl的(1)。
-文本
以文本形式打印出证书请求。
-主题
打印出请求主题(或证书主题,如果 -x509 被指定)
-公钥
输出公钥。
-noout
此选项可防止输出请求的编码版本。
-模量
此选项打印出包含在公钥中的模数的值
请求。
-核实
验证请求上的签名。
-新的
此选项会生成新的证书请求。 它会提示用户输入
相关字段值。 提示的实际字段及其最大值和最小值
大小在配置文件和任何请求的扩展名中指定。
如果 -键 选项未使用,它将使用生成一个新的 RSA 私钥
配置文件中指定的信息。
-主题 ARG
用指定的数据替换输入请求的主题字段并修改输出
要求。 arg 的格式必须为 /type0=value0/type1=value1/type2=..., 人物
可以通过 \(反斜杠)进行转义,不会跳过任何空格。
-兰德 文件(S)
包含用于为随机数生成器播种的随机数据的一个或多个文件,或
EGD 插座(见 兰德_egd(3))。 可以指定多个文件,由 OS 分隔 -
依赖性格。 分隔符是 ; 对于 MS-Windows, , 对于 OpenVMS,和 : 支持所有
其他。
-新密钥 ARG
此选项会创建一个新的证书请求和一个新的私钥。 论据
采取几种形式之一。 RSA:nbits,其中 n位 是位数,生成一个
RSA密钥 n位 在尺寸方面。 如果 n位 被省略,即 -新密钥 RSA 指定,默认
使用配置文件中指定的密钥大小。
所有其他算法都支持 -新密钥 算法:文件 形式,其中文件可能是一个算法
参数文件,由 基因密钥 -genparam 命令或和 X.509 证书
具有适当算法的密钥。
参数:文件 使用参数文件或证书生成密钥 文件,算法
由参数决定。 别名:文件 使用算法 别名 和参数文件
文件: 两种算法必须匹配,否则会出错。 别名 只使用算法
别名, 和参数,如有必要,应通过 -pkeyopt 参数。
dsa:文件名 使用文件中的参数生成 DSA 密钥 文件名.
ec:文件名 生成 EC 密钥(可用于 ECDSA 或 ECDH 算法),
gost2001:文件名 生成 GOST R 34.10-2001 密钥(需要 成本价 引擎配置
在配置文件中)。 如果只是 戈斯特2001 指定参数集应该是
由 -pkeyopt 参数集:X
-pkeyopt 选择:值
设置公钥算法选项 选择 至 折扣值. 支持的精确选项集
取决于使用的公钥算法及其实现。 看 KEY 代
配置 ,在 基因密钥 手册页了解更多详情。
-键 文件名
这指定了要从中读取私钥的文件。 它还接受 PKCS#8 格式
PEM 格式文件的私钥。
-keyform 质子交换膜|DER
中指定的私钥文件的格式 -键 争论。 PEM 是默认设置。
-键出 文件名
这给出了将新创建的私钥写入的文件名。 如果这个选项是
未指定,则使用配置文件中存在的文件名。
-节点
如果指定了这个选项,那么如果创建了一个私钥,它就不会被加密。
-[消化]
这指定了用于签署请求的消息摘要(例如 -MD5, -sha1)。 这
覆盖配置文件中指定的摘要算法。
某些公钥算法可能会覆盖此选择。 例如,DSA 签名
始终使用 SHA1、GOST R 34.10 签名始终使用 GOST R 34.11-94 (-md_gost94).
-config 文件名
这允许指定备用配置文件,这会覆盖
编译时文件名或任何在 OPENSSL_CONF 环境变量。
-主题 ARG
为新请求设置主题名称或在处理请求时取代主题名称
要求。 arg 的格式必须为 /type0=value0/type1=value1/type2=...,
字符可以通过 \(反斜杠)进行转义,不会跳过任何空格。
-多值-rdn
此选项导致 -subj 参数被解释为完全支持
多值 RDN。 例子:
/DC=org/DC=OpenSSL/DC=用户/UID=123456+CN=约翰 母鹿
如果未使用 -multi-rdn,则 UID 值为 123456+CN=约翰 母鹿.
-x509
此选项输出自签名证书而不是证书请求。 这个
通常用于生成测试证书或自签名根 CA。 这
添加到证书的扩展名(如果有)在配置文件中指定。
除非指定使用 设置序列号 选项,一个大的随机数将用于
序列号。
-天 n
当 -x509 选项正在使用,这指定了认证的天数
证书。 默认值为 30 天。
-set_serial n
输出自签名证书时使用的序列号。 这可以指定
如果前面有十进制值或十六进制值 0x. 可以使用负
序列号,但不建议这样做。
-扩展 部分
-请求 部分
这些选项指定了包含证书扩展的替代部分(如果
-x509 选项存在)或证书请求扩展。 这允许几个
在同一个配置文件中使用不同的部分来指定一个请求
各种用途。
-utf8
此选项导致字段值被解释为 UTF8 字符串,默认情况下它们是
解释为 ASCII。 这意味着该字段值,无论是从
终端或从配置文件中获取,必须是有效的 UTF8 字符串。
-nameopt 选项
确定如何显示主题或发行人名称的选项。 这 选项
参数可以是单个选项或多个选项,以逗号分隔。
或者 -nameopt 可以多次使用 switch 来设置多个选项。
查看 x509(1) 手册页的详细信息。
-reqopt
自定义使用的输出格式 -文本。 该 选项 参数可以是单个
选项或多个选项,以逗号分隔。
见裁谈会 -certop 中的参数 x509 命令。
-asn1-kludge
默认情况下 REQ 命令输出不包含任何属性的证书请求
正确的 PKCS#10 格式。 但是,某些 CA 将只接受包含以下内容的请求
没有无效形式的属性:此选项产生此无效格式。
更准确地说 Attributes 在 PKCS#10 证书请求中定义为 设置 OF
属性。 他们是 而不去 不是必须的 所以如果没有属性存在,那么它们应该是
编码为空 设置 OF. 无效表格不包括空的 设置 OF 而
正确的形式确实如此。
应该注意的是,很少有 CA 仍然需要使用此选项。
-没有-asn1-kludge
逆转效果 -asn1-kludge
-新人类发展报告
添加单词 新品 到输出请求的 PEM 文件页眉和页脚行。
一些软件(Netscape 证书服务器)和一些 CA 需要这个。
-批
非交互模式。
-冗长
打印有关正在执行的操作的额外详细信息。
-发动机 id
指定一个引擎(通过其独特的 id 字符串)将导致 REQ 试图获得一个
对指定引擎的功能引用,从而在需要时对其进行初始化。 这
然后引擎将被设置为所有可用算法的默认值。
-keygen_engine id
指定一个引擎(通过其独特的 id string) 将用于密钥生成
操作。
配置 文件 FORMAT
配置选项在 REQ 配置文件的一部分。 作为
如果在特定部分中没有指定值,则使用所有配置文件(即 REQ)
那么最初的未命名或 默认 部分也被搜索。
下面详细描述了可用的选项。
输入密码 输出密码
输入私钥文件(如果存在)和输出私钥的密码
文件(如果将创建一个)。 命令行选项 传递 和 昏倒 覆盖
配置文件值。
默认位
以位为单位指定默认密钥大小。
此选项与 -新的 生成新密钥的选项。 它可以
通过在 -新密钥 选项。 最小的
可接受的密钥大小为 512 位。 如果未指定密钥大小,则使用 2048 位。
默认密钥文件
这是写入私钥的默认文件名。 如果未指定,则密钥为
写入标准输出。 这可以被覆盖 -键出 选项。
oid_文件
这指定了一个包含额外的文件 宾语 身份标识. 文件的每一行
应该由对象标识符的数字形式后跟空格组成
然后是短名称,后跟空格,最后是长名称。
oid_section
这指定了配置文件中包含额外对象的部分
身份标识。 每行应包含对象标识符的短名称
其次是 = 和数字形式。 短名称和长名称相同时
选项被使用。
兰德文件
这指定了一个文件名,其中放置和读取随机数种子信息
来自或 EGD 插座(请参阅 兰德_egd(3))。 它用于生成私钥。
crypto_key
如果这设置为 没有 那么如果生成了一个私钥,它就是 而不去 加密。 这是
相当于 -节点 命令行选项。 为了兼容性 加密_rsa_key 是一个
等效选项。
默认_md
此选项指定要使用的摘要算法。 可能的值包括 md5 sha1
MDC2. 如果不存在,则使用 MD5。 可以在命令上覆盖此选项
线。
字符串掩码
此选项屏蔽了某些字段中某些字符串类型的使用。 大多数用户
不需要更改此选项。
它可以设置为多个值 默认 这也是默认选项使用
PrintableStrings、T61Strings 和 BMPStrings 如果 皮克斯 值仅在那时使用
将使用 PrintableStrings 和 BMPStrings。 这遵循 PKIX 建议
RFC2459。 如果 仅 utf8 选项被使用,那么只有 UTF8Strings 将被使用:这是
2459 年后 RFC2003 中的 PKIX 建议。最后 名称 选项只是使用
PrintableStrings 和 T61Strings:某些软件在 BMPStrings 和
UTF8Strings:特别是 Netscape。
请求扩展
这指定包含要添加的扩展列表的配置文件部分
到证书请求。 它可以被覆盖 -请求 命令行开关。
查看 x509v3_config(5) 手册页的扩展部分格式的详细信息。
x509_扩展
这指定包含要添加的扩展列表的配置文件部分
到证书生成时 -x509 开关使用。 它可以被覆盖
-扩展 命令行开关。
提示
如果设置为值 没有 这将禁用证书字段的提示,只需要
直接从配置文件中获取值。 它还改变了预期的格式
专有名称 和 属性 部分。
utf8
如果设置为值 含 然后将字段值解释为 UTF8 字符串,通过
默认情况下,它们被解释为 ASCII。 这意味着字段值,无论
从终端提示或从配置文件中获取,必须是有效的 UTF8
字符串。
属性
这指定包含任何请求属性的部分:其格式相同
as 专有名称. 通常这些可能包含挑战密码或
非结构化名称类型。 它们目前被 OpenSSL 的请求签名忽略
实用程序,但某些 CA 可能需要它们。
专有名称
这指定了包含要提示的专有名称字段的部分
生成证书或证书请求。 格式在下一个描述
部分。
杰出的 您的姓名 AND 属性 部分 FORMAT
专有名称和属性部分有两种不同的格式。 如果
提示 选项设置为 没有 那么这些部分只包含字段名称和值:对于
例,
CN=我的名字
OU=我的组织
电子邮件地址=有人@somewhere.org
这允许外部程序(例如基于 GUI)生成一个模板文件,其中包含所有
字段名称和值并将其传递给 REQ. 这种配置的一个例子
文件包含在 示例 部分。
或者,如果 提示 选项不存在或未设置为 没有 然后文件包含字段
提示信息。 它由以下形式的行组成:
字段名称=“提示”
fieldName_default="默认字段值"
字段名称_最小值= 2
字段名称_max= 4
“fieldName”是正在使用的字段名称,例如 commonName(或 CN)。 “提示”
字符串用于要求用户输入相关详细信息。 如果用户什么都不输入
如果没有默认值,则使用默认值,则省略该字段。 一种
如果用户只输入“.”,则如果存在默认值,则字段仍然可以省略。
字符。
输入的字符数必须介于 fieldName_min 和 fieldName_max 之间
限制:根据所使用的字段可能会有额外的限制(例如
countryName 只能是两个字符长,并且必须适合 PrintableString)。
某些字段(例如组织名称)可以在 DN 中多次使用。 这提出了一个
问题,因为配置文件将无法识别出现两次的相同名称。 到
如果 fieldName 包含一些字符后跟一个句号,则避免此问题
将被忽略。 因此,例如可以通过调用它来输入第二个组织名称
“1.组织名称”。
实际允许的字段名称是任何对象标识符的短名称或长名称。 这些是
编译成 OpenSSL 并包含常用值,例如 commonName、countryName、
localityName、organizationName、organizationalUnitName、stateOrProvinceName。 此外
emailAddress 包括姓名、姓氏、givenName 首字母和 dnQualifier。
可以使用以下命令定义其他对象标识符 oid_文件 or oid_section 选项
配置文件。 任何附加字段都将被视为
目录字符串。
示例
检查并验证证书请求:
openssl req -in req.pem -text -verify -noout
创建私钥,然后从中生成证书请求:
openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out req.pem
相同但仅使用 req:
openssl req -newkey rsa:2048 -keyout key.pem -out req.pem
生成自签名根证书:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem
指向的文件示例 oid_文件 选项:
1.2.3.4 shortName 一个较长的名字
1.2.3.6 otherName 其他更长的名字
指向的部分的示例 oid_section 利用变量扩展:
睾丸1=1.2.3.5
睾丸2=${睾丸1}.6
提示输入字段值的示例配置文件:
[要求]
默认位 = 2048
默认密钥文件 = privkey.pem
专有名称 = req_distinguished_name
属性 = req_attributes
x509_扩展 = v3_ca
目录字符串类型 = nobmp
[ req_distinguished_name ]
countryName = 国家名称(2 个字母代码)
countryName_default = 澳大利亚
国家/地区名称_最小值 = 2
国家名称最大 = 2
localityName = 地点名称(例如,城市)
组织单位名称 = 组织单位名称(例如,部分)
commonName = 通用名称(例如,您的姓名)
commonName_max = 64
emailAddress = 电子邮件地址
电子邮件地址最大 = 40
[请求属性]
挑战密码 = 挑战密码
挑战密码_分钟 = 4
挑战密码最大值 = 20
[v3_ca]
subjectKeyIdentifier=散列
AuthorityKeyIdentifier=keyid:always,颁发者:always
基本约束 = CA:true
包含所有字段值的示例配置:
RANDFILE = $ENV::HOME/.rnd
[要求]
默认位 = 2048
默认密钥文件=密钥文件.pem
专有名称 = req_distinguished_name
属性 = req_attributes
提示 = 否
output_password = 我的密码
[ req_distinguished_name ]
C = 国标
ST = 测试州或省
L = 测试地点
O = 组织名称
OU = 组织单位名称
CN = 通用名称
电子邮件地址 = 测试@email.address
[请求属性]
挑战密码 = 挑战密码
附注
中的页眉和页脚行 质子交换膜 格式通常为:
-----开始申请证书-----
-----结束证书申请-----
某些软件(某些版本的 Netscape 证书服务器)需要:
-----开始新的证书申请-----
-----结束新的证书请求-----
这是用 -新人类发展报告 选项,但在其他方面兼容。 任何一种形式都是
在输入时透明地接受。
生成的证书请求 注册 与 MSIE 添加了扩展。 这包括
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 密钥用法 确定密钥类型的扩展名(仅签名或通用
目的)以及脚本在扩展密钥使用扩展中输入的任何其他 OID。
诊断
经常询问以下消息:
使用来自 /some/path/openssl.cnf 的配置
无法加载配置信息
一段时间后,接下来是......
无法在配置中找到“distinguished_name”
发出证书请求的问题
第一条错误信息是线索:它找不到配置文件! 肯定
操作(如检查证书请求)不需要配置文件,因此它的
不强制使用。 然而,证书或请求的生成确实需要
配置文件。 这可以被视为一个错误。
另一个令人费解的消息是:
属性:
0:00
当不存在属性并且请求包含正确的属性时显示
空的 设置 OF 结构(其 DER 编码为 0xa0 0x00)。 如果你只是看到:
属性:
那么 设置 OF 丢失并且编码在技术上无效(但可以容忍)。
查看命令行选项的说明 -asn1-kludge 获取更多信息。
环境 变数
变量 OPENSSL_CONF 如果定义允许备用配置文件位置
被指定,它将被覆盖 -config 命令行开关(如果存在)。
出于兼容性原因, SSLEAY_CONF 环境变量具有相同的目的,但
不鼓励使用它。
使用 onworks.net 服务在线使用 reqssl