2016-06-01 1 views
0

Это мой тест.Является ли RSA Encrypt & Decrypt только с помощью закрытого ключа от openssl, правильно?

$ 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

Если вы читали 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