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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline delem  
#21 Оставлено : 12 октября 2020 г. 19:59:38(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Пока справился так:
Код:

        SigParams.rgpMsgCert := Pointer(CertArray);
        cbSignedMessageBlob := 0;
        if (not Win32Check(CryptSignMessage(@SigParams,
                              true,
                              1,
                              Pointer(MessageArray),
                              Pointer(MessageSize),
                              nil,
                              cbSignedMessageBlob))) then


Ошибок пока не наблюдаю, подпись формируется, но в логах в конце иногда проскакивает: <capi10>0x258c:_CryptAcquireContextA!failed: LastError = 0x80090019 (:1761), но исключения не возникает.
Буду наблюдать дальше.
Все равно правка этой функции не объясняет, почему выдает ошибку функция вторая, которая работает через плагин. В коде они не пересекаются, можно работать либо 1, либо 2. Ошибка тоже плавающая и что-то мне подсказывает, что они связаны.
Offline Максим Коллегин  
#22 Оставлено : 12 октября 2020 г. 20:02:27(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Теперь вообще нет зацепок(
А csptest -sfsign работает?
Знания в базе знаний, поддержка в техподдержке
Offline Андрей *  
#23 Оставлено : 12 октября 2020 г. 20:08:29(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,709
Мужчина
Российская Федерация

Сказал «Спасибо»: 353 раз
Поблагодарили: 1395 раз в 1076 постах
Автор: delem Перейти к цитате
Пока справился так:
Код:

        SigParams.rgpMsgCert := Pointer(CertArray);
        cbSignedMessageBlob := 0;
        if (not Win32Check(CryptSignMessage(@SigParams,
                              true,
                              1,
                              Pointer(MessageArray),
                              Pointer(MessageSize),
                              nil,
                              cbSignedMessageBlob))) then


Ошибок пока не наблюдаю, подпись формируется, но в логах в конце иногда проскакивает: <capi10>0x258c:_CryptAcquireContextA!failed: LastError = 0x80090019 (:1761), но исключения не возникает.
Буду наблюдать дальше.
Все равно правка этой функции не объясняет, почему выдает ошибку функция вторая, которая работает через плагин. В коде они не пересекаются, можно работать либо 1, либо 2. Ошибка тоже плавающая и что-то мне подсказывает, что они связаны.




а Win32Check чём обусловлен? Глобально исключения удобно ловить?

...
Цитата:
if not CryptSignMessage() then
begin
Цитата:
получить:
getlasterror() - код
syserrormessage(getlasterror()) текст ошибки

exit;
end;


Так не вариант?
Техническую поддержку оказываем тут
Наша база знаний
Offline delem  
#24 Оставлено : 12 октября 2020 г. 20:16:45(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Цитата:
А csptest -sfsign работает?


Вполне себе. Размер тот же. Через плагин размер больше, но проверку в Криптопро АРМ тоже проходит. Картинки не грузятся, хотел скрин показать.

Цитата:
а Win32Check чём обусловлен? Глобально исключения удобно ловить?


Думал, что получу побольше информации. Убрал.
Offline delem  
#25 Оставлено : 12 октября 2020 г. 20:26:53(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
А вот и оно:

Код:

00000280	0.09713279	[3392] <capi20>0x25d4:_I_CryptGetDefaultCryptProv (0x0) (:601)	
00000281	0.09723359	[3392] <capi10>0x25d4:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x0) (:1730)	
00000282	0.09811146	[3392] CPInitHCSP_r!CPCCreateProvider returned 0x80090013	
00000283	0.09819929	[3392] <capi10>0x25d4:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1761)	
00000284	0.09827752	[3392] <capi10>0x25d4:_CryptCreateHash (hProv = 0x09911B70, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:906)	
00000285	0.09835432	[3392] <capi10>0x25d4:_CryptCreateHash!failed: LastError = 0x80090008 (:916)	
00000286	47.15327835	[12764] <capi10>Thread:function text xcode(dcode) (file:line)level: 3f	
00000287	129.47454834	[12764] <capi20>Thread:function text xcode(dcode) (file:line)level: 3f


Это через плагин

Код:

