根据this answer - 每次创建RSACryptoServiceProvider
时,除非明确告知不要,否则它会被保留。
ImportCspBlob
怎么样?我有一个私钥作为byte [],所以我使用:
using (var rsa = new RSACryptoServiceProvider())
{
rsa.ImportCspBlob(keyBlob);
//rsa.PersistKeyInCsp = false; //Should I add this? Perhaps before the CSP import?
//Use rsa ...
}
我需要PersistKeyInCsp = false;
吗?是否为时已晚,因为它已经存在?但是在导入之前使用它 - 它会影响之前的 blob吗?
答案 0 :(得分:0)
将PersistKeyInCsp设置为false甚至会删除现有的持久密钥,因此它完全符合您的希望,但只要您的CspParameters不指定容器名称(在这种情况下,您就是&#39) ;使用无参数构造函数,所以你没有指定容器名称),我不相信它会持续存在而不管PersistKeyInCsp的值。