Ошибка: RSA_padding_check_PKCS1_type_1: тип блока не 01 ..? - PullRequest
5 голосов
/ 05 октября 2011

привет, может кто-нибудь сказать мне, почему эта ошибка возникает при расшифровке сообщения, зашифрованного с помощью закрытого ключа RSA.

Я проверяю подпись сообщения, подписанного Java, и проверяю подпись с помощью openssl 0.9.8g

1 Ответ

3 голосов
/ 27 января 2012

Обычно это означает, что сторона шифрования и сторона дешифрования используют разные схемы заполнения. Они должны быть одинаковыми с обеих сторон.

Если вы используете Bouncy Castle в Java, вы можете указать схему заполнения (в данном случае заполнение PKCS # 1) в шифре следующим образом:

Cipher cipher = Cipher.getInstance("RSA/None/PKCS1Padding", "BC");

В openssl вы можете указать схему заполнения в команде encrypt / decrypt:

openssl rsautl -pkcs -decrypt ...

Здесь опция "-pkcs" определяет схему заполнения PKCS # 1.

Надеюсь, это поможет.

...