用途:
Rsa命令用于处理RSA密钥、格式转换和打印信息。其实其用法和dsa的差不多。
用法:
openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg]
[-out filename] [-passout arg] [-sgckey] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout]
[-engine id] [-des] [-des3] [-idea]
选项说明:
-inform PEM|NET|DER:输入文件格式,DER、PEM以及NET格式。DER格式采用ASN1的DER标准格式。一般用的多的都是PEM格式,就是base64编码格式。NET是为了和老的netscape server以及IIS兼容才弄出来的。他使用没有被salt过的RC4做加密算法,加密强度很底,如果不是一定要用就别用。
-outform PEM|NET|DER:输出文件格式,DER、PEM以及NET格式。同inform。
-in filename:输入的RSA密钥文件,默认为标准输入。
-out filename:RSA密钥输出文件,默认为标准输出。
-passin arg:指定私钥包含口令存放方式。比如用户将私钥的保护口令写入一个文件,采用此选项指定此文件,可以免去用户输入口令的操作。比如用户将口令写入文件“pwd.txt”,输入的参数为:-passin file:pwd.txt。
-passout arg:输出文件口令保护存放方式。
-sgckey:该选项是配合NET格式的私有密钥文件的一个选项。
-text:打印所有信息。
-noout:不打印信息。
-modulus:打印公钥信息。
-check:检查公司约是否匹配。
-pubin:设置此选项后,从输入文件中读取公钥值,默认读取的是私钥值。
-pubout:设置此选项后,保存公钥值到输出文件中,默认的是保存私钥值到输出文件中。
-engine id:指定引擎。
Ø -des ,-des3, -idea, -aes128, -aes192, -aes256,-camellia128, -camellia192, -camellia256:指定的私钥保护加密算法。
注意:
PEM格式的私钥用下面的头部和底部:
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
PEM格式的公钥用下面的头部和底部:
-----BEGIN PUBLIC KEY-----
-----END PUBLIC KEY-----
B<NET>表单是一个兼容老的Netscape服务器和微软IIS的一种格式。密钥文件,这里使用不填充数据的RC4来加密,它不是安全的,当使用时候要小心。
实例:
生成明文私钥文件:
openssl genrsa -out key.pem
转换为DER编码:
openssl rsa -in key.pem -outform der -out key.der
将明文私钥文件转换为密码保护:
openssl rsa -inform der -in key.der -des3 -out enckey.pem
将公钥写入文件:
openssl rsa -in key.pem -pubout -out pubkey.pem
打印公钥信息:
openssl rsa -pubin -in pubkey.pem –text -modulus
显示私钥信息,保护密钥写在pwd.txt中
openssl rsa -in enckey.pem –passin file:pwd.txt
BUGs:
命令行选项中的密码选项目前不能工作于B<NET>格式。
应该有一个选项自动地去处理.key这种文件,不用手动的去编辑它们。