программно обнаружить неограниченное шифрование Java

У меня есть приложение Java, которое требует установки файлов политики JCE Unlimited Strength для создания сертификатов. Однако в настоящее время система молча дает сбой, если файлы не установлены, а не выдает исключение или что-то в этом роде.

Есть ли программный способ проверить эти файлы из приложения? Благодарю.


person ewok    schedule 17.02.2012    source источник
comment
возможный дубликат Проверка доступности неограниченной криптографии   -  person Peter O.    schedule 18.02.2012
comment
Не получается молча? Нет, он не выходит из строя молча. Он выдает исключение, но вы каким-то образом проглатываете это исключение. Если вы исправите свою неработающую обработку исключений, вы сможете решить свою проблему.   -  person President James K. Polk    schedule 18.02.2012


Ответы (2)


Вероятно, не самый чистый способ:

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

Я полагаю, вы также можете проверить установленные библиотеки (похоже, что Manisfest в файлах JAR содержит силу).

person assylias    schedule 17.02.2012
comment
На самом деле я бы сказал, что перехват исключения — самый чистый и надежный способ. - person President James K. Polk; 18.02.2012
comment
@GregS: согласен, особенно с учетом того, что время от времени определение ограничено. У вас может быть ограниченное шифрование в будущих версиях Java, которые все еще могут создавать требуемые размеры ключей. - person Maarten Bodewes; 18.02.2012

Оказывается, как указывает GregS выше, программа не давала сбой молча, а проглатывала исключение. Вызов KeyStore.store() вызывал IOException, который я поймал с общим catch (Exception e) ниже. После отлова IOException по отдельности программа теперь работает корректно.

person ewok    schedule 21.02.2012