Eclipse RCP javax.net.ssl.setTrustore с p2 не работает - PullRequest
0 голосов
/ 19 октября 2018

У меня есть проблема, которая сводит меня с ума.У меня есть приложение RCP с p2, которое при запуске вызывает веб-сервис (в https) для входа в систему.Сертификат самоподписан.Так как я не хочу изменять jre cacerts, я помещаю свои собственные cacerts в один из моих плагинов, я извлекаю этот плагин, используя функциональную функцию, поэтому у меня есть свои cacerts на FS, а не в jar.

Перед вызовом WSЯ устанавливаю свойства java

System.setProperty("javax.net.ssl.trustStore","mystruststorepath");
System.setProperty("javax.net.ssl.trustStorePassword","mystruststorepsw");

, теперь безумная вещь.

  1. Если я запускаю свое приложение из Eclipse IDE, все работает нормально
  2. Если я экспортирую свое приложение безp2 работает нормально
  3. Если я экспортирую свое приложение с p2, оно не работает, и я получаю ошибку, связанную с отсутствием сертификата в хранилище доверенных сертификатов
  4. Если я запускаю то же приложение из пункта 3, просто добавивв MyApp.ini опция -Djavax.net.ssl.trustStore = mystruststorepath работает

Я не знаю, как это может быть связано с p2, но я могу только представить, что p2Плагин применяет некоторый кэш хранилища доверенных сертификатов, поэтому изменять его программно не получится.Я не знаю, возможно ли это.

Кто-нибудь сталкивался с такой же проблемой?

Я хочу подтвердить это

  • Я настроил затмениеjre runtime и выполнение с тем же jre, используемым экспортируемым продуктом
  • Я несколько раз проверял путь к хранилищу сертификатов, и он правильный

Это ошибка, которую я получил

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...