Java Web Start: в сертификате не указан ответчик OCSP
Я пытаюсь подключиться к Java 8 через HTTPS к файлу JNLP на сервере интрасети, который имеет самозаверяющий сертификат TLS.
Когда Java Web Start пытается загрузить первый ресурс (файл с этого сервера), указанный в попытке JNLP, он выдает исключение:
javax.net.ssl.SSLHandshakeException: com.sun.deploy.security.RevocationChecker$StatusUnknownException: Certificate does not specify OCSP responder
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
...
Caused by: com.sun.deploy.security.RevocationChecker$StatusUnknownException: Certificate does not specify OCSP responder
at com.sun.deploy.security.RevocationChecker.checkOCSP(Unknown Source)
at com.sun.deploy.security.RevocationChecker.check(Unknown Source)
at com.sun.deploy.security.RevocationCheckHelper.doRevocationCheck(Unknown Source)
at com.sun.deploy.security.RevocationCheckHelper.doRevocationCheck(Unknown Source)
at com.sun.deploy.security.RevocationCheckHelper.checkRevocationStatus(Unknown Source)
at com.sun.deploy.security.X509TrustManagerDelegate.checkTrusted(Unknown Source)
at com.sun.deploy.security.X509Extended7DeployTrustManagerDelegate.checkServerTrusted(Unknown Source)
at com.sun.deploy.security.X509Extended7DeployTrustManager.checkServerTrusted(Unknown Source)
... 39 more
Suppressed: com.sun.deploy.security.RevocationChecker$StatusUnknownException
at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)
... 46 more
Любая идея?
Действительно, мы не указали респондента OCSP. Но действительно ли это проблема? Интересно, что это работает на машине моих коллег (они только получают предупреждение). Несколько дней назад я временно установил Java 9, чтобы что-то проверить. Возможно ли, что это что-то перепутало? Я удалил это снова, кстати.
Мой текущий обходной путь - установить для параметра "Выполнять проверки отзыва сертификатов TLS" на панели управления Java (вкладка "Дополнительно") значение "Не проверять (не рекомендуется)". Но мне это не нравится.
0 ответов
Я прошел через это сегодня, была просто проблема с моими сертификатами - воссоздал мое хранилище ключей, но в моем хранилище доверенных сертификатов не было нового корневого / промежуточного сертификата, который был указан в сертификате веб-сайта. Я вернулся, добавил сертификаты в магазин доверия и перезапустил сайт, и это сработало.
keytool -import -trustcacerts -alias root -file NewRoot.cer -keystore cacerts
keytool -import -trustcacerts -alias "Intermed Name Here" -file NewInt.cer -keystore cacerts
- Я заходил в тупик, преследуя OCSP-ответчика, когда Java действительно проверяла CRL и OCSP, именно в таком порядке. На самом деле все, что нужно было, - это исправить Truststore / CA.
Brent