-
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
Проблема(?) с настройками по-умолчанию #17
Comments
Это странно, т.к. алгоритм симметричного шифрования не менялся и должен поддерживаться всеми криптопровпйдерами. Может, конечно, в новых версиях CryptoPro что-то изменилось. Можете сказать, какая у вас версия и привести пример кода. |
Да, есть ещё вариант, что от |
Да всё просто, собственно. Или я что-то не так делаю? using System;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
using GostCryptography.Base;
using GostCryptography.Config;
using GostCryptography.Gost_28147_89;
using GostCryptography.Xml;
namespace CryptoSample {
internal class Program {
public static void Main() {
var fssCertUri = new Uri("https://cabinets.fss.ru/FSS_PROD_CERT_2019_34.10-2012.cer");
var fssCertBytes = new WebClient().DownloadData(fssCertUri);
var fssCert = new X509Certificate2(fssCertBytes);
GostCryptoConfig.ProviderType_2012_512 = ProviderType.CryptoPro_2012_512;
var xml = new XmlDocument();
xml.LoadXml("<Test />");
using (var gost28147 = new Gost_28147_89_SymmetricAlgorithm())
GostEncryptedXml.EncryptKey(gost28147, (GostAsymmetricAlgorithm)fssCert.GetPublicKeyAlgorithm());
}
}
} |
Ах да, прошу прощения. |
И снова приветствую!
Не уверен, что это баг, но с виду выглядит, что так.
Последовал данному в другом вопросе совету и убрал передачу типа провайдера в конструкторы алгоритмов. Использую соответствующие свойства
GostCryptoConfig
.И тут вдруг выяснилось, что сломалось шифрование на сертификат ФСС, выпущенный по новым ГОСТам. Лечится это явной передачей
CryptoPro_2012_512
в конструкторGost_28147_89_SymmetricAlgorithm
. Решил посмотреть, что происходит по-умолчанию и дошёл вот до этого куска:Но ведь если шифрование идёт на новый ГОСТ, то надо брать значение не из
ProviderType
, а изProviderType_2012_5121
илиProviderType_2012_1024
. Не знаю, можно ли с этим что-то сделать, но поведение странное.The text was updated successfully, but these errors were encountered: