首页 > 代码库 > 6.openssl rsautl和openssl pkeyutl

6.openssl rsautl和openssl pkeyutl

rsautl是rsa的工具,相当于rsa、dgst的部分功能集合。可用于签名、验证、加密和解密文件。非对称密钥的密钥是随机生成的,因此不需要也无法指定salt参与加密。

pkeyutl是非对称加密的通用工具,大体上和rsautl的用法差不多,这里只解释rsautl。

[root@xuexi tmp]# man rsautl

NAME

rsautl - RSA utility

SYNOPSIS

openssl rsautl [-in file] [-out file] [-inkey file] [-pubin] [-certin] [-sign] [-verify] [-encrypt] [-decrypt] [-pkcs] [-ssl] [-raw] [-hexdump] [-asn1parse]

DESCRIPTION

The rsautl command can be used to sign, verify, encrypt and decrypt data using the RSA algorithm.

-in file:指定输入文件

-out file:指定输出文件

-inkey file:指定密钥输入文件,默认是私钥文件,指定了-pubin则是公钥文件

-pubin:指定输入的是公钥文件

-certin:-inkey file的file是包含公钥的数字证书文件

-sign:签名并输出,默认需要RSA私钥文件

-verify:验证文件并恢复文件数据

-encrypt:使用公钥加密文件

-decrypt:使用私钥解密文件

rsautl命令的用法和rsa、dgst不太一样,首先它的前提是已经有非对称密钥,所有的命令操作都用到公钥或私钥来处理;再者该命令使用-in选项来指定输入文件,而不像dgst一样把输入文件放在命令的结尾;最后该命令使用的密钥文件、签名文件、证书文件的输入都通过-inkey选项指定,再通过各功能的选项搭配来实现对应的功能。

6.openssl rsautl和openssl pkeyutl