我使用以下命令创建了一个客户 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 参数。我错过了什么吗?
此外,是否有推荐的密钥大小用于使用 RSA 加密 .Net 配置部分?