Git Product home page Git Product logo

Comments (19)

AlexMAS avatar AlexMAS commented on June 11, 2024

Здравствуйте. Библиотека представляет собой обёртку над криптопровайдером - CryptoPro или VipNet. Т.е. реализует часть абстракций из System.Security.Cryptography на базе этих криптопровайдеров. Соответственно, в большинстве случаев нужно наличие установленного CryptoPro или VipNet. Можете привести пример кода, который возвращает исключение?

from gostcryptography.

frantic0589 avatar frantic0589 commented on June 11, 2024

Сам метод Decode(fileName) возвращает ошибку.

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

В случае, если криптопровайдер не установлен?

from gostcryptography.

frantic0589 avatar frantic0589 commented on June 11, 2024

Нет, даже когда установлен.

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

Я постараюсь воспроизвести ошибку. Пока могу предложить посмотреть примеры, может что-то удастся найти https://github.com/AlexMAS/GostCryptography/tree/master/Source/GostCryptography.Tests/Pkcs

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

Проверил на своей машине, все должно работать. Сертификат установлен нормально? Может проблема с поиском самого сертификата.

Сам метод Decode(fileName) возвращает ошибку.

Не могу найти такую перегрузку.

from gostcryptography.

frantic0589 avatar frantic0589 commented on June 11, 2024

Сертификат в данном случае не нужен. Метод декодирует зашифрованное сообщение.

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

Видимо, мы говорим про разные вещи. Можете всё-таки привести пример кода.

from gostcryptography.

frantic0589 avatar frantic0589 commented on June 11, 2024

Ну в принципе я уже выше писал:
GostSignedCms gostSignedCms = new GostSignedCms();
gostSignedCms.Decode(fileName);
В fileName массив байтов файла bin или p7s

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

Я попробовал возможные варианты, но не могу получить подобного исключения. На основе этого есть предположение, что проблема с данными. Вы уверены, что с ними все нормально? Как вы получаете быйты для декодирования? Согласно примеру, который вы привели, содержимое сообщения должно быть включено (detached=false).

В этой версии также есть одна особенность, нужно явно установить тип криптопровайдера. В вашем случае это не должно играть роли, тем не менее:

// ViPNet CSP (by default)
GostCryptoConfig.ProviderType = ProviderTypes.VipNet;

// CryptoPro CSP
GostCryptoConfig.ProviderType = ProviderTypes.CryptoPro;

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

Для информации.

Выпустил v2.0.0, которая включает поддержку алгоритмов 2012 года, а также исправление известных ошибок совместимости с ViPNet CSP 4.2. Версия была протестирована на конфигурациях:

  • Windows 10 x64, CryptoPro CSP 4.0.9963
  • Windows 10 x64, ViPNet CSP 4.2.8.51670

В случае с CryptoPro CSP важно установить версию не ниже 4.0.9963 (на момент тестирования последний private-релиз), поскольку она содержит исправление критической ошибки при работе с сертификатами ГОСТ Р 34.10-2012/1024.

Также нужно отметить, что ViPNet CSP до последней на данный момент версии 4.2.8.51670 (включительно) не поддерживает создание производных симметричных ключей на основе хэш-функций ГОСТ Р 34.11-2012. Ничего критичного в этом нет, это оказывает влияние только на возможность генереции случайных симметричных ключей с использованием методов Gost_R3411_2012_256_PRF.DeriveKey() и Gost_R3411_2012_512_PRF.DeriveKey().

Наконец, в ходе добавления поддержки алгоритмов 2012 года были произведены крупные изменения, включающие перенос/переименование существующих классов. Для перехода с v1.0 на v2.0 нужно воспользоваться следующей иструкцией.

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

@frantic0589 Здравствуйте. Получилось решить проблему?

from gostcryptography.

frantic0589 avatar frantic0589 commented on June 11, 2024

@AlexMAS Добрый день. К сожалению пока нет.

from gostcryptography.

Bykiev avatar Bykiev commented on June 11, 2024

@frantic0589, а вы пробовали проверять подпись с помощью утилиты cryptcp от Крипто-Про? Скорее всего, что-то не так с подписью в файле.

from gostcryptography.

avragov avatar avragov commented on June 11, 2024

А причем здесь вообще КриптоПро или любой другой криптопровайдер?
Сообщение в формате Pkcs7 декодируется из структуры ASN.1. Вы же не подпись у сообщения проверяете и не расшифровываете его.
Вангую, что формат сообщения не соответствует указываемому формату при декодировании.
Лучше воспользоваться Certenroll API.

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

@frantic0589 Получилось решить проблему? :)

from gostcryptography.

frantic0589 avatar frantic0589 commented on June 11, 2024

К сожалению нет. Вы спрашивали при чем здесь криптопровайдер, сообщение закодировано по РФ ГОСТу. Windows без криптопро не знает про наш ГОСТ. И только после установки криптопровайдер в реест записывается значения типа хэш и ключ, после чего он может по нашему ГОСТу шифровать и читать эти сообщения.

from gostcryptography.

AlexMAS avatar AlexMAS commented on June 11, 2024

@frantic0589 Правильно ли я понимаю, что указанная вами ошибка возникает только когда не установлен криптопровайдер?

from gostcryptography.

avragov avatar avragov commented on June 11, 2024

Идет подмена понятий. Сообщение м.б.зашифровано по ГОСТу, а не закодировано. По ГОСТу также может быть вычислена эцп или хэш. ASN.1 это формат кодирования сообщения

from gostcryptography.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.