Можно ли объединить файл java \ jre \ security \ lib \ cacerts - PullRequest
0 голосов
/ 31 марта 2012

В моем проекте я интегрировал Spring Security с аутентификацией сервера CAS. Теперь мой проект представляет собой приложение http, где в качестве сервера CAS используется приложение Https. После интеграции Spring Security и CAS я получил следующее исключение: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Чтобы устранить эту ошибку, я заменил файл usr \ java \ jre \ lib \ security \ cacerts сервера CAS своим локальным файлом usr \ java \ jre \ lib \ security \ cacerts. После этого шага ошибка исчезла.

Теперь я хочу развернуть свое приложение на каком-то другом сервере. На этом новом сервере также развернуты некоторые другие приложения, которые могут использовать другую аутентификацию CAS. Я не могу напрямую заменить файл Cacerts сервера CAS этим новым файлом Cacerts сервера, так как в этом случае другое развернутое приложение может дать сбой. Верно? Может кто-нибудь предложить, что я должен сделать, чтобы каскады можно было объединить, или что нужно сделать? я узнал команду под названием keytool, но не смог понять, как ее можно использовать для слияния файла cacerts. Я не знаю, как получить файл CER моего сервера CAS, я узнал, что это может быть использовано при слиянии, пожалуйста, предложите решение

1 Ответ

2 голосов
/ 31 марта 2012

Здесь есть недоразумение.
cacerts - хранилище доверенных сертификатов Java по умолчанию, содержащее все доверенные сертификаты для известных ЦС (Verisign и т. Д.). Таким образом, Java по умолчанию может доверять этим сертификатам так же, как это делает ваш браузер.

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

Итак, вам следует загрузить в свой код свое собственное хранилище доверенных сертификатов и предоставить его в JSSE Java для использования при аутентификации во время рукопожатия

...