openssl-rsa
名称
openssl-rsa - RSA 密钥处理命令
概要
openssl rsa [-help] [-inform DER|PEM|P12|ENGINE] [-outform DER|PEM] [-in filename|uri] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-traditional] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-pvk-strong] [-pvk-weak] [-pvk-none] [-engine id] [-provider name] [-provider-path path] [-propquery propq]
描述
此命令处理 RSA 密钥。它们可以在各种形式之间进行转换,并且可以打印出它们的组成部分。
选项
- -help
-
打印使用信息。
- -inform DER|PEM|P12|ENGINE
-
密钥输入格式;默认情况下未指定。有关详细信息,请参见 openssl-format-options(1)。
- -outform DER|PEM
-
密钥输出格式;默认值为 PEM。有关详细信息,请参见 openssl-format-options(1)。
- -traditional
-
写入私钥时,使用传统的 PKCS#1 格式而不是 PKCS#8 格式。
- -in filename|uri
-
指定从其中读取密钥的输入文件,或者如果没有指定此选项,则为标准输入。如果密钥已加密,则会提示输入密码。
- -passin arg, -passout arg
-
输入和输出文件的密码来源。有关 arg 格式的更多信息,请参见 openssl-passphrase-options(1)。
- -out filename
-
指定要写入密钥的输出文件名,或者如果没有指定此选项,则为标准输出。如果设置了任何加密选项,则会提示输入密码。输出文件名 不应 与输入文件名相同。
- -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
-
这些选项在输出私钥之前使用指定的密码对其进行加密。会提示输入密码。如果未指定这些选项中的任何一个,则密钥将以明文形式写入。这意味着此命令可用于通过不提供任何加密选项来从密钥中删除密码,或者通过设置密码来添加或更改密码。这些选项只能与 PEM 格式的输出文件一起使用。
- -text
-
除了编码版本之外,还以纯文本形式打印出各种公钥或私钥组件。
- -noout
-
此选项阻止输出密钥的编码版本。
- -modulus
-
此选项打印出密钥模量的值。
- -check
-
此选项检查 RSA 私钥的一致性。
- -pubin
-
默认情况下,从输入中读取私钥。使用此选项,将改为读取公钥。如果输入不包含公钥,但包含私钥,则使用其公钥部分。
- -pubout
-
默认情况下,输出私钥:使用此选项,将改为输出公钥。如果输入是公钥,则此选项会自动设置。
- -RSAPublicKey_in, -RSAPublicKey_out
-
类似于 -pubin 和 -pubout,除了使用 RSAPublicKey 格式。
- -pvk-strong
-
启用“强”PVK 编码级别(默认)。
- -pvk-weak
-
启用“弱”PVK 编码级别。
- -pvk-none
-
不强制执行 PVK 编码。
- -engine id
-
请参见 openssl(1) 中的“引擎选项”。此选项已弃用。
- -provider name
- -provider-path path
- -propquery propq
注意事项
openssl-pkey(1) 命令能够执行此命令可以执行的所有操作,以及支持其他公钥类型。
示例
openssl-pkey(1) 命令的文档包含等效于此处列出的示例。
要删除 RSA 私钥上的密码
openssl rsa -in key.pem -out keyout.pem
要使用三重 DES 加密私钥
openssl rsa -in key.pem -des3 -out keyout.pem
要将私钥从 PEM 格式转换为 DER 格式
openssl rsa -in key.pem -outform DER -out keyout.der
要将私钥的组件打印到标准输出
openssl rsa -in key.pem -text -noout
只需输出私钥的公钥部分
openssl rsa -in key.pem -pubout -out pubkey.pem
以 RSAPublicKey 格式输出私钥的公钥部分
openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
错误
应该有一个选项可以自动处理 .key 文件,而无需手动编辑它们。
另请参见
openssl(1)、openssl-pkey(1)、openssl-pkcs8(1)、openssl-dsa(1)、openssl-genrsa(1)、openssl-gendsa(1)
历史
-engine 选项在 OpenSSL 3.0 中已弃用。
版权
Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.
根据 Apache 许可证 2.0 版(“许可证”)许可。除遵守许可证外,您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。