ESAPI должен поддерживать любую схему заполнения, доступную и поддерживаемую вашим поставщиком JCE. Просто по умолчанию используется заполнение PKCS # 5, но это можно изменить, настроив свойство Encryptor.CipherTransformation в файле ESAPI.properties.
ESAPI использует любого провайдера JCE, который используется вашей JVM по умолчанию. Обычно это SunJCE. Однако это также можно изменить с помощью свойства Encryptor.PreferredJCEProvider в ESAPI.properties. SunJCE поддерживает только схемы дополнения NOPADDING, PKCS5PADDING, ISO10126PADDING для AES в JDK 1.6. (IIRC, я не думаю, что заполнение ISO-10126 поддерживается в JDK 1.5 и более ранних версиях, но я не подтвердил это.) Однако другие схемы дополнения могут быть доступны от других поставщиков JCE, таких как Bouncy Castle. (В соответствии с этим http://www.bouncycastle.org/specifications.html, выглядит так, как будто Bouncy Castle поддерживает заполнение ISO-7816-4 через ISO7816d4Padding. Я не проверял это, но если это не работает, пожалуйста, покажите электронное письмо в список пользователей ESAPI на сайте Google Issue http://code.google.com/p/owasp-esapi-java/issues/list или откройте его, и я постараюсь исправить его для вас.)
Кстати, я не читаю по-немецки, но не уверен, что беспокоит заполнение PKCS # 5, если, возможно, это не нападение оракула заполнения. Если да, ESAPI покрывает вас до тех пор, пока вы либо используете режим шифрования, который поддерживает аутентификацию сообщений, такой как GCM или CCM (оба из которых одобрены NIST), либо используете ESAPI, чтобы обеспечить аутентификацию сообщений через HMAC. Последний управляется через свойство Encryptor.CipherText.useMAC, которое по умолчанию установлено в «true» в поставляемом стандартном файле ESAPI.properties.
-кевиновая стена