Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.12.2021(UTC) Сообщений: 36 Сказал(а) «Спасибо»: 5 раз
|
Здравствуйте! Ситуация следующая В рамках проекта работы с Цифровым Рублём необходимо реализовать сервис подписания используя язык СИ (такие требования поставили) Ключ всегда находится в контейнере(например, на флешке) Здесь нужно реализовать возможность подписывания и проверки без включения сертификата в подпись (SigParams.cMsgCert = 0;) ПОдписывание не проходит В параметры для проверки подписи была добавлена функция получения сертификата Цитата:CRYPT_VERIFY_MESSAGE_PARA CspVerifier::PrepareStVerifyMessagePara() { CRYPT_VERIFY_MESSAGE_PARA stVerifyMessagePara; stVerifyMessagePara.cbSize = sizeof(CRYPT_VERIFY_MESSAGE_PARA); stVerifyMessagePara.dwMsgAndCertEncodingType = SUPPORTED_ENCODINGS; stVerifyMessagePara.pfnGetSignerCertificate = PfnCryptGetSignerCertificate; stVerifyMessagePara.pvGetArg = nullptr; return stVerifyMessagePara; Реализована она так Цитата: PCCERT_CONTEXT PfnCryptGetSignerCertificate( void *pvGetArg, DWORD dwCertEncodingType, PCERT_INFO pSignerId, HCERTSTORE hMsgCertStore ) { PCCERT_CONTEXT pDesiredCert = NULL; pDesiredCert = CertFindCertificateInStore(hMsgCertStore, SUPPORTED_ENCODINGS, 0, CERT_FIND_SUBJECT_CERT, pSignerId, NULL); return pDesiredCert; ; }
Это сделано на основе справичной информации отсюда - https://learn.microsoft....rtfindcertificateinstore(исходя из описания константы CERT_FIND_SUBJECT_CERT) Подскажите, пожалуйста, как, используя поля SerialNumber и Issuer из pSignerId, а также hMsgCertStore, которые доступны мне (остальные поля пусты) получить сертификат из контейнера? Номер ошибки при этом - 80092004 то есть нет доступа к секретному ключу По логике мне нужно найти контейнер и из него получить серт, но как это сделать для меня пока не понятно... Отредактировано пользователем 8 ноября 2024 г. 8:39:11(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close