Почему Openssl не может расшифровать RSA? Я создал пару ssh-ключей по алгоритму rsa, как написано в этой статье.ssh-keygen -t rsa -N '' -f test_rsa А потом попытался расшифровать его с помощью openssl:openssl asn1parse -in test_rsa По идее, должны выводиться параметры ключа, но я получаю такую ошибку:0:d=0 hl=2 l= 112 cons: appl [ 15 ] 2:d=1 hl=2 l= 110 cons: appl [ 5 ] Error in encoding 139838135571776:error:0D07209B:asn1 encoding routines:ASN1_get_object:too long:../crypto/asn1/asn1_lib.c:91: Как это можно исправить?
Ошибка, которую вы получаете, говорит о том, что данные, с которыми работает команда openssl asn1parse, слишком длинные и не могут быть корректно обработаны. Проблема заключается в том, что ssh-keygen создает ключи в формате, который не совместим с openssl asn1parse.
Для того чтобы расшифровать RSA ключ с помощью openssl, вам нужно использовать следующие команды:
Сначала сконвертируйте ключ в PEM формат: openssl rsa -in test_rsa -pubout -outform PEM -out test_rsa.pem
Ошибка, которую вы получаете, говорит о том, что данные, с которыми работает команда openssl asn1parse, слишком длинные и не могут быть корректно обработаны. Проблема заключается в том, что ssh-keygen создает ключи в формате, который не совместим с openssl asn1parse.
Для того чтобы расшифровать RSA ключ с помощью openssl, вам нужно использовать следующие команды:
Сначала сконвертируйте ключ в PEM формат:
openssl rsa -in test_rsa -pubout -outform PEM -out test_rsa.pem
Затем прочитайте содержимое PEM ключа:
openssl rsa -pubin -in test_rsa.pem -text -noout
Эти команды должны успешно вывести параметры вашего RSA ключа.