OpenSSL命令 : dsa

Blaze 2018-12-15

用法:

openssl ;dsa ;[-inform ;PEM|DER] ;[-outform ;PEM|DER] ;[-in ;filename] ;[-out ;filename] ;[-passin ;arg] ;

[-passout ;arg] ;[-text] ;[-noout] ;[-modulus] ;[-pubin] ;[-pubout] ;[-engine ;id] ;[-des] ;[-des3] ;[-idea]

选项说明:

-inform ;PEM|DER:输入文件格式,DER或者PEM格式。DER选项包含一个私钥值,它使用ASN1 ;DERD格式编码的ASN.1

;SEQUENCE(它是由版本值(目前为0),p,q,g,公钥或私钥组件)。当用一个公钥值时就是使用一个SubjectPublicKeyInfo结构(如果密钥不是dsa格式,则将会发生错误)。默认的是PEM格式,就是base64编码格式。

-outform ;DER|PEM:输出文件格式,DER或者PEM格式,和-inform众的格式意义一样。

-in ;filename:输入的DSA密钥文件,默认为标准输入,如果密钥是被加密了的,会提示输入口令。

-out ;filename:DSA密钥输出文件,默认为标准输出。如果设置了任何加密选项,会提示输入口令。输出文件必须和输入文件不一样。

-passin ;arg:指定私钥包含口令存放方式。比如用户将私钥的保护口令写入一个文件,采用此选项指定此文件,可以免去用户输入口令的操作。比如用户将口令写入文件“pwd.txt”,输入的参数为:-passin ;file:pwd.txt。

-passout ;arg:输出文件口令保护存放方式。

-text:打印公钥、私钥组件信息和参数信息值。

-noout:不打印密钥的编码版本信息。

-modulus:打印密钥中的公钥组件信息。

-pubin:设置此选项后,从输入文件中读取公钥值,默认读取的是私钥值。

-pubout:设置此选项后,保存公钥值到输出文件中,默认的是保存私钥值到输出文件中。如果输出的是公钥,则它会自动的设置。

-engine ;id:指定引擎。

-des ;,-des3, ;-idea, ;-aes128, ;-aes192, ;-aes256,-camellia128,

;-camellia192, ;-camellia256:指定的私钥保护加密算法。会提示输入口令。如果没有指定其中的一种,则密钥用简单的文本形式写出。

注意:

PEM私钥格式用下面的头部和底部:

-----BEGIN ;DSA ;PRIVATE ;KEY-----

-----END ;DSA ;PRIVATE ;KEY-----

PEM公钥格式用下面的头部和底部:

-----BEGIN ;PUBLIC ;KEY-----

-----END ;PUBLIC ;KEY-----

实例:

移除DSA私钥文件中的保护口令:

openssl ;dsa ;-in ;key.pem ;-out ;keyout.pem

用3DES算法加密一个私钥文件:

openssl ;dsa ;-in ;key.pem ;-des3 ;-out ;keyout.pem

生成dsa参数文件:

openssl ; ;dsaparam ; ;-out ;dsaparam.pem ;1024

根据dsa参数文件生成dsa密钥:

openssl ;gendsa ;-out ;dsakey.pem ;dsaparam.pem

将PME密钥转换为DER密钥:

openssl ;dsa ;-in ;dsakey.pem ;-outform ;DER ;-out ; ;dsakeyder.pem

打印公钥信息:

openssl ;dsa ;-in ;dsakey.pem ;–modulus

打印所有信息:

openssl ;dsa ;-in ;dsakey.pem ;–text

将dsa密钥加密存放:

openssl ;dsa ;-in ;dsakey.pem ;-des ;-out ;enckey.pem