Что такое режим заполнения для AES/GCM? Я понял, что это может быть NoPadding, так как в режиме ECB это может быть PKCS5Padding, как в режиме GCM? в интерфейсе JCE нам нужно предоставить «алгоритм/режим/дополнение» (Reference).Может ли PKCS5Padding находиться в режиме AES/GCM?
Таким образом, я использовал следующий код, чтобы получить экземпляр, и он работает в JDK, но не в IBM SDK, который говорит
не может найти поставщика для поддержки AES/GCM/PKCS5Padding
Cipher.getInstance("AES/GCM/PKCS5Padding");
Что такое реальный вариант использования для заполнения?
Padding описывает, как блоки в цепочке выравниваются и заполняются в соответствии с ожидаемым размером блока. JRE может работать с различным поставщиком безопасности. Oracle SDK включает в себя его очень низкий безопасный США приятный Oracle Security Provider. Я не знаю, какой Security Prodiver используется по умолчанию в IBM SDK. Лучшей практикой является включение вашего собственного поставщика безопасности при работе с различными поставщиками JRE, такими как BouncyCastle. Или используйте поставщика безопасности целевой системы в системе dev, например, когда вы разрабатываете для android, где OpenSSl Security Provider по умолчанию. Надеюсь, что поможет –
Это лучший поставщик услуг безопасности, который я знаю: https://www.bouncycastle.org/java.html –
Спасибо за ответ, мне не нужно вводить 3-ий libs. поэтому мне нужно использовать встроенный провайдер JDK. как SUNJCE, но в IBM sdk, я предполагаю, что он предоставляет своего собственного провайдера, но, на мой вопрос, действительно ли «AES/GCM/PKCS5Padding» является юридическим значением? Я не нашел примера использования PKCS5Padding в GCM и даже http://isaacyang1988.googlecode.com/svn/trunk/Crypt/src/org/bouncycastle/jce/provider/test/AESTest.java в этой статье есть тестовый пример это неправильный шаблон –