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

Уведомление

Icon
Error

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

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

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

Сказал(а) «Спасибо»: 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,374
Мужчина
Откуда: КРИПТО-ПРО

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

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Автор: 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)
Сообщений: 25
Российская Федерация
Откуда: Воронеж

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


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

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


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

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

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

Сказал(а) «Спасибо»: 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,374
Мужчина
Откуда: КРИПТО-ПРО

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

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

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

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

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

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

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Я исправлял подобную проблему недавно. Сейчас постараюсь выложить посвежее версию 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)
Сообщений: 25
Российская Федерация
Откуда: Воронеж

Сказал(а) «Спасибо»: 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,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Видимо проблема всё-таки в другом.
Соберите лог с начала процесса. Ошибки CreateProvider -- это уже после исключения, вызыванного обращением по неверному указателю.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
5 Страницы<12345>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.