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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline GunSmoker  
#1 Оставлено : 17 марта 2008 г. 19:06:52(UTC)
GunSmoker

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

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

Пытаюсь использовать функцию CadesSignMessage следующим образом:

Цитата:
procedure TForm1.bt1Click(Sender: TObject);
var
FS: TStream;
Data: String;
SignedData: PCRYPT_DATA_BLOB;
P: Pointer;
S: DWORD;
Msg: _CRYPT_SIGN_MESSAGE_PARA;
MsgEx: _CADES_SIGN_MESSAGE_PARA;
MsgAdd: _CADES_SIGN_PARA;
TSP: _CADES_SERVICE_CONNECTION_PARA;
Auth: _CADES_AUTH_PARA;

begin

Data := 'There is no cow level';

SignedData := nil;
try

FillChar(Msg, SizeOf(Msg), 0);
Msg.cbSize := SizeOf(_CRYPT_SIGN_MESSAGE_PARA);
Msg.dwMsgEncodingType := X509_ASN_ENCODING or PKCS_7_ASN_ENCODING;
Msg.pSigningCert := nil;
Msg.HashAlgorithm.pszObjId := szOID_CP_GOST_R3411;

FillChar(MsgEx, SizeOf(MsgEx), 0);
MsgEx.dwSize := SizeOf(MsgEx);
MsgEx.pSignMessagePara := @Msg;

P := Pointer(Data);
S := Length(Data);

if not CadesSignMessage(@MsgEx, True, 1, @P, @S, @SignedData) then
begin
Caption := IntToHex(GetLastError, 8);
RaiseLastOSError;
end;

FS := TFileStream.Create('C:\1.signature', fmCreate, fmShareExclusive);
try
FS.WriteBuffer(SignedData.pbData^, SignedData.cbData);
finally
FreeAndNil(FS);
end;

finally
CadesFreeBlob(SignedData);
end;
end;


При запуске CadesSignMessage возвращает ошибку ERROR_FILE_NOT_FOUND. Если запускать из-под отладчика, то получается ошибка №80092004 - "Объект или свойство не найдено".

На машине установлены КриптоПро CSP 3.0, КриптоПро TSP, КриптоПро OCSP, КриптоПро ЭЦП.
TSP и OCSP сервера от КриптоПро установлены локально, службы запущены, утилиты tsputil.exe и ocsputil.exe успешно работают с ними. В групповых политиках адреса серверов указаны. Также пробовал задавать адреса серверов явно через _CADES_SERVICE_CONNECTION_PARA - ситуация не изменяется.

