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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Алексей 111  
#1 Оставлено : 4 сентября 2020 г. 14:46:28(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
При усовершенствовании ЭП через JCP возникает ошибка

Цитата:

Caused by: OCSP status of certificate: sn 19867, subject SURNAME=XXX, issuer OID.1.2.643.3.131.1.1=#120C303037373130393634333438, OID.1.2.643.100.1=#120D31313437373436373134363331, L=г.Москва, STREET="УЛИЦА ИЛЬИНКА, Д.4, АНТР 3 ЭТ; ПОМ.94", ST=77 Москва, C=RU, O=ООО «Екей УЦ», OU=Удостоверяющий центр, CN=ООО «Екей УЦ», EMAILADDRESS=contact@ekey.ru is UNKNOWN; error codes: [19] 'Certificate status is unknown',
at ru.CryptoPro.AdES.service.OCSPServiceConnectorImpl.getEncoded(Unknown Source)
at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.getEvidence(Unknown Source)
at ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl.make(Unknown Source)
at ru.CryptoPro.AdES.evidence.EvidenceCollectorImpl.collect(Unknown Source)
at ru.CryptoPro.AdES.evidence.CertificateChainEvidenceBuilderImpl.build(Unknown Source)
... 28 more


Подскажите, с чем она может быть связана? И как её можно побороть?
Готов прислать в личку sig-файл и FINE-лог.

JDK: 1.8.0_191
JCP: 2.0.38830

Код усовершенствования:
Цитата:

srcSigner.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, chainList, tspUrl, CAdESType.CAdES_X_Long_Type_1, new AttributeTable(new Hashtable()));
Offline Андрей *  
#2 Оставлено : 4 сентября 2020 г. 14:51:28(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,632
Мужчина
Российская Федерация

Сказал «Спасибо»: 346 раз
Поблагодарили: 1386 раз в 1070 постах
Здравствуйте.


Пробовали на тестовом от тестового УЦ КРИПТО-ПРО подписывать?

Это ответ от службы УЦ... - т.е. не код менять нужно, а обратиться в УЦ с вопросом или "подождать".
Техническую поддержку оказываем тут
Наша база знаний
Offline Алексей 111  
#3 Оставлено : 4 сентября 2020 г. 15:14:29(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Поясню...

У нас код уже давно написан и нормально всё работает.

Но периодически возникают разного рода ошибки.

Вот теперь, эта "OCSP status of certificate is UNKNOWN"

Как я понимаю, заказчик берет от куда-то sig-файл и загружает в нашу систему.
Система, автоматически пытается усовершенствовать ЭП и получаем ошибку, описанную выше.

Конец FINE-лога выглядит так:
Цитата:

FINE: Collecting OCSP evidences...
сен 04, 2020 2:37:23 PM ru.CryptoPro.AdES.evidence.ocsp.OCSPEvidenceCollectorImpl getEvidence
FINE: Try to use following url: http://sp2.ekey.ru:2560
сен 04, 2020 2:37:23 PM ru.CryptoPro.AdES.service.ServiceConnectorImpl callService
FINE: Calling to service...
сен 04, 2020 2:37:23 PM ru.CryptoPro.AdES.service.ServiceConnectorImpl callService
FINE: Call to service: http://sp2.ekey.ru:2560

а потом ошибка "OCSP status of certificate is UNKNOWN"

Подскажите, кто на кого ругается и есть ли способ это побороть?

Я так понимаю, что что-то не так с серисом http://sp2.ekey.ru:2560. Я прав?
На сколько я знаю, при усовершенствовании ЭП невозможно указать "свои сервисы", берутся те, которые указаны в сертификате.
Т.е. если проблемы с сервисом http://sp2.ekey.ru:2560, то единственный способ искать кому он принадлежит и писать туда о проблеме.

Но только не понятен текст ошибки "OCSP status of certificate is UNKNOWN". Можете пояснить, что же она всё-таки значит?
Offline Андрей *  
#4 Оставлено : 4 сентября 2020 г. 15:19:13(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,632
Мужчина
Российская Федерация

Сказал «Спасибо»: 346 раз
Поблагодарили: 1386 раз в 1070 постах
"OCSP status of certificate is UNKNOWN".
"OCSP статус сертификата неизвестен".
- это ответ службы...

можете прислать в ЛС сам sig (документ мне не нужен) или сертификат?

или сами (если ОС Windows) проверить через утилиты ocsputil или cryptexpert (Сервисы\Работа с сертификатами\Проверить статус..)
Техническую поддержку оказываем тут
Наша база знаний
Offline Алексей 111  
#5 Оставлено : 4 сентября 2020 г. 15:51:08(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Отправил в личку
Offline Алексей 111  
#6 Оставлено : 4 сентября 2020 г. 16:02:48(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Как я понимаю, через cryptoexpert ЭП проходит проверку
2020-09-04 cryptoexpert.jpg (156kb) загружен 6 раз(а).
Offline Андрей *  
#7 Оставлено : 4 сентября 2020 г. 16:03:45(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,632
Мужчина
Российская Федерация

