openssl rsautl

用途:
使用RSA算法签名,验证身份,加密、解密数据
语法:
openssl rsautl [-in file] [-out file] [-inkey file] [-passin arg]
[-keyform PEM|DER|NET] [-pubin] [-certin][-asn1parse] [-hexdump] [-raw] 
[-oaep] [-ssl] [-pkcs] [-x931] [-sign] [-verify][-encrypt] [-decrypt] 
[-rev] [-engine e]   
参数说明:
-in filename :需要处理的文件,默认为标准输入。
-out filename :指定输出文件名,默认为标准输出。
-inkey file :指定我们的私有密钥文件,格式必须是RSA私有密钥文件。
-passin arg :指定私钥包含口令存放方式。比如用户将私钥的保护口令写入一个文件,采用此选项指定此文件,可以免去用户输入口令的操作。比如用户将口令写入文件“pwd.txt”,输入的参数为:-passin file:pwd.txt。
-keyform PEM|DER|NET:证书私钥的格式。
-pubin :表明我们输入的是一个公钥文件,默认输入为私钥文件。
-certin :表明我们输入的是一个证书文件。
-asn1parse :对输出的数据进行ASN1分析。该指令一般和-verify一起用的时候威力大。
-hexdump :用十六进制输出数据。
-pkcs、 -oaep、 -ssl、 -raw、-x931
:采用的填充模式,上述四个值分别代表:PKCS#1.5(缺省值)、 PKCS#1 OAEP、SSLv2、X931里面特定的填充模式,或者不填充。如果要签名,只有-pkcs和-raw可以使用。
-sign :给输入的数据签名。需要我们的私有密钥文件。
-verify :对输入的数据进行验证。
-encrypt :用我们的公共密钥对输入的数据进行加密。
-decrypt :用RSA的私有密钥对输入的数据进行解密。
-rev :数据是否倒序。
-engine e :硬件引擎。
例子:
生成RSA密钥:
openssl genrsa -des3 -out prikey.pem  
分离出公钥:
openssl genrsa -des3 -out prikey.pem  
openssl rsa -in prikey.pem -pubout -out  pubkey.pem  
对文件签名:
openssl rsautl -sign -inkey prikey.pem -in a.txt  -hexdump,文件a.txt的内容不能太长;  
openssl rsautl -sign -inkey prikey.pem -in a.txt  -out sig.dat  
openssl rsautl -verify -inkey prikey.pem -in  sig.dat
公钥加密:
openssl rsautl -encrypt -pubin -inkey pubkey.pem -in a.txt -out b.txt  
私钥解密:
openssl rsautl -decrypt -inkey prikey.pem -in b.txt  
用证书中的公钥加密:
openssl rsautl -encrypt -certin -inkey cert1.pem -in a.txt  
用一个私钥对数据进行签名:
openssl rsautl -sign -in file -inkey key.pem -out sig  
恢复签名数据:
openssl rsautl -verify -in sig -inkey key.pem  

 


 

posted @ 2018-04-20 11:12  艾小小雨  阅读(1882)  评论(0编辑  收藏  举报