openssl-format-options
名称
openssl-format-options - OpenSSL 命令输入和输出格式选项
语法
openssl 命令 [ 选项 ... ] [ 参数 ... ]
描述
几个 OpenSSL 命令可以采用多种格式的输入或生成输出。
从 OpenSSL 3.0 开始,密钥、单个证书和 CRL 可以从任何 DER、PEM 或 P12 格式的文件中读取。不再需要指定其输入格式,openssl 命令将自动尝试所有可能的格式。但是,如果指定了 DER 或 PEM 输入格式,则将强制执行。
为了通过引擎访问密钥,可以使用输入格式 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 中获取副本。