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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Санчир Момолдаев  
#11 Оставлено : 4 сентября 2020 г. 18:35:39(UTC)
Санчир Момолдаев

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

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

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

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Автор: Алексей 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,910
Российская Федерация
Откуда: Крипто-Про

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

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

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

Сказал(а) «Спасибо»: 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,910
Российская Федерация
Откуда: Крипто-Про

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

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

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

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

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Автор: Алексей 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)
Сообщений: 57
Откуда: Москва

Сказал(а) «Спасибо»: 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)
Сообщений: 1,038
Российская Федерация

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

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


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


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


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