我正在生成密钥对并将它们存储在xml文件中,使用
ToXmlString(true);
我需要将密钥大小设置为2048
根据MSDN,唯一执行此操作的地方是来自RSACryptoServiceProvider的构造函数
private void AssignParameter(ProviderType providerType)
{
CspParameters cspParams;
cspParams = new CspParameters((int)providerType);
cspParams.KeyContainerName = RSAEncryption.containerName;
cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
cspParams.ProviderName = "Microsoft Strong Cryptographic Provider";
cspParams.KeyNumber = (int)KeyNumber.Exchange;
this.rsa = new RSACryptoServiceProvider(2048, cspParams);
}
当我使用检查密钥大小时
int x = this.rsa.KeySize;
我总是得到1024
那这怎么了?
最佳答案
我以前看过,请尝试更改容器名称或尝试
using (this.rsa = new RSACryptoServiceProvider(2048, cspParams))
{
}
或
this.rsa.Clear();
完成后。如果您已经有一个同名的容器,它将重新使用我相信的容器。