Сказал «Спасибо»: 346 раз
Поблагодарили: 1386 раз в 1070 постах
Автор: Алексей 111 Перейти к цитате
Как я понимаю, через cryptoexpert ЭП проходит проверку
2020-09-04 cryptoexpert.jpg (156kb) загружен 6 раз(а).


Он по CRL проверил, игнорирует "url" с http://sp2.ekey.ru:2560

Сейчас проверю по OCSP...
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#8 Оставлено : 4 сентября 2020 г. 16:12:23(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,632
Мужчина
Российская Федерация

Сказал «Спасибо»: 346 раз
Поблагодарили: 1386 раз в 1070 постах
Успешно проверяется:
Snimok ehkrana ot 2020-09-04 17-11-30.png (28kb) загружен 6 раз(а).

Проверьте в своём сервисе.
Техническую поддержку оказываем тут
Наша база знаний
Offline Алексей 111  
#9 Оставлено : 4 сентября 2020 г. 17:04:36(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Вот мой упрощенный код
Цитата:

@Test
public void test() throws IOException, CAdESException {
try (
InputStream dataIs = new FileInputStream("d:\\ocsp_problem.pdf");
InputStream signIs = new FileInputStream("d:\\ocsp_problem.pdf.sig")) {

CAdESSignature signature = new CAdESSignature(signIs, dataIs, null);

System.setProperty("ru.CryptoPro.reprov.enableCRLDP", "true");
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");

List<X509Certificate> chainList = new ArrayList<>();
List<SignerInformation> srcSignerInfos = new ArrayList<>();

for (CAdESSigner signer : signature.getCAdESSignerInfos()) {
chainList.add(signer.getSignerCertificate());
srcSignerInfos.add(signer.getSignerInfo());
}

for (int cnt = 0; cnt < srcSignerInfos.size(); cnt++) {
CAdESSigner srcSigner = signature.getCAdESSignerInfo(cnt);
SignerInformation srcSignerInfo = srcSigner.getSignerInfo();
CAdESSigner enhancedSigner = srcSigner.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, chainList,
"http://tsp.uc-em.ru:2020/tsp-gost2012/tsp.srf", CAdESType.CAdES_X_Long_Type_1, new AttributeTable(new Hashtable()));
}

} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}


он дает ошибку "OCSP status of certificate is UNKNOWN"

Файл с ЭП пришлю в личку.
Offline Алексей 111  
#10 Оставлено : 4 сентября 2020 г. 17:10:33(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Отправил в личку
Offline Санчир Момолдаев  
#11 Оставлено : 4 сентября 2020 г. 18:35:39(UTC)
Санчир Момолдаев

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

Группы: Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 435
Российская Федерация

Сказал(а) «Спасибо»: 51 раз
Поблагодарили: 64 раз в 63 постах
Добрый день!
коллега дал ваши файлы. на моем стенде усовершенствование прошло успешно.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#12 Оставлено : 4 сентября 2020 г. 19:00:46(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,632
Мужчина
Российская Федерация

Сказал «Спасибо»: 346 раз
Поблагодарили: 1386 раз в 1070 постах
Автор: Алексей 111 Перейти к цитате
Вот мой упрощенный код
Цитата:

@Test
public void test() throws IOException, CAdESException {
try (
InputStream dataIs = new FileInputStream("d:\\ocsp_problem.pdf");
InputStream signIs = new FileInputStream("d:\\ocsp_problem.pdf.sig")) {

CAdESSignature signature = new CAdESSignature(signIs, dataIs, null);

System.setProperty("ru.CryptoPro.reprov.enableCRLDP", "true");
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");

List<X509Certificate> chainList = new ArrayList<>();
List<SignerInformation> srcSignerInfos = new ArrayList<>();

for (CAdESSigner signer : signature.getCAdESSignerInfos()) {
chainList.add(signer.getSignerCertificate());
srcSignerInfos.add(signer.getSignerInfo());
}

for (int cnt = 0; cnt < srcSignerInfos.size(); cnt++) {
CAdESSigner srcSigner = signature.getCAdESSignerInfo(cnt);
SignerInformation srcSignerInfo = srcSigner.getSignerInfo();
CAdESSigner enhancedSigner = srcSigner.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, chainList,
"http://tsp.uc-em.ru:2020/tsp-gost2012/tsp.srf", CAdESType.CAdES_X_Long_Type_1, new AttributeTable(new Hashtable()));
}

} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}


он дает ошибку "OCSP status of certificate is UNKNOWN"

Файл с ЭП пришлю в личку.


Вы после этого проверяли работу... ? Сохраняется проблема с указанным OCSP?

Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений Афанасьев  
#13 Оставлено : 6 сентября 2020 г. 12:46:06(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 515 раз в 494 постах
Подпись усовершенствуется до X Long Type 1. Возможно, в сертификате подписи нет адресов OCSP служб или они не доступны.
Offline Алексей 111  
#14 Оставлено : 7 сентября 2020 г. 9:58:46(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Цитата:
коллега дал ваши файлы. на моем стенде усовершенствование прошло успешно.


