Как расшифровать XML ГОСТ 28147-89 через КриптоПро\VipNet? КриптоПро и VipNet предоставляют библиотеки, реализующий интерфейс MS CryptoAPI.
Есть XML, в ней указан алгоритм шифрования urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147
и алгоритм согласования ключей urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001
Сессионный ключ вроде получилось разобрать/импортировать:.// Получение дескриптора криптопровайдера
CryptAcquireContext(&hProv, __CONTAINER_NAME__,NULL,PROV_GOST_2001_DH,0);
// Получение дескриптора закрытого ключа получателя.
CryptGetUserKey(hProv, AT_KEYEXCHANGE, &hKey);
// Получение ключа согласования импортом эфемерального ключа отправителя
// на открытом ключе получателя.
CryptImportKey(hProv, bEphemeralPublicKeySimple, 100, hKey, 0, &hAgreeKey);
// Установление алгоритма ключа согласования
ALG_ID alg = CALG_SIMPLE_EXPORT; // алгоритм ключа согласования
CryptSetKeyParam(hAgreeKey, KP_ALGID, (LPBYTE)&alg, 0);
// Получение сессионного ключа импортом зашифрованного сессионного ключа
// на ключе Agree.
CryptImportKey(hProv,pbKeyBlobSimple,dwBlobLenSimple,hAgreeKey,0,&hSessionKey);
Проблема в самой расшифровке:CryptDecrypt(hSessionKey, 0, bFinal, 0, pbContent, &cbContent);
Функция отрабатывает без ошибок, но результат и близко не похож на исходное сообщение.
Кто-нибудь сталкивался с этим?

21 Авг 2019 в 04:13
327 +1
0
Ответы
1
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 005 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир
Возникла ошибка при получении вопросов
×
Возникла ошибка при получении вопросов
×