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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline pavelsh  
#1 Оставлено : 14 мая 2025 г. 22:14:59(UTC)
pavelsh

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

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

Здравствуйте. Подскажите пожалуйста.
Пробуем создать используя функции libcapi20 раздельную подпись в которой будет только идентификатор ключа подписанта
заполняем структуры
memset(&signerInfo, 0, sizeof(CMSG_SIGNER_ENCODE_INFO));
signerInfo.cbSize = sizeof(CMSG_SIGNER_ENCODE_INFO);
signerInfo.SignerId.dwIdChoice = CERT_ID_KEY_IDENTIFIER;
signerInfo.SignerId.f_name.KeyId.cbData = keyID.cbData;
signerInfo.SignerId.f_name.KeyId.pbData = keyID.pbData;
signerInfo.pCertInfo = nullptr;
signerInfo.hCryptProv = hCryptProv;
signerInfo.dwKeySpec = dwKeySpec;
signerInfo.HashAlgorithm.pszObjId = (LPSTR)szOID_CP_GOST_R3411_12_256;

memset(&signedInfo, 0, sizeof(CMSG_SIGNED_ENCODE_INFO));
signedInfo.cbSize = sizeof(CMSG_SIGNED_ENCODE_INFO);
signedInfo.cSigners = 1;
signedInfo.rgSigners = &signerInfo;
signedInfo.cCertEncoded = 0;
signedInfo.rgCertEncoded = nullptr;


и получаем аварийное завершение при вызове
hMsg = СryptMsgOpenToEncode(
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
CMSG_DETACHED_FLAG,
CMSG_SIGNED,
&signedInfo,
nullptr,
nullptr);

если указываем вместо
signerInfo.SignerId.dwIdChoice = CERT_ID_KEY_IDENTIFIER;
signerInfo.SignerId.f_name.KeyId.cbData = keyID.cbData;
signerInfo.SignerId.f_name.KeyId.pbData = keyID.pbData;
signerInfo.pCertInfo = nullptr;

только
signerInfo.pCertInfo = pSignerCert->pCertInfo;
то подпись формируется успешно, но с данными структуры pCertInfo

Направте пожалуйста, как сделать раздельную подпись в которой будет только идентификатор ключа подписанта

Отредактировано пользователем 15 мая 2025 г. 10:30:42(UTC)  | Причина: Не указана

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