-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Недопустимый тип криптографического сообщения. #9
Comments
Здравствуйте. Библиотека представляет собой обёртку над криптопровайдером - CryptoPro или VipNet. Т.е. реализует часть абстракций из System.Security.Cryptography на базе этих криптопровайдеров. Соответственно, в большинстве случаев нужно наличие установленного CryptoPro или VipNet. Можете привести пример кода, который возвращает исключение? |
Сам метод Decode(fileName) возвращает ошибку. |
В случае, если криптопровайдер не установлен? |
Нет, даже когда установлен. |
Я постараюсь воспроизвести ошибку. Пока могу предложить посмотреть примеры, может что-то удастся найти https://github.com/AlexMAS/GostCryptography/tree/master/Source/GostCryptography.Tests/Pkcs |
Проверил на своей машине, все должно работать. Сертификат установлен нормально? Может проблема с поиском самого сертификата.
Не могу найти такую перегрузку. |
Сертификат в данном случае не нужен. Метод декодирует зашифрованное сообщение. |
Видимо, мы говорим про разные вещи. Можете всё-таки привести пример кода. |
Ну в принципе я уже выше писал: |
Я попробовал возможные варианты, но не могу получить подобного исключения. На основе этого есть предположение, что проблема с данными. Вы уверены, что с ними все нормально? Как вы получаете быйты для декодирования? Согласно примеру, который вы привели, содержимое сообщения должно быть включено ( В этой версии также есть одна особенность, нужно явно установить тип криптопровайдера. В вашем случае это не должно играть роли, тем не менее: // ViPNet CSP (by default)
GostCryptoConfig.ProviderType = ProviderTypes.VipNet;
// CryptoPro CSP
GostCryptoConfig.ProviderType = ProviderTypes.CryptoPro; |
Для информации. Выпустил v2.0.0, которая включает поддержку алгоритмов
В случае с Также нужно отметить, что Наконец, в ходе добавления поддержки алгоритмов |
@frantic0589 Здравствуйте. Получилось решить проблему? |
@AlexMAS Добрый день. К сожалению пока нет. |
@frantic0589, а вы пробовали проверять подпись с помощью утилиты cryptcp от Крипто-Про? Скорее всего, что-то не так с подписью в файле. |
А причем здесь вообще КриптоПро или любой другой криптопровайдер? |
@frantic0589 Получилось решить проблему? :) |
К сожалению нет. Вы спрашивали при чем здесь криптопровайдер, сообщение закодировано по РФ ГОСТу. Windows без криптопро не знает про наш ГОСТ. И только после установки криптопровайдер в реест записывается значения типа хэш и ключ, после чего он может по нашему ГОСТу шифровать и читать эти сообщения. |
@frantic0589 Правильно ли я понимаю, что указанная вами ошибка возникает только когда не установлен криптопровайдер? |
Идет подмена понятий. Сообщение м.б.зашифровано по ГОСТу, а не закодировано. По ГОСТу также может быть вычислена эцп или хэш. ASN.1 это формат кодирования сообщения |
Добрый день. Для работы требуется установленное КриптоПРО CSP на ПК, или вся информация об OID и ключах шифрования тут имеется?
Пытаюсь декодировать зашифрованный файл с подписью:
GostSignedCms gostSignedCms = new GostSignedCms();
gostSignedCms.Decode(fileName);
Получаю ошибку: "System.Security.Cryptography.CryptographicException: Недопустимый тип криптографического сообщения."
С установленным криптопро csp и стандартным классом .net EnvelopedCms все удается сделать. Но имеется необходимость сделать реализацию без установленного криптопро, чтобы можно было опубликовать приложение в вэб, без установленного криптопро, в котором имеется вся информация по алгоритмам шифрования: https://cpdn.cryptopro.ru/content/csp40/html/group___pro_c_s_p_ex_DP8.html
The text was updated successfully, but these errors were encountered: