Ошибка: RSA_padding_check_PKCS1_type_1: тип блока не 01 ..?

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

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


person Balamurugan    schedule 05.10.2011    source источник


Ответы (1)


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

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

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

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

openssl rsautl -pkcs -decrypt ...

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

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

person Gz Zheng    schedule 27.01.2012