Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Добрый день! коллега дал ваши файлы. на моем стенде усовершенствование прошло успешно. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,507   Сказал «Спасибо»: 554 раз Поблагодарили: 2251 раз в 1756 постах
|
Автор: Алексей 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? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Подпись усовершенствуется до X Long Type 1. Возможно, в сертификате подписи нет адресов OCSP служб или они не доступны. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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-х разных стендов, совершенно в разных сетях, пробовал запускать тест и везде ошибка).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Мне подпись не присылали, приложите её, пожалуйста, тут или вышлите в личные. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.09.2012(UTC) Сообщений: 57 Откуда: Москва
Сказал(а) «Спасибо»: 5 раз Поблагодарили: 1 раз в 1 постах
|
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Автор: Алексей 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)
| Причина: Не указана |
|
 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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 надо вызывать с тем алгоритмом, который зашит в сертификате?
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Автор: Алексей 111  заменил JCP.GOST_DIGEST_OID на JCP.GOST_DIGEST_2012_256_OID Помогло!!! Спасибо!!! :) Цитата:либо получать и задавать его так srcSigner.getSignerInfo().toASN1Structure().getDigestAlgorithm().getAlgorithm().getId() Получается, что самое правильное решение - это метод enhance надо вызывать с тем алгоритмом, который зашит в сертификате? рад был помочь. да я обычно делаю так в своем коде, т.к. работаю со всеми гостами |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close