OpenSSL

密码学和SSL/TLS工具包

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整数:版本(零)、pqg以及公钥和私钥组件。公钥是具有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(1)中的“提供程序选项”provider(7)property(7)

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中获取副本。