Статус: Новичок
Группы: Участники
Зарегистрирован: 11.09.2025(UTC) Сообщений: 1  Откуда: Москва
|
Доброго времени суток! Пытаюсь реализовать в программе на rust типовую процедуру шифрования/дешифрования произвольных блоков данных. КриптоПРО CSP 5.0.13300 на АстраЛинукс 1.6 Смоленск. Провайдер: Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, алгоритм: CALG_GR3412_2015_M. Основное отличие от типовой - открытый ключ отправителя берётся из файла, а UKM и IMIT - приходят с входными данными. Черновик, выполненный на Си подтверждает, что схема работоспособна и обмен ведется. При реализации на rust обращение к CryptImportKey приводит к Signal: SIGSEGV (Segmentation fault) Код такой: Код:// 1.5 Непосредственно импорт открытого ключа абонента
let mut h_agree_key = 0;
check_csp_result(&lib,1 == lib.CryptImportKey(
h_prov,
public_key_blob.as_ptr(),
cbkeyblob as DWORD,
h_user_key,
0,
&mut h_agree_key
),"CryptImportKey")?;
При этом h_user_key получен вызовом CryptGetUserKey без каких либо сложностей чуть ранее по тексту. Может быть кто-то сможет подсказать какие существуют для CryptImportKey 'подводные камни'???
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close