Я создал контейнер ключа RSA клиента (для шифрования строки подключения в web.config) с помощью следующей команды:
aspnet_regiis -pc "TestKeys" -size 2048 -exp
Затем я экспортировал ключ в xml-файл и использовал его для инициализации экземпляра RSACryptoServiceProvider, чтобы я мог проверить, что размер ключа определенно равен 2048. Однако с помощью приведенного ниже кода размер ключа отображается как 1024.
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
using (FileStream fs = new FileStream(@"C:\TestKeys.xml", FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
rsa.FromXmlString(sr.ReadToEnd());
}
}
Console.WriteLine(rsa.KeySize.ToString());
}
Кажется, что aspnet_regiis игнорирует аргумент -size. Я что-то упустил?
Кроме того, существует ли рекомендуемый размер ключа для шифрования разделов конфигурации .Net с использованием RSA?