OpenSSL命令 : dsa
用法:
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