Случай. Я поддерживаю Java-апплет, который использует библиотеки BouncyCastle bcpkix-jdk15on-149.jar и bcprov-jdk15on-149.jar.
Проблема в том, что апплет запускается в браузере с поддержкой JRE версии 7_u40.
Поведение изменилось с версии 7_u25 таким образом, что оно всегда запрашивает модальное окно, например "Запрос безопасности для приложения, использующего самозаверяющий сертификат" (который больше не может быть скрыт), чтобы доверять bcprov.
https://www.java.com/en/download/help/appsecuritydialogs.xml
Насколько я знаю, это связано с тем, что библиотеки BC подписываются с сертификатом BouncyCastle, выданным "CA JCE Code Signing CA". Из-за этого lib может выполнять и действовать как поставщик криптографии.
НО: JRE не может построить цепочку сертификатов, чтобы доверять сигнатуре. Он показывает "поставщик: UNKNOWN"
Я знаю, что могу удалить эту подпись и подписать сам (у меня есть сертификат знака кода Thawte):
- он работает с bcpkix lib
- он не работает с bcprov, потому что он не будет считаться допустимым поставщиком криптографии (ему не будет доверять JRE).
Я прав?
Что я могу сделать?
PS: Я много искал, чтобы найти корневой сертификат JCA (чтобы поместить его в доверительный магазин JRE), без успеха... Есть ли способ захватить этот корневой ЦС?