Не удается найти провайдера AES/ECB/PKCS7Padding

Я пытался использовать AES/ECB/PKCS7Padding для шифрования файла, но получаю следующее исключение.

java.security.NoSuchAlgorithmException: не удается найти провайдера, поддерживающего AES/ECB/PKCS7Padding

По-видимому, PKCS7Padding не поддерживается. Если я использую AES/ECB/PKCS5Padding, то все работает нормально.

Требование, данное мне, заключается в том, что должны использоваться EBC и PKCS7 с дополнением.

Кто-то ответил на приведенный ниже вопрос, что «Java фактически выполняет заполнение PKCS # 7, но в спецификации JCA указано имя PKCS5Padding»

AES-256 и PKCS7Padding не работают в Java

В приведенном ниже вопросе кто-то сказал, что «я укажу, что PKCS # 5 и PKCS # 7 на самом деле указывают один и тот же тип заполнения ...»

java.security.NoSuchAlgorithmException: не удается найти провайдера, поддерживающего AES/ECB /PKCS7PADDING

Что это значит? AES/ECB/PKCS5Padding и AES/ECB/PKCS7Padding одинаковы? Таким образом, оба будут давать один и тот же зашифрованный вывод?

ТИА.


person user3573403    schedule 22.01.2015    source источник
comment
Да, вот что это значит. Технически PKCS5 поддерживает только 64-битные блочные шифры, тогда как PKCS7 поддерживает 128-битные блочные шифры. Схема наполнения практически такая же. Когда вы указываете PKCS5Padding, вы фактически получаете заполнение PKCS7.   -  person President James K. Polk    schedule 22.01.2015
comment
Дубликат Crypto.SE: В чем разница между Заполнение PKCS#5 и заполнение PKCS#7   -  person Artjom B.    schedule 22.01.2015
comment
Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что он касается криптографии.   -  person Artjom B.    schedule 22.01.2015
comment
Мне также нужно выполнить другое шифрование с использованием RSA/ECB/PKCS7Padding. Опять же, PKCS7Padding также не поддерживается. Я считаю, что режим по умолчанию и заполнение для RSA — это RSA/ECB/PKCS1Padding. Что я могу сделать?   -  person user3573403    schedule 22.01.2015