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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline auglov  
#1 Оставлено : 18 января 2018 г. 19:48:44(UTC)
auglov

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

Группы: Участники
Зарегистрирован: 25.12.2014(UTC)
Сообщений: 76

Сказал(а) «Спасибо»: 3 раз
При вызове

Код:

CAdESSigner newSigner = signer.enhance(JCP.PROVIDER_NAME,
                                signer.getSignerInfo().getDigestAlgOID(),
                                certsChain,
                                сonfig.tsaAddress,
                                CAdESType.CAdES_X_Long_Type_1
                        );


приложение подвисает на пять минут. Затем выбрасывает исключение

Код:

org.bouncycastle.cms.CMSAttributeTableGenerationException: Time of call has been exhausted. Try to sign/enhance again later
	at ru.CryptoPro.CAdES.pc_2.pc_0.cl_1.getAttributes(Unknown Source)
	at ru.CryptoPro.CAdES.pc_2.pc_0.cl_4.getAttributes(Unknown Source)
	at ru.CryptoPro.CAdES.CAdESSignerTImpl.enhance(Unknown Source)
	at ru.CryptoPro.CAdES.CAdESSignerBESImpl.enhance(Unknown Source)
	at ru.CryptoPro.CAdES.CAdESSignerBESImpl.enhance(Unknown Source)



В отладчике в момент подвисания также видно следующее:

Код:

  java.lang.Thread.State: TIMED_WAITING
	  at java.lang.Thread.sleep(Thread.java:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.needRecall(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
	  at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source:-1)
..........


Видно также, что вызов был по адресу http://ocsp.keydisk.ru/OCSP8892016/OCSP.srf
Offline Евгений Афанасьев  
#2 Оставлено : 19 января 2018 г. 10:49:29(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Разница между датами штампа и OCSP ответа слишком велика (видимо, рассинхронизация времени между службами).
Offline auglov  
#3 Оставлено : 19 января 2018 г. 12:41:02(UTC)
auglov

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

Группы: Участники
Зарегистрирован: 25.12.2014(UTC)
Сообщений: 76

Сказал(а) «Спасибо»: 3 раз
Уже сообразил. Конечно же, УЦ утверждает, что у них время правильное. Все-таки можно как-то поуправлять количеством попыток OCSPEvidenceCollectorImpl.getEvidence()? Если на десятки секунд расходится время, то ОК, можно и подождать, а если уже 60+, а тем более 300+, то ждать-то и нет смысла, выходит.
Offline Евгений Афанасьев  
#4 Оставлено : 19 января 2018 г. 13:53:38(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Службы обе их же (этого УЦ)? Можно собрать лог, проследить запросы. Общая задержка выходит более 5 минут, после этого запросы прекращаются.
Offline auglov  
#5 Оставлено : 19 января 2018 г. 14:31:35(UTC)
auglov

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

Группы: Участники
Зарегистрирован: 25.12.2014(UTC)
Сообщений: 76

Сказал(а) «Спасибо»: 3 раз
Нет, службы от разных УЦ. TSP вот этот: http://tax4.tensor.ru/tsp/
Под каждый сторонний УЦ подбирать подходящий TSP - это как-то слишком. Все равно будут возникать ситуации рассинхрона часов.

И к вам сейчас вопрос-предложение-то простое - наверное, стоит бросать исключение гораздо быстрее, а не через пять минут, если после сравнения первого же ответа от OCSP со штампом из TSP становится понятно, что рассинхрон слишком велик и повторять запрос в OCSP позже нет смысла. И/или эти 5 минут в конфиг вынести.

Также может даже есть смысл писать в тексте исключения, насколько велика разница, в том числе, с текущим временем приложения - на него мы хоть как-то повлиять можем и синхронизируем заранее с каким-нибудь NTP. Это для того, чтобы аргументировано уже потом идти в поддержку УЦ или TSP, мол, смотрите, мы наблюдаем такую разницу, давайте что-то решать будем.
Offline Евгений Афанасьев  
#6 Оставлено : 22 января 2018 г. 11:25:04(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Автор: auglov Перейти к цитате
Нет, службы от разных УЦ. TSP вот этот: http://tax4.tensor.ru/tsp/
Под каждый сторонний УЦ подбирать подходящий TSP - это как-то слишком. Все равно будут возникать ситуации рассинхрона часов.

И к вам сейчас вопрос-предложение-то простое - наверное, стоит бросать исключение гораздо быстрее, а не через пять минут, если после сравнения первого же ответа от OCSP со штампом из TSP становится понятно, что рассинхрон слишком велик и повторять запрос в OCSP позже нет смысла. И/или эти 5 минут в конфиг вынести.

Также может даже есть смысл писать в тексте исключения, насколько велика разница, в том числе, с текущим временем приложения - на него мы хоть как-то повлиять можем и синхронизируем заранее с каким-нибудь NTP. Это для того, чтобы аргументировано уже потом идти в поддержку УЦ или TSP, мол, смотрите, мы наблюдаем такую разницу, давайте что-то решать будем.

Если рассинхронизация более 5 минут, то так и есть - кидается исключение сразу. Тут, возможно, оно было близко к 5 минутам. В следующей версии таймаут увеличим. В логи пишется время предполагаемой задержки или разница во времени между службами в случае исключения.

Отредактировано пользователем 22 января 2018 г. 12:45:24(UTC)  | Причина: Не указана

Offline auglov  
#7 Оставлено : 22 января 2018 г. 13:16:03(UTC)
auglov

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

Группы: Участники
Зарегистрирован: 25.12.2014(UTC)
Сообщений: 76

Сказал(а) «Спасибо»: 3 раз
Да, только конкретно в нашем случае увеличение не поможет - нам наоборот нужна возможность его уменьшить. Охотно соглашусь, что в другой логике приложения я бы просил увеличения.
Сделаете еще один параметр для конфига может, чтобы в любую сторону можно было настроить? И пусть, по умолчанию, будет, как сейчас, пять минут.
Offline Евгений Афанасьев  
#8 Оставлено : 31 января 2018 г. 16:59:42(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Сделаем в следующем релизе.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.