是RSA加密&只用openssl的私钥解密,对吗?

时间:2016-06-01 05:46:11

标签: encryption openssl rsa

这是我的测试用例。

$ openssl genrsa -out private.pem 2048
$ openssl rsa -in private.pem -outform PEM -pubout -out public.pem  # but I don't use it.

$ touch raw_data.log && echo 123456 >> raw_data.log
$ openssl rsautl -encrypt -in raw_data.log -inkey private.pem > enc.raw_data.log
$ openssl rsautl -decrypt -in enc.raw_data.log -inkey private.pem > dec.raw_data.log

$ cat raw_data.log
$ cat dec.raw_data.log

为什么我可以加密&仅使用rsa私钥解密数据(不是加密数据的公钥)

这是对的吗?

1 个答案:

答案 0 :(得分:1)

如果您阅读man page for openssl rsautl,您会发现可以使用 pubin 选项使用公钥进行加密

  

- inkey 文件输入密钥文件,默认情况下应该是RSA私钥。

     

- pubin 输入文件是RSA公钥。

因此,您可以使用私钥(默认)或公钥(使用 pubin 选项)加密

openssl rsautl -encrypt -inkey pubkey.pem -pubin -in raw_data.log -out enc.raw_data.log
相关问题