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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline alextrof94  
#1 Оставлено : 2 июля 2018 г. 14:48:29(UTC)
alextrof94

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

Группы: Участники
Зарегистрирован: 28.06.2018(UTC)
Сообщений: 9
Российская Федерация
Откуда: Kazan

В общем. Это снова я. ФСС до сих пор пишет, что шифрует своим сертификатом, но вдруг пишет одно, а делает другое, прямо как мы (т.е. шифрует нашим).
Решил захардкодить этот момент и попытаться подсунуть для расшифровки наш сертификат, но... Столкнулся с проблемой:
Код:

                // со ссылкой на секретный ключ.
                AsymmetricAlgorithm alg = certOur.PrivateKey;
                if (alg == null)
                    continue;
                // и ГОСТ алгоритмом секретного ключа.
                Gost3410 gost = alg as Gost3410;
                if (gost == null) // здесь выдает true, т.е. не может найти Gost3410 внутри унаследованного Gost3410CryptoServiceProvider
                    continue; 
                return gost;


Наш сертификат (certOur), как можно понять, имеет приватный ключ. alg возвращает тип Gost3410CryptoServiceProvider при просмотре в режиме отладки.
ЧЯДНТ?
Offline alextrof94  
#2 Оставлено : 3 июля 2018 г. 14:19:40(UTC)
alextrof94

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

Группы: Участники
Зарегистрирован: 28.06.2018(UTC)
Сообщений: 9
Российская Федерация
Откуда: Kazan

На сертификат Фсс софт реагирует так же...

Это точно проблема с моей стороны?

Я уже беру примеры из .NET SDK.
Сертификат ФСС продакшеновый, скачанный отсюда:
https://cabinets.fss.ru/eln.html

Код из примера gEncryptFileAgree:
Код:


        X509Certificate2 certOur, certFss;

            // Таким образом засовываю сертификат в certFss и аналогично в certOur
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
            X509Certificate2Collection scollection;
            store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
            scollection = X509Certificate2UI.SelectFromCollection(store.Certificates, "Выберите сертификат ФСС", "Выберите сертификат получателя", X509SelectionFlag.MultiSelection);
            certFss = scollection[0];

// далее код из примера, функция EncryptTestFile...
            AsymmetricAlgorithm pk = certFss.PublicKey.Key;
            Gost3410 alg = pk as Gost3410;
            if (alg == null)
                throw new CryptographicException("Not a gost certificate"); // Выдает исключение.


скрин

Отредактировано пользователем 3 июля 2018 г. 14:23:16(UTC)  | Причина: Не указана

Offline alextrof94  
#3 Оставлено : 17 июля 2018 г. 14:45:29(UTC)
alextrof94

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

Группы: Участники
Зарегистрирован: 28.06.2018(UTC)
Сообщений: 9
Российская Федерация
Откуда: Kazan

Проблема оказалась в разных версиях библиотек. Одну либу подключал через путь, а вторую через поиск по установленным модулям, при этом думал что мне скинули новые либы, а там оказались устаревшие. Все работает как надо...
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.