OpenSSL

加密和 SSL/TLS 工具包

openssl-format-options

名称

openssl-format-options - OpenSSL 命令输入和输出格式选项

语法

openssl 命令 [ 选项 ... ] [ 参数 ... ]

描述

几个 OpenSSL 命令可以采用多种格式的输入或生成输出。

从 OpenSSL 3.0 开始,密钥、单个证书和 CRL 可以从任何 DERPEMP12 格式的文件中读取。不再需要指定其输入格式,openssl 命令将自动尝试所有可能的格式。但是,如果指定了 DERPEM 输入格式,则将强制执行。

为了通过引擎访问密钥,可以使用输入格式 ENGINE;或者,相应密钥选项的 <uri> 参数中的密钥标识符前面可以加上 org.openssl.engine:。有关后者的示例用法,请参阅 openssl(1) 中的“引擎选项”

选项

格式选项

指定格式的选项如下所示。请参阅各个手册页以查看接受哪些选项。

-inform 格式, -outform 格式

输入或输出流的格式。

-keyform 格式

私钥输入源的格式。

-CRLform 格式

CRL 输入源的格式。

格式选项参数

下面描述了可能的格式参数。接受大写和小写。

每个命令文档中都描述了可接受的格式参数列表以及默认值。

DER

一种二进制格式,根据 ASN.1 数据语言的区分编码规则 (DER) 进行编码或解析。

ENGINE

用于指定加密材料位于 OpenSSL 引擎中。必须使用 -engine 选项配置或指定引擎。可以使用 -passin 选项向引擎提供密码或 PIN。

P12

包含 PKCS#12 对象的 DER 编码文件。可能需要提供解密密码才能检索私钥。

PEM

IETF RFC 1421 和 IETF RFC 7468 中定义的文本格式。简而言之,这是一块 base-64 编码(在 IETF RFC 4648 中定义),使用特定的行来标记开始和结束

Text before the BEGIN line is ignored.
----- BEGIN object-type -----
OT43gQKBgQC/2OHZoko6iRlNOAQ/tMVFNq7fL81GivoQ9F1U0Qr+DH3ZfaH8eIkX
xT0ToMPJUzWAn8pZv0snA0um6SIgvkCuxO84OkANCVbttzXImIsL7pFzfcwV/ERK
UM6j0ZuSMFOCr/lGPAoOQU0fskidGEHi1/kW+suSr28TqsyYZpwBDQ==
----- END object-type -----
Text after the END line is also ignored

对象类型必须与预期的对象类型匹配。例如,如果命令尝试读取私钥,则 BEGIN X509 CERTIFICATE 将不匹配。支持的类型包括

ANY PRIVATE KEY
CERTIFICATE
CERTIFICATE REQUEST
CMS
DH PARAMETERS
DSA PARAMETERS
DSA PUBLIC KEY
EC PARAMETERS
EC PRIVATE KEY
ECDSA PUBLIC KEY
ENCRYPTED PRIVATE KEY
PARAMETERS
PKCS #7 SIGNED DATA
PKCS7
PRIVATE KEY
PUBLIC KEY
RSA PRIVATE KEY
SSL SESSION PARAMETERS
TRUSTED CERTIFICATE
X509 CRL
X9.42 DH PARAMETERS

为了与早期版本兼容,也支持以下旧版对象类型

DSA PRIVATE KEY
NEW CERTIFICATE REQUEST
RSA PUBLIC KEY
X509 CERTIFICATE
SMIME

IETF RFC 8551 中描述的 S/MIME 对象。早期版本称为 CMS,并且兼容。请注意,解析很简单,并且可能无法解析某些合法数据。

版权所有 2000-2021 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0(“许可证”)获得许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。