Есть ли практический способ определить, какие поставщики криптографии JCE используются? - PullRequest
5 голосов
/ 23 мая 2011

Мы настроили продукт Java для использования только проверенных FIPS криптографических провайдеров RSA JCE.Однако продукт не будет работать, если только библиотеки RSA перечислены в java.security.Следовательно, что-то запрашивает не-FIPS-алгоритмы у другого провайдера.

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

Это кажется часто задаваемым вопросом, но, очевидно, мы не наткнулись на правильную документацию или строку поиска Google: Существует ли какой-либо надежный, удобный и последовательный механизм для определения, какие провайдеры JCE работаютиспользуется в работающем экземпляре JVM?

Ответы [ 4 ]

2 голосов
/ 24 мая 2011

Ну, вы можете перечислить поставщиков, используя Security.getProviders () ;

Вот пример списка поставщиков и алгоритмов, которые они реализуют .

1 голос
/ 25 мая 2011

Как сказал Бруно, вы можете перебирать всех провайдеров.

Во время выполнения вы можете проверить, какой провайдер использует ваш шифр, с помощью метода getProvider .

1 голос
/ 25 мая 2011

Я предложу внедрить ваш собственный ClassLoader и запишу в нем отладочную информацию.

Хотя я не уверен, даст ли это вам знать о каждом классе, который загружает FooJCEProvider, а не только о первом классе, который загружает FooJCEProvider.

Альтернативно, вы пытались использовать jconsole ? «MBean загрузки классов также имеет атрибут Verbose, который можно установить для включения или отключения подробной трассировки загрузки классов»

0 голосов
/ 23 мая 2011

Дает ли System.setProperty("javax.net.debug","all") что-нибудь полезное?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...