00000308	0.09545385	[3392] <capi20>0x25d4:PrepareHashCompatibleSignMessage Hash OID: 1.2.643.7.1.1.2.2 (:74)	
00000309	0.09559976	[3392] <capi20>0x25d4:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000310	0.09576199	[3392] <capi20>0x25d4:_I_CryptGetDefaultCryptProv (0x0) (:601)	
00000311	0.09593190	[3392] <capi10>0x25d4:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x0) (:1730)	
00000312	0.09687361	[3392] CPInitHCSP_r!CPCCreateProvider returned 0x80090013	
00000313	0.09703152	[3392] <capi10>0x25d4:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1761)	
00000314	0.09717503	[3392] <capi10>0x25d4:_CryptCreateHash (hProv = 0x09911B70, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:906)	
00000315	0.09731902	[3392] <capi10>0x25d4:_CryptCreateHash!failed: LastError = 0x80090008 (:916)	
00000316	0.09748701	[3392] <capi20>0x25d4:_CryptAcquireCertificatePrivateKey pCert: 0x09A08E40, dwFlags: 0x10002, pvParameters: 0x00000000 (:724)	
00000317	0.09774332	[3392] <capi20>0x25d4:_CryptAcquireCertificatePrivateKey [БУЗ ВО "ВГП № 18"] (:728)	
00000318	0.09791755	[3392] <capi10>0x25d4:_CryptAcquireContextA (Provider = Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Container = REGISTRY\\Chikina, ProvType = 80, Flags = 0x00000000, LastError=0x0) (:1730)	
00000319	0.09878054	[3392] CPInitHCSP_r!CPCCreateProvider returned 0x80090013	
00000320	0.09893700	[3392] <capi10>0x25d4:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1761)	
00000321	0.09950098	[3392] <capi10>0x25d4:_CryptAcquireContextA (Provider = Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Container = REGISTRY\\Chikina, ProvType = 80, Flags = 0x00000000, LastError=0x0) (:1730)	
00000322	0.10036780	[3392] CPInitHCSP_r!CPCCreateProvider returned 0x80090013	
00000323	0.10052523	[3392] <capi10>0x25d4:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1761)	
00000324	0.10076522	[3392] <capi20>0x25d4:_CryptAcquireCertificatePrivateKey!failed: LastError = 0x80090020 (:748)	
00000325	0.10102680	[3392] <capi20>0x25d4:_CryptSignMessage!failed: LastError = 0x80090020 (:1873)	


Это через winapi

После закрытия и открытия программы - все нормально

