Статус: Новичок
Группы: Участники
Зарегистрирован: 17.07.2020(UTC) Сообщений: 1
|
Добрый день! Пример из КриптоПро SDK LowlevelSignCadesBes постоянно дает ошибку CadesMsgOpenToEncode() failed. Сертификат с закрытым ключом установлен. Подписанием с помощью утилиты cptools проходит успешно. КриптоПро CSP версия 5.0.13600 КС1. Подскажите, что проверить или где ошибка в коде примера: Код:// Задаем параметры
CMSG_SIGNER_ENCODE_INFO signer = {sizeof(CMSG_SIGNER_ENCODE_INFO)};
signer.pCertInfo = context->pCertInfo; // Сертификат подписчика
signer.hCryptProv = hProv; // Дескриптор криптопровайдера
signer.dwKeySpec = dwKeySpec;
signer.HashAlgorithm.pszObjId = (LPSTR) GetHashOid(context);
CMSG_SIGNED_ENCODE_INFO info = {sizeof(CMSG_SIGNED_ENCODE_INFO)};
info.cSigners = 1; // Количество подписчиков
info.rgSigners = &signer; // Массив подписчиков
CADES_ENCODE_INFO cadesInfo = {sizeof(cadesInfo)};
cadesInfo.pSignedEncodeInfo = &info;
// Открываем дескриптор сообщения для создания усовершенствованной подписи
HCRYPTMSG hMsg = CadesMsgOpenToEncode(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, &cadesInfo, 0, 0);
if (!hMsg) {
if (mustFree)
CryptReleaseContext(hProv, 0);
CertFreeCertificateContext(context);
cout << "CadesMsgOpenToEncode() failed" << endl;
return -1;
}
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close