OpenSSL命令---rsa

用途:

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:输入文件格式,DERPEM以及NET格式。DER格式采用ASN1DER标准格式。一般用的多的都是PEM格式,就是base64编码格式。NET是为了和老的netscape server以及IIS兼容才弄出来的。他使用没有被salt过的RC4做加密算法,加密强度很底,如果不是一定要用就别用。

-outform PEM|NET|DER:输出文件格式,DERPEM以及NET格式。同inform

-in filename:输入的RSA密钥文件,默认为标准输入。

-out filenameRSA密钥输出文件,默认为标准输出。

-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这种文件,不用手动的去编辑它们。

原文地址:https://www.cnblogs.com/riasky/p/3430665.html