十九.
指令
rsa
用法
openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename]
[-passin arg] [-out filename] [-passout arg] [-sgckey] [-des] [-des3]
[-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout]
说明
:
rsa
指令专门处理
RSA
密钥
.
其实其用法和
dsa
的差不多
.
OPTIONS
-inform DER|PEM|NET
指定输入的格式是
DEM
还是
DER
还是
NET.
注意
,
这里多了一种格式
,
就是
NET,DER
格式采用
ASN1
的
DER
标准格式。一般用的多的都是
PEM
格式,就是
base64
编码格式
.
你去看看你做出来的那
些
.key, .crt
文件一般都是
PEM
格式的,第一行和最后一行指明内容,中间就是经过编码的东西。
NET
格式在本章后面会详细解释
.
-outform DER|PEM|NET
和上一个差不多,不同的是指定输出格式
-in filename
要分析的文件名称。如果文件有密码保护
,
会要你输入的
.
-passin arg
去看看
CA
那一章关于这个
option
的解释吧。
-out filename
要输出的文件名。
-passout arg
没什么用的一个选项,用来把保护
key
文件的密码输出的,意义和
passin
差不多。
-sgckey
配合
NET
格式的私有密钥文件的一个
option,
没有必要去深入知道了。
-des|-des3|-idea
指明用什么加密算法把我们的私有密钥加密。加密的时候会需要我们输入密码来保护该文件的。如果这仨一个都没有选,那么你的私有密钥就以明文写进你的
key
文件。该选项只能输出
PEM
格式的文件。
-text
打印出私有密钥的各个组成部分
.
-noout
不打印出
key
的编码版本信息。
-modulus
把其公共密钥的值也打印出来
-pubin
缺省的来说是从输入文件里读到私有密钥,这个就可以从输入文件里去读公共密钥
.
-pubout
缺省的来说是打印出私有密钥,这个就可以打印公共密钥
.
如果上面那个选项有
set
那么这个选项也自动被
set.
-check
检查
RSA
的私有密钥是否被破坏了这个指令实在和
dsa
太相似了。
copy
的我手软。
现在解释一下
NET
是一种什么格式。它是为了和老的
netscape server
以及
IIS
兼容才弄出来的。他使用没有被
salt
过的
RC4
做加密算法,加密强度很底,如果不是一定要用就别用。
举例时间:
把
RSA
私有密钥文件的保护密码去掉(最好别这么做)
openssl rsa -in key.pem -out keyout.pem
用
DES3
算法加密我们的私有密码文件:
openssl rsa -in key.pem -des3 -out keyout.pem
把一个私有密钥文件从
PEM
格式转化成
DER
格式:
openssl rsa -in key.pem -outform DER -out keyout.der
把私有密钥的所有内容详细的打印出来:
openssl rsa -in key.pem -text -noout
只打印出公共密钥部分:
openssl rsa -in key.pem -pubout -out pubkey.pem