Какие версии у Вас установлены JDK и JCP?
Вы использовали java-тест, который я привел выше или каким-то другим образом делали усовершенствование?

У меня jdk1.8.0_191, jcp сегодня обновил до последней версии jcp2.0.41618.


Цитата:
Вы после этого проверяли работу... ? Сохраняется проблема с указанным OCSP?


Конечно проверял. Я перед тем как каждое новое сообщение написать на форум, сначала запускаю тест. И он до сих пор дает ошибку "OCSP status of certificate is UNKNOWN"


Цитата:
Подпись усовершенствуется до X Long Type 1. Возможно, в сертификате подписи нет адресов OCSP служб или они не доступны.


Не понял, Вы пробовали усовершенствовать ту ЭП, что я прислал в личку? Если так, то посмотрите в данные сертификата. Там есть OCSP службы. И они доступны с моего стенда (и не только с моего, я с 3-х разных стендов, совершенно в разных сетях, пробовал запускать тест и везде ошибка).
Offline Евгений Афанасьев  
#15 Оставлено : 7 сентября 2020 г. 10:09:06(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 515 раз в 494 постах
Мне подпись не присылали, приложите её, пожалуйста, тут или вышлите в личные.
Offline Алексей 111  
#16 Оставлено : 7 сентября 2020 г. 10:32:35(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
отправил в личку
Offline Санчир Момолдаев  
#17 Оставлено : 8 сентября 2020 г. 10:29:01(UTC)
Санчир Момолдаев

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

Группы: Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 435
Российская Федерация

Сказал(а) «Спасибо»: 51 раз
Поблагодарили: 64 раз в 63 постах
Автор: Алексей 111 Перейти к цитате
Вот мой упрощенный код
Цитата:

@Test
public void test() throws IOException, CAdESException {
try (
InputStream dataIs = new FileInputStream("d:\\ocsp_problem.pdf");
InputStream signIs = new FileInputStream("d:\\ocsp_problem.pdf.sig")) {

CAdESSignature signature = new CAdESSignature(signIs, dataIs, null);

System.setProperty("ru.CryptoPro.reprov.enableCRLDP", "true");
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");

List<X509Certificate> chainList = new ArrayList<>();
List<SignerInformation> srcSignerInfos = new ArrayList<>();

for (CAdESSigner signer : signature.getCAdESSignerInfos()) {
chainList.add(signer.getSignerCertificate());
srcSignerInfos.add(signer.getSignerInfo());
}

for (int cnt = 0; cnt < srcSignerInfos.size(); cnt++) {
CAdESSigner srcSigner = signature.getCAdESSignerInfo(cnt);
SignerInformation srcSignerInfo = srcSigner.getSignerInfo();
CAdESSigner enhancedSigner = srcSigner.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, chainList,
"http://tsp.uc-em.ru:2020/tsp-gost2012/tsp.srf", CAdESType.CAdES_X_Long_Type_1, new AttributeTable(new Hashtable()));
}

} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}


он дает ошибку "OCSP status of certificate is UNKNOWN"


попробуйте указать в методе enhance вместо JCP.GOST_DIGEST_OID оид 2012 госта.
либо получать и задавать его так srcSigner.getSignerInfo().toASN1Structure().getDigestAlgorithm().getAlgorithm().getId()

Отредактировано пользователем 8 сентября 2020 г. 10:31:00(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Алексей 111 оставлено 08.09.2020(UTC)
Offline Алексей 111  
#18 Оставлено : 8 сентября 2020 г. 10:37:04(UTC)
Алексей 111

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

Группы: Участники
Зарегистрирован: 26.09.2012(UTC)
Сообщений: 56
Откуда: Москва

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
заменил JCP.GOST_DIGEST_OID на JCP.GOST_DIGEST_2012_256_OID

Помогло!!! Спасибо!!! :)


Цитата:
либо получать и задавать его так srcSigner.getSignerInfo().toASN1Structure().getDigestAlgorithm().getAlgorithm().getId()


Получается, что самое правильное решение - это метод enhance надо вызывать с тем алгоритмом, который зашит в сертификате?
Offline Санчир Момолдаев  
#19 Оставлено : 8 сентября 2020 г. 10:51:12(UTC)
Санчир Момолдаев

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

Группы: Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 435
Российская Федерация

Сказал(а) «Спасибо»: 51 раз
Поблагодарили: 64 раз в 63 постах
Автор: Алексей 111 Перейти к цитате
заменил JCP.GOST_DIGEST_OID на JCP.GOST_DIGEST_2012_256_OID

Помогло!!! Спасибо!!! :)


Цитата:
либо получать и задавать его так srcSigner.getSignerInfo().toASN1Structure().getDigestAlgorithm().getAlgorithm().getId()


Получается, что самое правильное решение - это метод enhance надо вызывать с тем алгоритмом, который зашит в сертификате?


рад был помочь.
да я обычно делаю так в своем коде, т.к. работаю со всеми гостами
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.