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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Mamon_T  
#1 Оставлено : 15 октября 2025 г. 15:17:24(UTC)
Mamon_T

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

Группы: Участники
Зарегистрирован: 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 'подводные камни'???d'oh!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.