c # RSACryptoServiceProvider с параметрами CSPP не может установить размер ключа

#c# #rsacryptoserviceprovider

#c# #rsacryptoserviceprovider

Вопрос:

Я читал, что мы не можем установить keySize для RSACryptoServiceProvider(int, cspParams)

 CspParameters cspParams = new CspParameters
{
    KeyContainerName = "KeyContainer"
};
            
var rsaRoot = new RSACryptoServiceProvider(2048, cspParams);
Console.WriteLine(rsaRoot.KeySize); // 1024
 

Единственный способ установить размер ключа — использовать RSACryptoServiceProvider(int) , как я могу установить параметры CSPP KeyContainerName = "KeyContainer" с помощью этого метода?

Ответ №1:

Решаемая я должен использовать уникальный KeyContainerName

 CspParameters cspParams = new CspParameters
{
    KeyContainerName = Guid.NewGuid().ToString()

};

var rsaRoot = new RSACryptoServiceProvider(2048, cspParams);
 

о инструкции только для чтения (url)

Класс RSACryptoServiceProvider не позволяет изменять размеры ключей с помощью свойства KeySize . Любое значение, записанное в это свойство, не сможет обновить свойство без ошибок. Чтобы изменить размер ключа, используйте одну из перегрузок конструктора.

Я думаю, что меня или их неправильно поняли, он не может изменить размер ключа после создания, но мы можем инициализировать размер ключа