Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline miser  
#1 Оставлено : 31 января 2014 г. 14:36:28(UTC)
miser

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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"?
Offline Евгений Афанасьев  
#2 Оставлено : 31 января 2014 г. 15:04:36(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,001
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
1) попробуйте включить логирование (logging.properties)
2) возможно, нет корневого сертификата в trust store
Offline miser  
#3 Оставлено : 31 января 2014 г. 15:14:12(UTC)
miser

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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), эта параноя не нужна.
Offline Евгений Афанасьев  
#4 Оставлено : 31 января 2014 г. 15:28:40(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 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");
Offline miser  
#5 Оставлено : 31 января 2014 г. 15:57:02(UTC)
miser

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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

Ошибка та же самая.

Извините, если надоел Brick wall
Offline Евгений Афанасьев  
#6 Оставлено : 31 января 2014 г. 16:06:34(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,001
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Если проверка включена, то, возможно, нет доступа к CRLDP, прописанному в сертификате.
Убирать тогда надо первую галочку ("Проверять сертификаты цепочки на отзыв").

Отредактировано пользователем 31 января 2014 г. 16:11:35(UTC)  | Причина: Не указана

Offline miser  
#7 Оставлено : 31 января 2014 г. 16:17:13(UTC)
miser

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline Евгений Афанасьев  
#8 Оставлено : 31 января 2014 г. 16:56:38(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,001
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
ArthurKh оставлено 02.09.2015(UTC)
Offline miser  
#9 Оставлено : 3 февраля 2014 г. 10:51:19(UTC)
miser

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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 файле есть дата и время устаревания сведений. До этого времени нет смысла многократно загружать один и тот же файл с сервера.

Offline Евгений Афанасьев  
#10 Оставлено : 3 февраля 2014 г. 11:12:44(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 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) "Загружать список из папки").
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (4)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.