Лог событий в отладчике:
Цитата:
ODS: cades.dll: (pSignPara=0x0012F498, fDetachedSignature=-1, cToBeSigned=1, rgpbToBeSigned=0x0012F4EC, rgcbToBeSigned=0x0012F4E8, ppSignedBlob=0x0012F4F0) Process Project1.exe ($F48)
Module Load: Secur32.dll. No Debug Info. Base Address: $77FE0000. Process Project1.exe ($F48)
Module Load: cpsecur.dll. No Debug Info. Base Address: $66490000. Process Project1.exe ($F48)
Module Load: riched32.dll. No Debug Info. Base Address: $732E0000. Process Project1.exe ($F48)
Module Load: RICHED20.dll. No Debug Info. Base Address: $74E30000. Process Project1.exe ($F48)
Module Load: UNKNOWN_MODULE_43. No Debug Info. Base Address: $20000000. Process Project1.exe ($F48)
ODS: cades.dll: Certificate choosed from list Process Project1.exe ($F48)
Module Load: RSAENH.dll. No Debug Info. Base Address: $0FFD0000. Process Project1.exe ($F48)
ODS: cades.dll: Signer updating start Process Project1.exe ($F48)
ODS: cades.dll: Hash algorithm deduced Process Project1.exe ($F48)
ODS: cades.dll: (pAttr=0) Process Project1.exe ($F48)
ODS: cades.dll: Signer does not have signinCert or otherSigningCert attribute Process Project1.exe ($F48)
ODS: cades.dll: Attributes copied Process Project1.exe ($F48)
Module Load: cplib.dll. No Debug Info. Base Address: $69080000. Process Project1.exe ($F48)
Module Load: cpasn1.dll. No Debug Info. Base Address: $6A3D0000. Process Project1.exe ($F48)
Module Load: cpcsp.dll. No Debug Info. Base Address: $60420000. Process Project1.exe ($F48)
Module Load: cpcspi.dll. No Debug Info. Base Address: $60BE0000. Process Project1.exe ($F48)
Module Load: cpsuprt.dll. No Debug Info. Base Address: $664C0000. Process Project1.exe ($F48)
ODS: cpcspi: Thread: file:line function text xcode(dcode) level: 1 Process Project1.exe ($F48)
Module Load: NTMARTA.dll. No Debug Info. Base Address: $77690000. Process Project1.exe ($F48)
Module Load: SAMLIB.dll. No Debug Info. Base Address: $71BF0000. Process Project1.exe ($F48)
Module Load: cprndm.dll. No Debug Info. Base Address: $65950000. Process Project1.exe ($F48)
Module Load: bio.dll. No Debug Info. Base Address: $60AA0000. Process Project1.exe ($F48)
Thread Start: Thread ID: $00000EC0. Process Project1.exe ($F48)
ODS: cades.dll: hInstance=6E000000, dwReason=2 lpReserved=0 Process Project1.exe ($F48)
Module Load: asn1bercpp.dll. No Debug Info. Base Address: $6A310000. Process Project1.exe ($F48)
Module Load: asn1rtcpp.dll. No Debug Info. Base Address: $6A350000. Process Project1.exe ($F48)
Module Load: asn1.dll. No Debug Info. Base Address: $6A000000. Process Project1.exe ($F48)
Module Load: asn1xercpp.dll. No Debug Info. Base Address: $6A390000. Process Project1.exe ($F48)
ODS: cades.dll: otherSigningCert attribute assembled Process Project1.exe ($F48)
ODS: cades.dll: Signer is updated successfully Process Project1.exe ($F48)
ODS: cades.dll: (dwMsgEncodingType=0x00010001, dwFlags=0x00000004, pvMsgEncodeInfo=0x0012EEB0, pszInnerContentObjID=0, pStreamInfo=0x00000000) Process Project1.exe ($F48)
ODS: cades.dll: Start Process Project1.exe ($F48)
ODS: cades.dll: Input parameters checked Process Project1.exe ($F48)
ODS: cades.dll: Copy of input structures is ready Process Project1.exe ($F48)
ODS: cades.dll: Signers updating start Process Project1.exe ($F48)
ODS: cades.dll: Signer #0 Process Project1.exe ($F48)
ODS: cades.dll: Public key info is exported successfully Process Project1.exe ($F48)
ODS: cades.dll: Exception thrown: hr Process Project1.exe ($F48)
ODS: cades.dll: CAtlException, m_hr=0x80092004 Process Project1.exe ($F48)
ODS: cades.dll: (hMsg=0x00000000, GetLastError=0x80092004 Process Project1.exe ($F48)
ODS: cades.dll: Last win32 error thrown as exception Process Project1.exe ($F48)
ODS: cades.dll: CAtlException, m_hr=0x80092004 Process Project1.exe ($F48)
ODS: cades.dll: (res=0, GetLastError=0x80092004 Process Project1.exe ($F48)
First chance exception at $7C812A5B. Exception class EOSError with message 'System Error. Code: -2146885628.
Объект или свойство не найдено'. Process Project1.exe ($F48)


Также установил КриптоАРМ. Пытаюсь создать с его помощью подпись к файлу. Жму правой кнопкой по файлу в проводнике: КриптоАРМ->Подписать. Указываю http://localhost/TSP/tsp.srf.
Подпись создать не может, говорит ошибка. В логах записи:

Цитата:
Статус завершения операции: Неудача.
Длительность выполнения операции: 00:00:02.
Входной файл: H:\1.txt
Выходной файл: <не был создан>
Описание ошибки:
Ошибка сохранения сообщения (0x80004005)

Ошибка сохранения сообщения (0x80004005)

Произошла ошибка при создании подписи

Ошибка создания атрибутов усовершенствованной подписи

Не удается найти указанный файл. (0x00000002)


Что это может быть?
Offline Павел Смирнов  
#2 Оставлено : 17 марта 2008 г. 22:08:33(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
А какой сертификат используется для подписи? Есть подозрение на несоответствие алгоритмов...

Это было про CadesSignMessage. Про КриптоАРМ сказать пока тоже ничего не могу. Какую хоть подпись делаете? Усовершенствованную или нет?
Техническую поддержку оказываем тут.
Наша база знаний.
Offline GunSmoker  
#3 Оставлено : 18 марта 2008 г. 14:49:13(UTC)
GunSmoker

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

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

От смены сертификата ситуация не изменяется. Пробовал сертификат, созданный нашим УЦ (sha1RSA 2048), созданный на тестовом сервере КриптоПро (http://www.cryptopro.ru/certsrv/, ГОСТ Р 34.11/34.10-2001) и самоподписанный.

В КриптоАрм подпись должна создаваться усовершенствованная (это видно и по логу: "Ошибка создания атрибутов усовершенствованной подписи"). Собственно, сам КриптоАрм я ставил только для удобства проверки. Меня интересует программное создание/проверка усовершенствованной ЭЦП.

Можете описать минимальный набор всех действий, необходимых, чтобы на одной машине в тестовом режиме для разработки софта можно было создать усовершенствованную ЭЦП? Может быть тогда я бы увидел, что я не так сделал.
Offline Павел Смирнов  
#4 Оставлено : 18 марта 2008 г. 17:29:08(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Да все у Вас вроде есть, судя по описанию. Про сертификат больше интересует алгоритм ключа, а не алгоритм подписи. Какой у Вас алгоритм ключа?
Техническую поддержку оказываем тут.
Наша база знаний.
Offline GunSmoker  
#5 Оставлено : 18 марта 2008 г. 18:47:56(UTC)
GunSmoker

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

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

Ещё бы я знал, где это посмотреть :)
ГОСТ Р 34.10-2001 (512 bits) - вы не это спрашиваете?
Offline Павел Смирнов  
#6 Оставлено : 18 марта 2008 г. 20:53:46(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Первое предположение не проходит. Алгоритмы у Вас совместимы и всё должно быть в порядке.

Давайте пробовать следующее:
1. Ставим SP3 на CSP 3.0
2. Пишем в реестр настройки трейсинга:
Код:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Trace]
"cades.dll"=""
"ProcessFlags"=dword:00000002

3. Перезагружаем компьютер, чтобы гарантированно перезапустить все библиотеки КриптоАРМ
4. Ещё раз собираем трейс Вашим отладчиком
5. Собираем трейс операции создания усовершенствованной ЭЦП с помощью КриптоАРМ (например, с помощью DbgView)
Техническую поддержку оказываем тут.
Наша база знаний.
Offline GunSmoker  
#7 Оставлено : 19 марта 2008 г. 14:27:50(UTC)
GunSmoker

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

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

Ага, кажется, после установки SP3 ситуация изменилась.
Как и прежде, если использовать сертификат, созданный нашим УЦ (sha1RSA 2048), получается ошибка "Объект или свойство не найдено".
Зато, если выбрать сертификат с ГОСТ-ом, то теперь ошибка изменилась: выдаётся "Отсутствует доверие к подписи зашифрованного сообщения или списку доверия сертификатов.". Это я смотрел и в КриптоАРМ, и в своём приложении.
Так что исходная проблема, наверное, решена. Мне, скорей всего, нужно проверить, что у OCSP CRL-ки правильно подцепились.
Offline GunSmoker  
#8 Оставлено : 20 марта 2008 г. 16:10:01(UTC)
GunSmoker

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

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

Увы, похоже я рано обрадовался.
Итак, я попробовал разобраться в тех настройках, что понаворотил, когда пытался избавиться от ошибки "Объект или свойство не найдено".
Для этого, я решил сконфигурировать всё с нуля. Удалил TSP и OCSP сервера (остался КриптоПро CSP, КриптоПро ЭЦП и КриптоАрм). Удалил все сертификаты, групповую политику КриптоПро изменил на ту, что была при установке (все опции - в не задано).
Далее, начал конфигурировать.
1. Зашёл на http://www.cryptopro.ru/certsrv/, установил сертификат тестового УЦ в доверенные корневые сертификаты.
2. Там же сделал себе сертификат "CN = GOST client, C = RU", ГОСТ Р 34.11/34.10-2001, ГОСТ Р 34.10-2001 (512 bits), типа "Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)", алгоритм отпечатка - sha1. Установил в личные сертификаты.
3. Установил сертификат (http://www.cryptopro.ru/cryptopro/products/tsp/tsa.cer) тестового TSP сервера (https://www.cryptopro.ru:9443/tsp/tsp.srf) в Промежуточные центры сертификации.
4. В Групповых политиках КриптоПро OCSP клиент указал "Службы OCSP: адрес службы OCSP по-умолчанию" равным "https://www.cryptopro.ru:9443/ocsp/ocsp.srf" (без кавычек).
5. В Групповых политиках КриптоПро TSP клиент указал "Службы штампов: адрес службы штампов по-умолчанию" равным "https://www.cryptopro.ru:9443/tsp/tsp.srf" (без кавычек).
6. Проверил командой "tsputil ms c:\test.txt C:\timestamp", что штамп успешно создаётся.
7. Запустил "ocsputil mp "C:\GOST client.cer", на экран он мне показал нечто большое "MIID...8=". Видимо, тоже успешно прошёл запрос.

Дальше пытаюсь создать усовершенствованную ЭЦП. Предварительно добавил в реестр настройки трейсинга, что вы дали.
Пытаюсь подписать из своей программы (код - что и ранее), под отладчиком получаю ошибку №C2110100.
Лог событий под отладчиком:

Цитата:
ODS: cades.dll: {3668} /CadesSignMessage/ cades.cpp(3582) : (pSignPara=0x0012F494, fDetachedSignature=-1, cToBeSigned=1, rgpbToBeSigned=0x0012F4E8, rgcbToBeSigned=0x0012F4E4, ppSignedBlob=0x0012F4EC) Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesSignMessageImpl/ cades.cpp(3401) : Certificate choosed from list Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesSignMessageImpl/ cades.cpp(3430) : Signer updating start Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesSignMessageImpl/ cades.cpp(3433) : Hash algorithm deduced Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::AttributeExists/ cades.cpp(167) : (pAttr=0) Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(338) : Signer does not have signinCert or otherSigningCert attribute Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(341) : Attributes copied Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(344) : otherSigningCert attribute assembled Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(347) : Signer is updated successfully Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncode/ cades.cpp(448) : (dwMsgEncodingType=0x00010001, dwFlags=0x00000004, pvMsgEncodeInfo=0x0012EED8, pszInnerContentObjID=0, pStreamInfo=0x00000000) Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(399) : Start Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(404) : Input parameters checked Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(412) : Copy of input structures is ready Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(418) : Signers updating start Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(422) : Signer #0 Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::CheckAlgorithms/ cades.cpp(366) : Public key info is exported successfully Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::CheckAlgorithms/ cades.cpp(374) : Signature algoritm OID info is found: 1.2.643.2.2.3 Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(429) : Certificates equality checked Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::DeduceHashAlgorithm/ cades.cpp(147) : (szHashAlgorithm=1.2.643.2.2.9) Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(431) : Hash algorithm deduced Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImplNamespace::AttributeExists/ cades.cpp(162) : (pAttr->pszObjId=1.2.840.113549.1.9.16.2.19) Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncodeImpl/ cades.cpp(436) : Calling CryptMsgOpenToEncode() Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgOpenToEncode/ cades.cpp(470) : (hMsg=0x001F2218, GetLastError=0x00000000 Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignature/ cades.cpp(1693) : (hCryptMsg=0x001F2218, dwSignatureIndex=0, pCadesSignPara=0x00000000) Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1592) : Input parameters checked Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImplNamespace::ExtractSignedAttributes/ cades.cpp(491) : Signed attributes extracted via CMSG_SIGNER_AUTH_ATTR_PARAM Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1596) : Signer certificate ID found Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1605) : pSignerCert=0x001F7D20 Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1626) : Signature verified Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1630) : Hash algorithm deduced Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImplNamespace::ExtractSignature/ cades.cpp(675) : Signature extracted via CMSG_ENCRYPTED_DIGEST Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1671) : signatureTimeStampToken recieved and added to signature Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignature/ cades.cpp(1703) : CAtlException, m_hr=0xc2110100 Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesMsgEnhanceSignature/ cades.cpp(1713) : (res=0, GetLastError=0xc2110100 Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesSignMessageImpl/ cades.cpp(3546) : Last win32 error thrown as exception Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesSignMessage/ cades.cpp(3595) : CAtlException, m_hr=0xc2110100 Process Project1.exe ($E20)
ODS: cades.dll: {3668} /CadesSignMessage/ cades.cpp(3605) : (res=0, GetLastError=0xc2110100 Process Project1.exe ($E20)
First chance exception at $7C812A5B. Exception class EOSError with message 'System Error. Code: -1039073024.
'. Process Project1.exe ($E20)


При этом, под отладчиком при выходе из программы возникает исключение Access Violation. В событиях при этом:
Цитата:
ODS: cades.dll: {3784} /DllMain/ cades.cpp(5386) : hInstance=6E000000, dwReason=3 lpReserved=0 Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000EC8. Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000DA4. Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000E6C. Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000E68. Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000EB8. Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000ECC. Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000894. Process Project1.exe ($E20)
Thread Exit: Thread ID: $00000EFC. Process Project1.exe ($E20)
ODS: StopTesterThread start Process Project1.exe ($E20)


Далее, если запускать программу не из под отладчика, то получаю ошибку ERROR_FILE_NOT_FOUND.
Offline GunSmoker  
#9 Оставлено : 20 марта 2008 г. 16:18:09(UTC)
GunSmoker

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

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

Также пробовал создать усовершенствованную ЭЦП в КриптоАрм. Когда выбирал сертификат, напротив моего GOST client он мне показывает жёлтый вопросительный знак. Когда я жму по сертификату и выбираю проверить в OCSP-службе, то значок меняется на зелёную галочку.

Создать подпись КриптоАрм-у также не удаётся.
С включенным DbgView он мне показывает вот это:
Цитата:
Статус завершения операции: Неудача.
Длительность выполнения операции: 00:00:06.
Входной файл: C:\ssapi.log
Выходной файл: <не был создан>
Описание ошибки:
Ошибка сохранения сообщения (0x80004005)

Ошибка сохранения сообщения (0x80004005)

Произошла ошибка при создании подписи

Ошибка создания атрибутов усовершенствованной подписи

(0xc2110100)


Лог DbgView:
Цитата:
00000000 0.00000000 [1796] cades.dll: {3048} /DllMain/ cades.cpp(5386) : hInstance=6E000000, dwReason=2 lpReserved=0
00000001 0.33027130 [1796] cades.dll: {3136} /DllMain/ cades.cpp(5386) : hInstance=6E000000, dwReason=2 lpReserved=0
00000002 6.59576225 [1796] cades.dll: {3136} /CadesMsgOpenToEncode/ cades.cpp(448) : (dwMsgEncodingType=0x00010001, dwFlags=0x00000004, pvMsgEncodeInfo=0x039C0108, pszInnerContentObjID=0, pStreamInfo=0x00000000)
00000003 6.60331249 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(399) : Start
00000004 6.60345030 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(404) : Input parameters checked
00000005 6.60351181 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(412) : Copy of input structures is ready
00000006 6.60393095 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(418) : Signers updating start
00000007 6.60402822 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(422) : Signer #0
00000008 6.60680962 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::CheckAlgorithms/ cades.cpp(366) : Public key info is exported successfully
00000009 6.61090994 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::CheckAlgorithms/ cades.cpp(374) : Signature algoritm OID info is found: 1.2.643.2.2.3
00000010 6.61094618 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(429) : Certificates equality checked
00000011 6.61104012 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::DeduceHashAlgorithm/ cades.cpp(147) : (szHashAlgorithm=1.2.643.2.2.9)
00000012 6.61111498 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(431) : Hash algorithm deduced
00000013 6.61118889 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::AttributeExists/ cades.cpp(167) : (pAttr=0)
00000014 6.61126375 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(338) : Signer does not have signinCert or otherSigningCert attribute
00000015 6.61208296 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(341) : Attributes copied
00000016 6.61217690 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(344) : otherSigningCert attribute assembled
00000017 6.61225653 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(347) : Signer is updated successfully
00000018 6.61227846 [1796] cades.dll: {3136} /CadesMsgOpenToEncodeImpl/ cades.cpp(436) : Calling CryptMsgOpenToEncode()
00000019 6.61244488 [1796] cades.dll: {3136} /CadesMsgOpenToEncode/ cades.cpp(470) : (hMsg=0x06810010, GetLastError=0x00000000
00000020 6.61507607 [1796] cades.dll: {3136} /CadesMsgEnhanceSignature/ cades.cpp(1693) : (hCryptMsg=0x06810010, dwSignatureIndex=0, pCadesSignPara=0x03A1AFE0)
00000021 6.61527252 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1592) : Input parameters checked
00000022 6.61580181 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImplNamespace::ExtractSignedAttributes/ cades.cpp(491) : Signed attributes extracted via CMSG_SIGNER_AUTH_ATTR_PARAM
00000023 6.61592674 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1596) : Signer certificate ID found
00000024 6.62075520 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1605) : pSignerCert=0x068088A8
00000025 6.62112188 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1626) : Signature verified
00000026 6.62125158 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1630) : Hash algorithm deduced
00000027 6.62134552 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImplNamespace::ExtractSignature/ cades.cpp(675) : Signature extracted via CMSG_ENCRYPTED_DIGEST
00000028 6.62261772 [1796] cades.dll: {3136} /TlsData/ cades.cpp(60) : Creating new CRequest for the thread...
00000029 6.62557745 [1796] cades.dll: {3136} /TlsData/ cades.cpp(66) : Creating new CRequest for the thread... OK.
00000030 6.66704273 [1796] cades.dll: {3136} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1671) : signatureTimeStampToken recieved and added to signature
00000031 6.68875647 [1796] cades.dll: {3136} /CadesMsgEnhanceSignature/ cades.cpp(1703) : CAtlException, m_hr=0xc2110100
00000032 6.68881559 [1796] cades.dll: {3136} /CadesMsgEnhanceSignature/ cades.cpp(1713) : (res=0, GetLastError=0xc2110100
00000033 6.69356966 [1796] cades.dll: {3136} /DllMain/ cades.cpp(5366) : Destroying CRequest for the thread...
00000034 6.69371891 [1796] cades.dll: {3136} /DllMain/ cades.cpp(5373) : Destroying CRequest for the thread... OK.
00000035 6.69572687 [1796] cades.dll: {3136} /DllMain/ cades.cpp(5386) : hInstance=6E000000, dwReason=3 lpReserved=0
00000036 6.78365660 [1796] cades.dll: {3048} /DllMain/ cades.cpp(5386) : hInstance=6E000000, dwReason=3 lpReserved=0
00000037 33.93656158 [1796] cades.dll: {3064} /DllMain/ cades.cpp(5386) : hInstance=6E000000, dwReason=2 lpReserved=0
00000038 33.93710327 [1796] cades.dll: {3740} /DllMain/ cades.cpp(5386) : hInstance=6E000000, dwReason=2 lpReserved=0


Если ту же операцию выполнять с выключенным DbgView, то в ответ КриптоАрм мне даёт вот это:
Цитата:
Статус завершения операции: Неудача.
Длительность выполнения операции: 00:00:10.
Входной файл: C:\ssapi.log
Выходной файл: <не был создан>
Описание ошибки:
Ошибка сохранения сообщения (0x80004005)

Ошибка сохранения сообщения (0x80004005)

Произошла ошибка при создании подписи

Ошибка создания атрибутов усовершенствованной подписи

Не удается найти указанный файл. (0x00000002)
Offline Павел Смирнов  
#10 Оставлено : 20 марта 2008 г. 17:21:54(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Про Access Violation хотелось бы поподробнее узнать - увидеть стек в момент исключения или подробный трейс.

Давайте попробуем с 0xc2110100 разобраться. Это ошибка клиента OCSP, можно даже программно получить описание этой ошибки с помощью FormatMessage, указав дескриптор ocspcli.dll. Она означает ошибку HTTP. Чтобы ещё подробнее посмотреть, давайте добавим ещё кое-какие настройки трейсинга:
Код:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\Tracing]
"Enabled"=dword:00000001
"LogFilePrefix"=""
"ToFileOrDebugger"=dword:00000001
"ShowBytes"=dword:00000001
"ShowApiTrace"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Trace]
"ocspcli.dll"=""
"tspcli.dll"=""
"cades.dll"=""
"pkivalidator.dll"=""
"ProcessFlags"=dword:00000002


P.S. С разными кодами ошибок с и без отладчика или DbgView мы уже разобрались. В новых сборках этого нет.

Отредактировано пользователем 20 марта 2008 г. 17:22:49(UTC)  | Причина: Не указана

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