Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Вот, решил попробовать новую сборку JCP+JTLS 2.0.37283 Теперь играю в игру "Что? Где? Когда?". Подключаюсь к ГОСТ TLS серверу. В ответ получаю очень информационное сообщение: Код:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIX path building failed
at ru.CryptoPro.ssl.ae.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.S.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.i.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.i.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.V.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.V.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.i.o(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.i.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.S.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.S.i(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.S.a(Unknown Source)[cpSSL.jar:37283]
at ru.CryptoPro.ssl.q.write(Unknown Source)[cpSSL.jar:37283]
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)[:1.7.0_51]
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:121)[:1.7.0_51]
Теперь вопрос. Для какого сертификата JTLS не может построить цепочку? Зная, чуток архитектуру TLS handshake, можно сделать следующее предположение. Сервер возвращает свой сертификат и цепочку сертификатов. Раз так, что же JTLS не позволило сформировать этот самый "PKIX path"?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,001 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 713 раз в 673 постах
|
1) попробуйте включить логирование (logging.properties) 2) возможно, нет корневого сертификата в trust store |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Я добавил корневой сертификат в хранилище. Ошибка изменилась. Код:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIX path validating failed
...
Caused by: java.security.cert.CertificateException: PKIX path validating failed
...
Caused by: java.security.GeneralSecurityException: [PKIX] Online verification of certificate status is enabled but parameters com.sun.security.enableCRLDP=false, com.ibm.security.enableCRLDP=false
...
Как отключить этот самый "Online verification"? Для GUI платформы данный функционал еще можно понять. Для системы, работающей с одним и тем же URL (SOAP WEB Service), эта параноя не нужна.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,001 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 713 раз в 673 постах
|
1) включить проверку, передав -Dcom.sun.security.enableCRLDP=true 2) отключить: Код:
Preferences p = Preferences.userRoot().node("ru/CryptoPro/ssl");
p.put("Enable_revocation_default", "false");
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Спасибо за описание параметра. Я почитал документацию jcp-build-2.0.37027/Doc/tls.html Запустил ControlPanel $ ./ControlPane.sh /usr/lib/jvm/java-7-oracle/jre Убрал галочку "Загружать СОС по CRLDP сертификата (по умолчанию)". Ошибка изменилась: Код:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIX path validating failed
...
Caused by: java.security.cert.CertificateException: PKIX path validating failed
...
Caused by: java.security.cert.CertPathValidatorException: Could not determine revocation status
...
Это переводится как "Не удалось определить состояние отзыва" И... я же отключил этот пункт. Повторил то же самое под root $ sudo ./ControlPane.sh /usr/lib/jvm/java-7-oracle/jre Ошибка та же самая. Извините, если надоел
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,001 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 713 раз в 673 постах
|
Если проверка включена, то, возможно, нет доступа к CRLDP, прописанному в сертификате. Убирать тогда надо первую галочку ("Проверять сертификаты цепочки на отзыв"). Отредактировано пользователем 31 января 2014 г. 16:11:35(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Не понял. Как так "нет доступа к CRLDP"? Его у меня на все 100+1% нет. Я как раз и добиваюсь эффекта отключения проверки цепочки отзыва. Серверный сертификат, выдан на сайт доменной зоны gov.ru. Тягать CRL от УЦ ФК каждые 2-3 минуты. Извините, я не параноик. У меня запрос+ответ гораздо меньше, чем размер CRL файла. Специально прогоняю весь HTTP/HTTPS трафик через proxy, чтобы ничего лишнего в сеть не залезло без личного ведома. Тут я параноик - это факт. По вашему совету отключил первую галку. Продвинулся чуть дальше Код:
javax.net.ssl.SSLException: java.lang.UnsupportedOperationException
at ru.CryptoPro.ssl.x.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.ab.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.ab.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.ab.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.K.write(Unknown Source)[cpSSL.jar:37027]
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)[:1.7.0_51]
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:121)[:1.7.0_51]
...
Caused by: java.lang.UnsupportedOperationException
at javax.crypto.CipherSpi.engineGetKeySize(CipherSpi.java:926)[:1.7.0_51]
at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1052)[:1.7.0_51]
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1010)[:1.7.0_51]
at javax.crypto.Cipher.init(Cipher.java:1209)[:1.7.0_51]
at javax.crypto.Cipher.init(Cipher.java:1153)[:1.7.0_51]
at ru.CryptoPro.ssl.a.c.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.a.e.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.ad.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.ad.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.d.k(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.d.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.ab.a(Unknown Source)[cpSSL.jar:37027]
at ru.CryptoPro.ssl.ab.i(Unknown Source)[cpSSL.jar:37027]
Добро пожаловать на сайт zakupki.gov.ru Старый JCP+JTLS 1.0.52 ходит без проблем. Отредактировано пользователем 31 января 2014 г. 16:30:10(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,001 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 713 раз в 673 постах
|
|
|
1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Спасибо за подсказку. Совсем забегался, переключать JDK 1.6/1.7. Не уследил, что очередное обновление JDK обновило файл local_policy.jar. Поменял, TLS заработал.
Разрешите полюбопытствовать. JTLS поддерживает версии TLS 1.1 и 1.2? Можно ли организовать off-line проверку цепочки сертификатов при включенной опции "Проверять сертификаты цепочки на отзыв"? Например, используя ранее полученные CRL файлы или OCSP ответы. В том же CRL файле есть дата и время устаревания сведений. До этого времени нет смысла многократно загружать один и тот же файл с сервера.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,001 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 713 раз в 673 постах
|
Автор: miser JTLS поддерживает версии TLS 1.1 и 1.2? Можно ли организовать off-line проверку цепочки сертификатов при включенной опции "Проверять сертификаты цепочки на отзыв"? Например, используя ранее полученные CRL файлы или OCSP ответы. В том же CRL файле есть дата и время устаревания сведений. До этого времени нет смысла многократно загружать один и тот же файл с сервера.
Пока не поддерживает. Попробуйте на вкладке "Настройки сервера" указать папку со свежим(-и) файлом (-ми) CRL (включить галочку (1) "Проверять сертификат цепочки на отзыв", убрать (2) "Загружать СОС ... по CRLDP" и задать папку с включенной (3) "Загружать список из папки"). |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close