Отредактировано пользователем 12 октября 2020 г. 20:28:53(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#26 Оставлено : 12 октября 2020 г. 20:29:39(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
А если перезагрузиться?
Знания в базе знаний, поддержка в техподдержке
Offline delem  
#27 Оставлено : 12 октября 2020 г. 20:31:36(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Все тоже самое, может выкинет ошибку, а может и нет. Бывает, что подпишет 20 файлов, а потом вылетает в это же исключение.
Offline Максим Коллегин  
#28 Оставлено : 12 октября 2020 г. 20:34:24(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Я исправлял подобную проблему недавно. Сейчас постараюсь выложить посвежее версию CSP.
Попробуйте на этой версии: https://file.cryptopro.r...7/CSPSetup-5.0.11953.exe

Отредактировано пользователем 12 октября 2020 г. 20:47:23(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline delem  
#29 Оставлено : 12 октября 2020 г. 21:12:02(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Теперь исключение: ERangeError: Range check error

В логе:

Код:

00000232	0.15126231	[3424] <capi20>0xfa8:_CryptSignMessage (0x0018F250,0xffffffff,1,0x023727E0,0x03C34DBC,0x00000000,0x0018F2A0) (:1690)	
00000233	0.15144375	[3424] <capi20>0xfa8:PrepareHashCompatibleSignMessage Hash OID: 1.2.643.7.1.1.2.2 (:74)	
00000234	0.15158151	[3424] <capi20>0xfa8:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000235	0.15172502	[3424] <capi20>0xfa8:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00000236	0.15189300	[3424] <capi10>0xfa8:_CryptGetProvParam (hProv = 0x003A0988, dwParam = 16, dwFlags = 0x0, LastError=0x0) (:1533)	
00000237	0.15204084	[3424] <capi10>0xfa8:_CryptGetProvParam!failed: LastError = 0x8009001D (:1652)	
00000238	0.15218867	[3424] <capi10>0xfa8:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x8009001D) (:1723)	
00000239	0.17543836	[3424] <cspi>0xfa8:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00000240	0.17573690	[3424] <capi10>0xfa8:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00000241	0.17615016	[3424] <capi10>0xfa8:_CryptAcquireContextA (Provider = Microsoft Enhanced RSA and AES Cryptographic Provider, Container = (null), ProvType = 24, Flags = 0xF0000000, LastError=0x8009001D) (:1723)	
00000242	0.17992279	[3424] <capi10>0xfa8:_CryptAcquireContextA returned: hProv = 0x003A0B20; LastError = 0x0, Count = 2 (:1741)	
00000243	0.18076852	[3424] <capi10>0xfa8:_CryptCreateHash (hProv = 0x003A0B20, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000244	0.18145201	[3424] <capi10>0xfa8:_CryptCreateHash!failed: LastError = 0x80090008 (:907)	
00000245	0.18211725	[3424] <capi20>0xfa8:_CryptFindOIDInfo returned 1.2.643.7.1.1.2.2, AlgID: 0x8021 (:1575)	
00000246	0.18275946	[3424] <capi20>0xfa8:_CryptAcquireCertificatePrivateKey pCert: 0x00362A28, dwFlags: 0x10002, pvParameters: 0x00000000 (:743)	
00000247	0.18342808	[3424] <capi20>0xfa8:_CryptAcquireCertificatePrivateKey [БУЗ ВО "ВГП № 18"] (:747)	
00000248	0.18416868	[3424] <capi10>0xfa8:_CryptAcquireContextA (Provider = Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Container = REGISTRY\\C?ceia, ProvType = 80, Flags = 0x00000000, LastError=0x0) (:1723)	
00000249	0.18499376	[3424] <cspi>0xfa8:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00000250	0.18577757	[3424] <capi10>0xfa8:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00000251	0.24087381	[3424] <capi10>0xfa8:_CryptAcquireContextA (Provider = Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Container = REGISTRY\\C?ceia, ProvType = 80, Flags = 0x00000000, LastError=0x0) (:1723)	
00000252	0.24184048	[3424] <cspi>0xfa8:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00000253	0.24212800	[3424] <capi10>0xfa8:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00000254	0.24236943	[3424] <capi20>0xfa8:_CryptAcquireCertificatePrivateKey!failed: LastError = 0x80090020 (:774)	
00000255	0.24273469	[3424] <capi20>0xfa8:_CryptSignMessage!failed: LastError = 0x80090020 (:1785)	
Offline Максим Коллегин  
#30 Оставлено : 12 октября 2020 г. 21:18:26(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Видимо проблема всё-таки в другом.
Соберите лог с начала процесса. Ошибки CreateProvider -- это уже после исключения, вызыванного обращением по неверному указателю.
Знания в базе знаний, поддержка в техподдержке
Offline delem  
#31 Оставлено : 12 октября 2020 г. 21:27:04(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Вот сначала, через плагин:

Код:

00000001	0.00000000	[3920] <capi20>0xc3c:_CertGetCertificateContextProperty (3) (:897)	
...
00000096	0.03815828	[3920] <capi20>0xc3c:_CertGetCertificateContextProperty (2) (:897)	
00000097	0.03970958	[3920] <capi10>0xc3c:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 1, Flags = 0xF0000000, LastError=0x2) (:1723)	
00000098	0.05094107	[3920] <capi10>0xc3c:_SystemFunction035 return = 1 for pswzImage = C:\Windows\system32\rsaenh.dll (:578)	
00000099	0.05206278	[3920] <capi10>0xc3c:_CryptAcquireContextA returned: hProv = 0x00A106D0; LastError = 0x0, Count = 1 (:1741)	
00000100	0.05221877	[3920] <capi10>0xc3c:_CryptCreateHash (hProv = 0x00A106D0, Algid = 0x8004, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000101	0.05237141	[3920] <capi10>0xc3c:_CryptCreateHash returned: hHash = 0x009AB1A8, Count = 1 (:904)	
00000102	0.05249956	[3920] <capi10>0xc3c:_CryptHashData (hHash = 0x009AB1A8, dwDataLen = 0x20322, dwFlags = 0x0) (:1756)	
00000103	0.05354351	[3920] <capi10>0xc3c:_CryptHashData returned (:1774)	
00000104	0.05367359	[3920] <capi10>0xc3c:_CryptGetHashParam (hHash = 0x009AB1A8, dwParam = 2, dwFlags = 0x0) (:833)	
00000105	0.05381518	[3920] <capi10>0xc3c:_CryptGetHashParam returned: dwDataLen = 0x14 (:846)	
00000106	0.05397501	[3920] <capi10>0xc3c:_CryptGetHashParam (hHash = 0x009AB1A8, dwParam = 2, dwFlags = 0x0) (:833)	
00000107	0.05414733	[3920] <capi10>0xc3c:_CryptGetHashParam returned: dwDataLen = 0x14 (:846)	
00000108	0.05423900	[3920] <capi10>0xc3c:_CryptDestroyHash (hHash = 0x009AB1A8) (:941)	
00000109	0.05438060	[3920] <capi10>0xc3c:_CryptDestroyHash returned: Count = 0 (:950)	
00000110	0.05450155	[3920] <capi10>0xc3c:_CryptReleaseContext (hProv = 00A106D0, dwFlags = 0x0) (:1303)	
00000111	0.05460043	[3920] <capi10>0xc3c:_CryptReleaseContext returned: Count = 0 (:1315)	
00000112	0.05474922	[3920] <capi20>0xc3c:_CryptSignMessage (0x0018F048,0x0,1,0x0018F094,0x0018F08C,0x00000000,0x0018F090) (:1690)	
00000113	0.05482985	[3920] <capi20>0xc3c:PrepareHashCompatibleSignMessage Hash OID: 1.2.840.113549.1.1.5 (:74)	
00000114	0.05490041	[3920] <capi20>0xc3c:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000115	0.05550902	[3920] <capi20>0xc3c:_CryptFindOIDInfo returned 1.2.643.7.1.1.2.2, AlgID: 0x8021 (:1575)	
00000116	0.05558246	[3920] <capi20>0xc3c:PrepareHashCompatibleSignMessage Change Hash OID: 1.2.643.7.1.1.2.2  (:95)	
00000117	0.05567846	[3920] <capi20>0xc3c:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00000118	0.05579221	[3920] <capi10>0xc3c:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x0) (:1723)	
00000119	0.05670369	[3920] <capi10>0xc3c:_SystemFunction035 return = 1 for pswzImage = C:\Program Files (x86)\Crypto Pro\CSP\cpcsp.dll (:578)	
00000120	0.08086676	[3920] <capi10>0xc3c:_CryptAcquireContextA returned: hProv = 0x00A106D0; LastError = 0x0, Count = 1 (:1741)	
00000121	0.08224910	[3920] <capi10>0xc3c:_CryptCreateHash (hProv = 0x00A106D0, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000122	0.08243582	[3920] <capi10>0xc3c:_CryptCreateHash returned: hHash = 0x009AB1A8, Count = 1 (:904)	
00000123	0.08258557	[3920] <capi10>0xc3c:_CryptHashData (hHash = 0x009AB1A8, dwDataLen = 0x9AE, dwFlags = 0x0) (:1756)	
00000124	0.08278380	[3920] @cpcsp@Exception in operation	
00000125	0.08520913	[3920] <capi10>0xc3c:_CryptHashData!failed: LastError = 0x80090020 (:1777)	
00000126	0.08536224	[3920] <capi10>0xc3c:_CryptDestroyHash (hHash = 0x009AB1A8) (:941)	
00000127	0.08550384	[3920] <capi10>0xc3c:_CryptDestroyHash!failed: LastError = 0x8009001D (:953)	
00000128	0.11726113	[3920] <capi20>0xc3c:_CryptSignMessage!failed: LastError = 0x80090020 (:1785)	
00000129	0.31374127	[3920] <capi20>0xc3c:_CertGetCertificateContextProperty (3) (:897)	
...
00002065	0.72866052	[3920] <capi20>0xc3c:_CertGetCertificateContextProperty (3) (:897)	
00002066	0.73012590	[3920] <capi20>0xc3c:_CryptMsgOpenToDecode (dwMsgType = 0x0) (:992)	
00002067	0.73027998	[3920] <capi20>0xc3c:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00002068	0.73044223	[3920] <capi10>0xc3c:_CryptGetProvParam (hProv = 0x00A106D0, dwParam = 16, dwFlags = 0x0, LastError=0x0) (:1533)	
00002069	0.73058522	[3920] <capi10>0xc3c:_CryptGetProvParam!failed: LastError = 0x8009001D (:1652)	
00002070	0.73072779	[3920] <capi10>0xc3c:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x8009001D) (:1723)	
00002071	0.73249459	[3920] <cspi>0xc3c:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00002072	0.73264337	[3920] <capi10>0xc3c:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00002073	0.73279983	[3920] <capi10>0xc3c:_CryptAcquireContextA (Provider = Microsoft Enhanced RSA and AES Cryptographic Provider, Container = (null), ProvType = 24, Flags = 0xF0000000, LastError=0x8009001D) (:1723)	
00002074	0.73310798	[3920] <capi10>0xc3c:_CryptAcquireContextA returned: hProv = 0x09136F50; LastError = 0x0, Count = 2 (:1741)	
00002075	0.73325056	[3920] <capi20>0xc3c:_CryptMsgOpenToDecode returned (:1015)	
00002076	0.73338687	[3920] <capi20>0xc3c:_CryptMsgUpdate (hCryptMgs = 0x09200F08) (:1158)	
00002077	0.73356736	[3920] <capi20>0xc3c:_CryptFindOIDInfo returned 2.16.840.1.101.3.4.2.1, AlgID: 0xffffffff (:1575)	
00002078	0.73513258	[3920] <capi20>0xc3c:_CryptMsgUpdate returned (:1176)	
00002079	0.73533845	[3920] <capi20>0xc3c:_CertGetCertificateContextProperty (15) (:897)	
00006109	1.28176892	[3920] <capi20>0xc3c:_CertGetCertificateContextProperty (15) (:897)	
00006110	1.28187597	[3920] <capi20>0xc3c:_CryptFindOIDInfo returned 1.2.643.7.1.1.3.2, AlgID: 0x8021 (:1575)	
00006111	1.28193116	[3920] <capi20>0xc3c:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00006112	1.28200889	[3920] <capi10>0xc3c:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x0) (:1723)	
00006113	1.28274333	[3920] <cspi>0xc3c:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00006114	1.28281188	[3920] <capi10>0xc3c:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00006115	1.28287292	[3920] <capi10>0xc3c:_CryptCreateHash (hProv = 0x09136F50, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00006116	1.28294730	[3920] <capi10>0xc3c:_CryptCreateHash!failed: LastError = 0x80090008 (:907)	

Убрал только кучу строк с _CertGetCertificateContextProperty
Через winapi просто он не создал sig-файл, а исключение произошло уже дальше
Offline delem  
#32 Оставлено : 12 октября 2020 г. 21:33:07(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Сделал через winapi:

Код:

00000001	0.00000000	[2232] <capi20>0xf8c:_CertGetCertificateContextProperty (3) (:897)	
...
00000096	0.03509746	[2232] <capi20>0xf8c:_CertGetCertificateContextProperty (2) (:897)	
00000097	0.03612990	[2232] <capi10>0xf8c:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 1, Flags = 0xF0000000, LastError=0x2) (:1723)	
00000098	0.04646575	[2232] <capi10>0xf8c:_SystemFunction035 return = 1 for pswzImage = C:\Windows\system32\rsaenh.dll (:578)	
00000099	0.04772425	[2232] <capi10>0xf8c:_CryptAcquireContextA returned: hProv = 0x00A1F3D0; LastError = 0x0, Count = 1 (:1741)	
00000100	0.04794072	[2232] <capi10>0xf8c:_CryptCreateHash (hProv = 0x00A1F3D0, Algid = 0x8004, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000101	0.04823159	[2232] <capi10>0xf8c:_CryptCreateHash returned: hHash = 0x009BB1A8, Count = 1 (:904)	
00000102	0.04831127	[2232] <capi10>0xf8c:_CryptHashData (hHash = 0x009BB1A8, dwDataLen = 0x1F8E1, dwFlags = 0x0) (:1756)	
00000103	0.04933794	[2232] <capi10>0xf8c:_CryptHashData returned (:1774)	
00000104	0.04956065	[2232] <capi10>0xf8c:_CryptGetHashParam (hHash = 0x009BB1A8, dwParam = 2, dwFlags = 0x0) (:833)	
00000105	0.04971952	[2232] <capi10>0xf8c:_CryptGetHashParam returned: dwDataLen = 0x14 (:846)	
00000106	0.04987360	[2232] <capi10>0xf8c:_CryptGetHashParam (hHash = 0x009BB1A8, dwParam = 2, dwFlags = 0x0) (:833)	
00000107	0.05002431	[2232] <capi10>0xf8c:_CryptGetHashParam returned: dwDataLen = 0x14 (:846)	
00000108	0.05024366	[2232] <capi10>0xf8c:_CryptDestroyHash (hHash = 0x009BB1A8) (:941)	
00000109	0.05037757	[2232] <capi10>0xf8c:_CryptDestroyHash returned: Count = 0 (:950)	
00000110	0.05053021	[2232] <capi10>0xf8c:_CryptReleaseContext (hProv = 00A1F3D0, dwFlags = 0x0) (:1303)	
00000111	0.05063628	[2232] <capi10>0xf8c:_CryptReleaseContext returned: Count = 0 (:1315)	
00000112	0.05079756	[2232] <capi20>0xf8c:_CryptSignMessage (0x0018F048,0x0,1,0x0018F094,0x0018F08C,0x00000000,0x0018F090) (:1690)	
00000113	0.05095067	[2232] <capi20>0xf8c:PrepareHashCompatibleSignMessage Hash OID: 1.2.840.113549.1.1.5 (:74)	
00000114	0.05105579	[2232] <capi20>0xf8c:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000115	0.05172344	[2232] <capi20>0xf8c:_CryptFindOIDInfo returned 1.2.643.7.1.1.2.2, AlgID: 0x8021 (:1575)	
00000116	0.05179543	[2232] <capi20>0xf8c:PrepareHashCompatibleSignMessage Change Hash OID: 1.2.643.7.1.1.2.2  (:95)	
00000117	0.05189143	[2232] <capi20>0xf8c:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00000118	0.05200662	[2232] <capi10>0xf8c:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x0) (:1723)	
00000119	0.05295410	[2232] <capi10>0xf8c:_SystemFunction035 return = 1 for pswzImage = C:\Program Files (x86)\Crypto Pro\CSP\cpcsp.dll (:578)	
00000120	0.07700438	[2232] <capi10>0xf8c:_CryptAcquireContextA returned: hProv = 0x00A1F3D0; LastError = 0x0, Count = 1 (:1741)	
00000121	0.07855759	[2232] <capi10>0xf8c:_CryptCreateHash (hProv = 0x00A1F3D0, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000122	0.07873374	[2232] <capi10>0xf8c:_CryptCreateHash returned: hHash = 0x009BB1A8, Count = 1 (:904)	
00000123	0.07891421	[2232] <capi10>0xf8c:_CryptHashData (hHash = 0x009BB1A8, dwDataLen = 0x9AE, dwFlags = 0x0) (:1756)	
00000124	0.07911196	[2232] @cpcsp@Exception in operation	
00000125	0.08158385	[2232] <capi10>0xf8c:_CryptHashData!failed: LastError = 0x80090020 (:1777)	
00000126	0.08170816	[2232] <capi10>0xf8c:_CryptDestroyHash (hHash = 0x009BB1A8) (:941)	
00000127	0.08180896	[2232] <capi10>0xf8c:_CryptDestroyHash!failed: LastError = 0x8009001D (:953)	
00000128	0.11735136	[2232] <capi20>0xf8c:_CryptSignMessage!failed: LastError = 0x80090020 (:1785)	
00000129	0.13675450	[2232] <capi20>0xf8c:_CertGetCertificateContextProperty (3) (:897)	
...
00000240	0.17801872	[2232] <capi20>0xf8c:_CertGetCertificateContextProperty (2) (:897)	
00000241	0.17846030	[2232] <capi20>0xf8c:_CryptSignMessage (0x0018F250,0xffffffff,1,0x0236F9A0,0x03C0052C,0x00000000,0x0018F2A0) (:1690)	
00000242	0.17865036	[2232] <capi20>0xf8c:PrepareHashCompatibleSignMessage Hash OID: 1.2.643.7.1.1.2.2 (:74)	
00000243	0.17879725	[2232] <capi20>0xf8c:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000244	0.17895131	[2232] <capi20>0xf8c:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00000245	0.17912987	[2232] <capi10>0xf8c:_CryptGetProvParam (hProv = 0x00A1F3D0, dwParam = 16, dwFlags = 0x0, LastError=0x0) (:1533)	
00000246	0.17928250	[2232] <capi10>0xf8c:_CryptGetProvParam!failed: LastError = 0x8009001D (:1652)	
00000247	0.17943658	[2232] <capi10>0xf8c:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x8009001D) (:1723)	
00000248	0.18072292	[2232] <cspi>0xf8c:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00000249	0.18091778	[2232] <capi10>0xf8c:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00000250	0.18108433	[2232] <capi10>0xf8c:_CryptAcquireContextA (Provider = Microsoft Enhanced RSA and AES Cryptographic Provider, Container = (null), ProvType = 24, Flags = 0xF0000000, LastError=0x8009001D) (:1723)	
00000251	0.18145920	[2232] <capi10>0xf8c:_CryptAcquireContextA returned: hProv = 0x00A1F5F0; LastError = 0x0, Count = 2 (:1741)	
00000252	0.18162000	[2232] <capi10>0xf8c:_CryptCreateHash (hProv = 0x00A1F5F0, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000253	0.18179087	[2232] <capi10>0xf8c:_CryptCreateHash!failed: LastError = 0x80090008 (:907)	
00000254	0.18201070	[2232] <capi20>0xf8c:_CryptFindOIDInfo returned 1.2.643.7.1.1.2.2, AlgID: 0x8021 (:1575)	
00000255	0.18220125	[2232] <capi20>0xf8c:_CryptAcquireCertificatePrivateKey pCert: 0x009F0828, dwFlags: 0x10002, pvParameters: 0x00000000 (:743)	
00000256	0.18243451	[2232] <capi20>0xf8c:_CryptAcquireCertificatePrivateKey [БУЗ ВО "ВГП № 18"] (:747)	
00000257	0.18261068	[2232] <capi10>0xf8c:_CryptAcquireContextA (Provider = Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Container = REGISTRY\\Eoaianeay, ProvType = 80, Flags = 0x00000000, LastError=0x0) (:1723)	
00000258	0.18338296	[2232] <cspi>0xf8c:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00000259	0.18357447	[2232] <capi10>0xf8c:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00000260	0.18704136	[2232] <capi10>0xf8c:_CryptAcquireContextA (Provider = Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Container = REGISTRY\\Eoaianeay, ProvType = 80, Flags = 0x00000000, LastError=0x0) (:1723)	
00000261	0.18789524	[2232] <cspi>0xf8c:CPInitHCSP_r!CPCCreateProvider returned 0x80090013 (:461)	
00000262	0.18809155	[2232] <capi10>0xf8c:_CryptAcquireContextA!failed: LastError = 0x8009001D (:1743)	
00000263	0.18834113	[2232] <capi20>0xf8c:_CryptAcquireCertificatePrivateKey!failed: LastError = 0x80090020 (:774)	
00000264	0.18852976	[2232] <capi20>0xf8c:_CryptSignMessage!failed: LastError = 0x80090020 (:1785)	
Offline Максим Коллегин  
#33 Оставлено : 12 октября 2020 г. 21:37:40(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
В обоих случаях вижу

00000123 0.07891421 [2232] <capi10>0xf8c:_CryptHashData (hHash = 0x009BB1A8, dwDataLen = 0x9AE, dwFlags = 0x0) (:1756)
00000124 0.07911196 [2232] @cpcsp@Exception in operation
00000125 0.08158385 [2232] <capi10>0xf8c:_CryptHashData!failed: LastError = 0x80090020 (:1777)

Что это за данные длиной 0x9AE?
Знания в базе знаний, поддержка в техподдержке
Offline delem  
#34 Оставлено : 12 октября 2020 г. 21:55:06(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Не совсем понятен вопрос. Вот нормальный вызов, размер такой же присутствует: SERV.LOG (33kb) загружен 7 раз(а).
Offline Максим Коллегин  
#35 Оставлено : 12 октября 2020 г. 22:12:16(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Сможете запустить приложение под windbg?
Знания в базе знаний, поддержка в техподдержке
Offline delem  
#36 Оставлено : 15 октября 2020 г. 1:52:42(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Цитата:
Сможете запустить приложение под windbg?

Проблематично, под OllyDbg могу, но не пользовался никогда, что она может вам дать, не понятно.
Я вхожу в функцию CryptSignMessage и из нее вываливаюсь, а может и не вываливаюсь. Входные данные не меняются при этом. Это проверено.

Изучив логи, хорошие и плохие, увидел, что в плохом сценарии всегда все начинается так:

Код:

00000319	0.18759812	[3128] <capi20>0x205c:_CryptSignMessage (0x0018F1DC,0xffffffff,1,0x02435588,0x024A82F0,0x00000000,0x0018F22C) (:1690)	
00000320	0.18772772	[3128] <capi20>0x205c:PrepareHashCompatibleSignMessage Hash OID: 1.2.643.7.1.1.2.2 (:74)	
00000321	0.18812706	[3128] <capi20>0x205c:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000322	0.18817265	[3128] <capi20>0x205c:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00000323	0.18832049	[3128] <capi10>0x205c:_CryptGetProvParam (hProv = 0x00301C10, dwParam = 16, dwFlags = 0x0, LastError=0x0) (:1533)	
00000324	0.18848321	[3128] <capi10>0x205c:_CryptGetProvParam!failed: LastError = 0x8009001D (:1652)	


Т.е. по каким-то причинам в КрипроПро функция I_CryptGetDefaultCryptProv возвращает неверный адрес, и дальше CryptGetProvParam с этим адресом не срабатывает. На это же указывает ошибка "указан неправильный алгоритм" при работе через плагин, т.к. при такой работе в коде явно никаких алгоритмов не указывается.
В системе криптопровайдер по умолчанию всегда один и тот же, никем и ничем он не изменяется. Пробовал добавлять строчку CryptSetProvider(PAnsiChar('Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider'), 80) перед вызовом CryptSignMessage, она всегда возвращает true, но все равно получаю ошибку range check error

В успешных случаях, это выгляди так:

Код:

00000559	0.97119552	[10920] <capi20>0x1b98:_CryptSignMessage (0x0018F1DC,0xffffffff,1,0x03BF8B44,0x03DBBFF8,0x00000000,0x0018F22C) (:1690)	
00000560	0.97126323	[10920] <capi20>0x1b98:PrepareHashCompatibleSignMessage Hash OID: 1.2.643.7.1.1.2.2 (:74)	
00000561	0.97132367	[10920] <capi20>0x1b98:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000562	0.97138900	[10920] <capi20>0x1b98:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00000563	0.97146767	[10920] <capi10>0x1b98:_CryptGetProvParam (hProv = 0x00A02A68, dwParam = 16, dwFlags = 0x0, LastError=0x0) (:1533)	
00000564	0.97154206	[10920] <capi10>0x1b98:_CryptGetProvParam returned: dwDataLen = 0x4, LastError=0x0 (:1638)


Криптопровайдер инициализируется и дальше все работает.
Offline Максим Коллегин  
#37 Оставлено : 15 октября 2020 г. 9:23:15(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
0x8009001D - говорит о том, что провайдер уже уничтожен.
Под windbg - нужно поймать исключение и прислать мне дамп, надеюсь тогда будет понятно, в какой момент вы неправильно вызываете провайдер.
В целом, я могу сделать сборку и без перехвата ошибок обращения к памяти - будет "хорошее" падение приложения.
Настройте пока https://docs.microsoft.c...llecting-user-mode-dumps
Знания в базе знаний, поддержка в техподдержке
Offline delem  
#38 Оставлено : 15 октября 2020 г. 10:37:52(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Цитата:

0x8009001D - говорит о том, что провайдер уже уничтожен.

Правильно, он и не создался с самого начала.

Цитата:

Под windbg - нужно поймать исключение и прислать мне дамп, надеюсь тогда будет понятно, в какой момент вы неправильно вызываете провайдер.

Я его никак не вызываю и в принципе этим не управляю.

Цитата:

Настройте пока https://docs.microsoft.c...llecting-user-mode-dumps

Настроил, но разве это будет для Delphi работать? Это для .net вроде...
Offline Максим Коллегин  
#39 Оставлено : 15 октября 2020 г. 10:41:40(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,007
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Дампы для всего будут работать.
Ссылку на private сборку отправил в ЛС.
Знания в базе знаний, поддержка в техподдержке
Offline delem  
#40 Оставлено : 15 октября 2020 г. 11:15:43(UTC)
delem

Статус: Участник

Группы: Участники
Зарегистрирован: 02.12.2014(UTC)
Сообщений: 24
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 1 раз
Теперь программа виснет наглухо.

В логе:

Код:

00000097	0.03741096	[8908] <capi10>0x2b08:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 1, Flags = 0xF0000000, LastError=0x2) (:1723)	
00000098	0.04777273	[8908] <capi10>0x2b08:_SystemFunction035 return = 1 for pswzImage = C:\Windows\system32\rsaenh.dll (:578)	
00000099	0.04879460	[8908] <capi10>0x2b08:_CryptAcquireContextA returned: hProv = 0x00A21B30; LastError = 0x0, Count = 1 (:1741)	
00000100	0.04897604	[8908] <capi10>0x2b08:_CryptCreateHash (hProv = 0x00A21B30, Algid = 0x8004, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000101	0.04915171	[8908] <capi10>0x2b08:_CryptCreateHash returned: hHash = 0x00A27AF8, Count = 1 (:904)	
00000102	0.04934226	[8908] <capi10>0x2b08:_CryptHashData (hHash = 0x00A27AF8, dwDataLen = 0x215B3, dwFlags = 0x0) (:1756)	
00000103	0.05030702	[8908] <capi10>0x2b08:_CryptHashData returned (:1774)	
00000104	0.05044669	[8908] <capi10>0x2b08:_CryptGetHashParam (hHash = 0x00A27AF8, dwParam = 2, dwFlags = 0x0) (:833)	
00000105	0.05061084	[8908] <capi10>0x2b08:_CryptGetHashParam returned: dwDataLen = 0x14 (:846)	
00000106	0.05074140	[8908] <capi10>0x2b08:_CryptGetHashParam (hHash = 0x00A27AF8, dwParam = 2, dwFlags = 0x0) (:833)	
00000107	0.05087867	[8908] <capi10>0x2b08:_CryptGetHashParam returned: dwDataLen = 0x14 (:846)	
00000108	0.05105627	[8908] <capi10>0x2b08:_CryptDestroyHash (hHash = 0x00A27AF8) (:941)	
00000109	0.05120794	[8908] <capi10>0x2b08:_CryptDestroyHash returned: Count = 0 (:950)	
00000110	0.05137497	[8908] <capi10>0x2b08:_CryptReleaseContext (hProv = 00A21B30, dwFlags = 0x0) (:1303)	
00000111	0.05148344	[8908] <capi10>0x2b08:_CryptReleaseContext returned: Count = 0 (:1315)	
00000112	0.05172247	[8908] <capi20>0x2b08:_CryptSignMessage (0x0018EFC8,0x0,1,0x0018F014,0x0018F00C,0x00000000,0x0018F010) (:1690)	
00000113	0.05183863	[8908] <capi20>0x2b08:PrepareHashCompatibleSignMessage Hash OID: 1.2.840.113549.1.1.5 (:74)	
00000114	0.05193942	[8908] <capi20>0x2b08:PrepareHashCompatibleSignMessage Public Key Alg: 1.2.643.7.1.1.1.1 (:78)	
00000115	0.05267571	[8908] <capi20>0x2b08:_CryptFindOIDInfo returned 1.2.643.7.1.1.2.2, AlgID: 0x8021 (:1575)	
00000116	0.05277603	[8908] <capi20>0x2b08:PrepareHashCompatibleSignMessage Change Hash OID: 1.2.643.7.1.1.2.2  (:95)	
00000117	0.05290130	[8908] <capi20>0x2b08:_I_CryptGetDefaultCryptProv (0x0) (:618)	
00000118	0.05300114	[8908] <capi10>0x2b08:_CryptAcquireContextA (Provider = (null), Container = (null), ProvType = 80, Flags = 0xF0000000, LastError=0x0) (:1723)	
00000119	0.05392893	[8908] <capi10>0x2b08:_SystemFunction035 return = 1 for pswzImage = C:\Program Files (x86)\Crypto Pro\CSP\cpcsp.dll (:578)	
00000120	0.07618073	[8908] <capi10>0x2b08:_CryptAcquireContextA returned: hProv = 0x00A21B30; LastError = 0x0, Count = 1 (:1741)	
00000121	0.07754099	[8908] <capi10>0x2b08:_CryptCreateHash (hProv = 0x00A21B30, Algid = 0x8021, hKey = 0x00000000, dwFlags = 0x0) (:897)	
00000122	0.07774547	[8908] <capi10>0x2b08:_CryptCreateHash returned: hHash = 0x00A27AF8, Count = 1 (:904)	
00000123	0.07789426	[8908] <capi10>0x2b08:_CryptHashData (hHash = 0x00A27AF8, dwDataLen = 0x9AE, dwFlags = 0x0) (:1756)	
00000124	0.07807761	[8908] <capi10>0x2b08:_CryptHashData!failed: LastError = 0x57 (:1777)	
00000125	0.07820433	[8908] <capi10>0x2b08:_CryptDestroyHash (hHash = 0x00A27AF8) (:941)


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