openssl-dsa
名称
openssl-dsa - DSA密钥处理
语法
openssl dsa [-help] [-inform DER|PEM] [-outform DER|PEM] [-in 文件名] [-passin 参数] [-out 文件名] [-passout 参数] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-pubin] [-pubout] [-pvk-strong] [-pvk-weak] [-pvk-none] [-engine id] [-provider 名称] [-provider-path 路径] [-propquery propq]
描述
此命令处理DSA密钥。它们可以在各种格式之间转换,并且可以打印出其组件。注意此命令使用传统的与SSLeay兼容的私钥加密格式:较新的应用程序应使用更安全的PKCS#8格式,使用pkcs8
选项
- -help
-
打印用法信息。
- -inform DER|PEM
-
密钥输入格式;默认为未指定。有关详细信息,请参阅openssl-format-options(1)。
- -outform DER|PEM
-
密钥输出格式;默认为PEM。有关详细信息,请参阅openssl-format-options(1)。
私钥是一系列ASN.1整数:版本(零)、p、q、g以及公钥和私钥组件。公钥是具有DSA类型的SubjectPublicKeyInfo结构。
PEM格式也接受PKCS#8数据。
- -in 文件名
-
这指定了要从中读取密钥的输入文件名,或者如果未指定此选项则为标准输入。如果密钥已加密,则会提示输入密码。
- -out 文件名
-
这指定了要将密钥写入的输出文件名,或者如果未指定则为标准输出。如果设置了任何加密选项,则会提示输入密码。输出文件名不应与输入文件名相同。
- -passin 参数, -passout 参数
-
输入和输出文件的密码源。有关参数格式的更多信息,请参阅openssl-passphrase-options(1)。
- -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
-
这些选项在输出私钥之前使用指定的密码对其进行加密。会提示输入密码。如果没有指定这些选项中的任何一个,则密钥将以明文写入。这意味着此命令可用于通过不提供任何加密选项来删除密钥的密码,或通过设置它们来添加或更改密码。这些选项只能与PEM格式的输出文件一起使用。
- -text
-
打印出公钥、私钥组件和参数。
- -noout
-
此选项阻止输出密钥的编码版本。
- -modulus
-
此选项打印出密钥的公钥组件的值。
- -pubin
-
默认情况下,从输入读取私钥。使用此选项,将改为读取公钥。如果输入不包含公钥但包含私钥,则使用其公钥部分。
- -pubout
-
默认情况下,输出私钥。使用此选项,将改为输出公钥。如果输入是公钥,则会自动设置此选项。
- -pvk-strong
-
启用“强”PVK编码级别(默认值)。
- -pvk-weak
-
启用“弱”PVK编码级别。
- -pvk-none
-
不要强制执行PVK编码。
- -engine id
-
参见openssl(1)中的“引擎选项”。此选项已弃用。
- -provider 名称
- -provider-path 路径
- -propquery propq
openssl-pkey(1)命令能够执行此命令可以执行的所有操作,以及支持其他公钥类型。
示例
openssl-pkey(1)命令的文档包含与此处列出的示例等效的示例。
要删除DSA私钥上的密码
openssl dsa -in key.pem -out keyout.pem
要使用三重DES加密私钥
openssl dsa -in key.pem -des3 -out keyout.pem
要将私钥从PEM格式转换为DER格式
openssl dsa -in key.pem -outform DER -out keyout.der
要将私钥的组件打印到标准输出
openssl dsa -in key.pem -text -noout
仅输出私钥的公钥部分
openssl dsa -in key.pem -pubout -out pubkey.pem
参见
openssl(1)、openssl-pkey(1)、openssl-dsaparam(1)、openssl-gendsa(1)、openssl-rsa(1)、openssl-genrsa(1)
历史
-engine选项在OpenSSL 3.0中已弃用。
版权
版权所有 2000-2023 OpenSSL项目作者。保留所有权利。
根据Apache许可证2.0(“许可证”)获得许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的LICENSE文件中或https://www.openssl.org/source/license.html中获取副本。