Статус: Участник
Группы: Участники
Зарегистрирован: 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. Ошибка тоже плавающая и что-то мне подсказывает, что они связаны.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,374 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 704 раз в 613 постах
|
Теперь вообще нет зацепок( А csptest -sfsign работает? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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; Так не вариант? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.12.2014(UTC) Сообщений: 25 Откуда: Воронеж Сказал(а) «Спасибо»: 1 раз
|
Цитата:А csptest -sfsign работает? Вполне себе. Размер тот же. Через плагин размер больше, но проверку в Криптопро АРМ тоже проходит. Картинки не грузятся, хотел скрин показать. Цитата:а Win32Check чём обусловлен? Глобально исключения удобно ловить? Думал, что получу побольше информации. Убрал.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,374 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 704 раз в 613 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.12.2014(UTC) Сообщений: 25 Откуда: Воронеж Сказал(а) «Спасибо»: 1 раз
|
Все тоже самое, может выкинет ошибку, а может и нет. Бывает, что подпишет 20 файлов, а потом вылетает в это же исключение.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,374 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 704 раз в 613 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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)
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,374 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 704 раз в 613 постах
|
Видимо проблема всё-таки в другом. Соберите лог с начала процесса. Ошибки CreateProvider -- это уже после исключения, вызыванного обращением по неверному указателю. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close