Статус: Новичок
Группы: Участники
Зарегистрирован: 27.02.2008(UTC) Сообщений: 7
|
Есть следующий код (взято из примеров): Код:CRYPT_SIGN_MESSAGE_PARA signPara = { sizeof(signPara) };
signPara.dwMsgEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;
signPara.pSigningCert = 0; // 0 for window
signPara.HashAlgorithm.pszObjId = szOID_CP_GOST_R3411;
CADES_SIGN_MESSAGE_PARA para = { sizeof(para) };
para.pSignMessagePara = &signPara;
para.pCadesSignPara = NULL;
vector < BYTE > data(10,25);
const BYTE *pbToBeSigned[] = { &data[0] };
DWORD cbToBeSigned[] = { (DWORD)data.size() };
PCRYPT_DATA_BLOB pSignedMessage = 0;
if(!CadesSignMessage(¶,FALSE,1,pbToBeSigned,cbToBeSigned,
&pSignedMessage))
{
cout << "CadesSignMessage() failed" << std::endl;
cout << hex << GetLastError();
system("pause");
return 0;
}
std::vector < BYTE > message(pSignedMessage->cbData);
std::copy(pSignedMessage->pbData,
pSignedMessage->pbData + pSignedMessage->cbData,message.begin());
if(!CadesFreeBlob(pSignedMessage))
{
std::cout << "CadesSignMessage() failed" << std::endl;
system("pause");
return 0;
}
CadesSignMessage не отрабатывает, выдает ошибку C2100121. Насколько понимаю, нужно указать адрес службы штампов времени. То есть, необходимо установить CryptoPro TSP. В этой связи возникли вопросы: 1. Верны ли вообще мои предположения? 2.Обязательно ли для работы CadesSignMessage наличие клиента CryptoPro TSP? Отредактировано пользователем 20 марта 2008 г. 15:17:43(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
1. Да, Вы правильно понимаете, что нужно указать адрес службы штампов времени. 2. КриптоПро TSP Client входит в состав КриптоПро ЭЦП SDK и специально устанавливать его не надо, а вот служба штампов времени Вам понадобится, также как и служба OCSP. |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.02.2008(UTC) Сообщений: 7
|
Спасибо. Тогда еще один вопрос: а на машины без SDK, на которых в конечном счете должно работать ПО, использующее cades, придется ставить TSP Client и соответствующую лицензию?
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.09.2018(UTC) Сообщений: 16  Откуда: Киров Сказал(а) «Спасибо»: 2 раз
|
Добрый день Недавно начал заниматься ЭЦП и точно такая же проблема. КриптоПро ЭЦП SDK установлен Адрес службы штампов времени указывается в структуре CADES_SERVICE_CONNECTION_PARA - http://www.cryptopro.ru/tsp/tsp.srf SERVICE_URL:='http://www.cryptopro.ru/tsp/tsp.srf'; FillMemory(@tspConnectionPara, SizeOf(CADES_SERVICE_CONNECTION_PARA), 0); tspConnectionPara.wszUri:= @SERVICE_URL; Формат CADES-T Вызов CadesSignMessage приводит к ошибке C2100121. Может что-то еще надо доставить на машину?
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close