У меня есть проблема для связи между Cisco CUCM и сценарием на другом сервере, так как сертификат CUCM был изменен.
Я выполняю команды от сервера к Cisco CUCM
После устранения неполадок, Php отправляет мне это:
nested exception is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Поскольку я знаю, что это связано с SSL, я импортировал новый сертификат CUCM на сервер Debian, на котором размещен скрипт.
Кстати, я работаю с OpenSSL 0.9.8o (01 июня 2010)
Я добавил его в каждое хранилище ключей, найденное на машине (я обнаружил 5 разных хранилищ ключей), и перезагрузил его с помощью «dpkg -configure CA-Certificates» (даже если я не знаю, использует ли его система)
Дело в том, что я не могу реально изменить сценарии, я отвечаю за систему, а не за код.
Что интересно, так это:
1 / Выполнение команды openssl s_client -showcerts -connect ip: 443
Говорит мне:
CONNECTED
...
verify return code: 18 (self signed certificate)
2 / Выполнение той же команды, но с добавлением «-CApath / usr / lib / jvm / java-6-openjdk / jre / lib / security / cacerts»
CONNECTED
...
Verify return code: 0 (ok)
Я должен заключить, что сценарий (и openssl по умолчанию) не использует хранилище ключей CA в каталоге java
Я прав ?
Если я, как я узнаю, где находится хранилище ключей?
Задача ещё не решена.
Других решений пока нет …