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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Anibilag  
#11 Оставлено : 8 декабря 2025 г. 15:22:18(UTC)
Anibilag

Статус: Новичок

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

Я читал, что CryptVerifySignature не поддерживается КриптоПро для ГОСТ 34.10 2012
Offline Андрей *  
#12 Оставлено : 8 декабря 2025 г. 15:35:01(UTC)
Андрей *

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

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

Сказал «Спасибо»: 612 раз
Поблагодарили: 2369 раз в 1864 постах
Автор: Anibilag Перейти к цитате
Я читал, что CryptVerifySignature не поддерживается КриптоПро для ГОСТ 34.10 2012



С чего это вдруг?
Техническую поддержку оказываем тут
Наша база знаний
Offline Anibilag  
#13 Оставлено : 16 декабря 2025 г. 18:06:37(UTC)
Anibilag

Статус: Новичок

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

Добрый день,

Возникла следующая проблема: оказалось, что мне нужно реализовать подпись по ГОСТ Р 34.10 2012 в формате cades-bes
Я использую CryptoPro SDK и из него Simplified API для этого. Проблема возникла при верификации открепленной подписи.
Использую функцию CadesVerifyDetachedMessage и при ее выполнении получаю ошибку в GetLastError 0x800B010A
При этом в pVerifyInfo.dwStatus получаю 5
Насколько я понимаю, эта ошибка связана с тем, что при верификации происходит попытка выполнить онлайн проверку состояния отзыва сертификата.
Из моего приложения это сделать нельзя.

Есть ли какие-то пути решения? Пробовал флаг CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY но не помогло, и возможно это вообще не то.
Offline Андрей *  
#14 Оставлено : 16 декабря 2025 г. 19:11:48(UTC)
Андрей *

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

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

Сказал «Спасибо»: 612 раз
Поблагодарили: 2369 раз в 1864 постах
Автор: Anibilag Перейти к цитате



Есть ли какие-то пути решения? Пробовал флаг CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY но не помогло, и возможно это вообще не то.


и при этом были установлены CRL из цепочки?
Техническую поддержку оказываем тут
Наша база знаний
Offline Anibilag  
#15 Оставлено : 17 декабря 2025 г. 17:26:54(UTC)
Anibilag

Статус: Новичок

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

Offline Андрей *  
#16 Оставлено : 17 декабря 2025 г. 17:30:24(UTC)
Андрей *

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

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

Сказал «Спасибо»: 612 раз
Поблагодарили: 2369 раз в 1864 постах
Автор: Anibilag Перейти к цитате


если этот url прописан в пользовательском сертификате и цепочка из 1 УЦ, только корневой, да.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#17 Оставлено : 17 декабря 2025 г. 17:32:01(UTC)
Андрей *

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

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

Сказал «Спасибо»: 612 раз
Поблагодарили: 2369 раз в 1864 постах
+ следить, чтобы был актуальный в хранилище ОС:
crl.png (353kb) загружен 3 раз(а).

Техническую поддержку оказываем тут
Наша база знаний
Offline Anibilag  
#18 Оставлено : 17 декабря 2025 г. 18:15:18(UTC)
Anibilag

Статус: Новичок

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

Импортировать в Промежуточные центры сертификации?
Offline Anibilag  
#19 Оставлено : 17 декабря 2025 г. 19:31:01(UTC)
Anibilag

Статус: Новичок

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

Импортировал список отозванных сертификатов, пока что-то не помогло. Может у меня в коде что-то не то?
Код:

void VerifyDetachedCadesBesSign(
  const std::vector<BYTE>& pbSign,
  const std::vector<BYTE>& pbData
)
{
  CRYPT_VERIFY_MESSAGE_PARA cryptVerifyPara = { sizeof(cryptVerifyPara) };
  cryptVerifyPara.dwMsgAndCertEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;

  CADES_VERIFICATION_PARA cadesVerifyPara = { sizeof(cadesVerifyPara) };
  cadesVerifyPara.dwCadesType = CADES_BES;

  CADES_VERIFY_MESSAGE_PARA verifyPara = { sizeof(verifyPara) };
  verifyPara.pVerifyMessagePara = &cryptVerifyPara;
  verifyPara.pCadesVerifyPara = &cadesVerifyPara;

  PCADES_VERIFICATION_INFO pVerifyInfo = nullptr;

  const BYTE* dataPointers[1] = { pbData.data() };
  DWORD dataSizes[1] = { static_cast<DWORD>(pbData.size()) };

  if (!CadesVerifyDetachedMessage(
    &verifyPara,
    0,
    pbSign.data(),
    static_cast<DWORD>(pbSign.size()),
    1,
    dataPointers,
    dataSizes,
    &pVerifyInfo))
  {
    if (pVerifyInfo)
      CadesFreeVerificationInfo(pVerifyInfo);
    throw Error(GetLastError(), "CadesVerifyDetachedMessage failed");
  }

  if (pVerifyInfo->dwStatus != CADES_VERIFY_SUCCESS)
  {
    CadesFreeVerificationInfo(pVerifyInfo);
    throw Error(0, "CAdES-BES message is not verified successfully.");
  }

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