CryptoPro / corefx

This repo contains the .NET Core foundational libraries, called CoreFX. It includes classes for collections, file systems, console, XML, async and many others. We welcome contributions.
https://github.com/dotnet/core
MIT License
27 stars 7 forks source link

Реализация экспорта\транспорта\keyWrap\EncryptedXml #43

Open Fasjeit opened 3 years ago

Fasjeit commented 3 years ago

Ветка - https://github.com/CryptoPro/corefx/tree/gost_xml_encrypt

Большая доработка шифрование и экспорта.

Текущие изменения:

В настоящий успешно собирается с netstandatd'ом из одноименной ветки.

Функциональность Классы Состояние Описание
KeyExchange GostKeyExchangeFormatter done (win), done (unix) Код аналогичен KeyExchange.cs из КриптоПро.NET. VKO в сторону получателя
gEncrypt не реализованная функциональность в криптопро.NET и тут (явное шифрование на 3410)
gEncryptFileAgree GostSharedSecretAlgorithm done(win), done(unix) Код аналогичен gEncryptFileAgree .cs из КриптоПро.NET. Создание и использование ключа через согласование
gEncryptFileEphem GostSharedSecretAlgorithm done (win), done (unix) Исходный пример аналогичен gEncryptFileAgree, но ключи задаются сертификатами
gEncryptFileTransport GostKeyExchangeFormatter done (win), done (unix) Исходный пример аналогичен KeyExchange, но ключи задаются сертификатами
EncryptedXml (key container) done (win), done (unix) EncryptAKey
EncryptedXml (x509 certificate) done (win), done (unix) EncryptCertificate
Fasjeit commented 3 years ago

Тесты Csp GostKeyExchangeTests GostKeyWrapTest GostSharedSecretTest

Тесты Xml GostEncryptedXmlTest GostSignedXmlTest

Изменения в мастер ветке.

Fasjeit commented 3 years ago

В encryptedXml оставил по максимуму оригинального кода, включая ветки RSA, которые сейчас не задействованы (ибо сейчас происходит ветвление на оригинальный и "наш" код по алгоритму). Во-первых для простоты нахождения потенциальных проблем путём сравнения с КриптоПро.NET, во-вторых ещё не очень понятно что будет с RSA на unix, возможно придётся задействовать данных код.

Fasjeit commented 3 years ago

Пререлиз с изменениями: https://github.com/CryptoPro/corefx/releases/tag/v3.1.1-cprocsp-preview4.325

ToDo: