OpenSSL命令---dsa

来源:互联网 发布:淘宝店铺怎么转让 编辑:程序博客网 时间:2024/05/21 18:41

用途:

dsa命令用于处理DSA密钥、格式转换和打印信息。该命令兼容了传统的SSLeay来用私钥进行加密:新的应用程序必须使用安全的PKCS#8格式。

用法:

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),pqg,公钥或私钥组件)。当用一个公钥值时就是使用一个SubjectPublicKeyInfo结构(如果密钥不是dsa格式,则将会发生错误)。默认的是PEM格式,就是base64编码格式。

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

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

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

-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 102


根据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