使用自己的值创建RSACryptoServiceProvider

时间:2016-08-30 10:05:54

标签: parameters key customization rsacryptoserviceprovider

我需要创建一个RSACryptoServiceProvider及其参数来解密/解密数据。

但我明天需要使用相同的密钥再次/解密数据 将它们导出并存储在文件中会很棒但是......没有机会写文件(他们不希望我这样做)。所以我想我会通过自己从系统中检索的键和参数创建自己的RSACryptoServiceProvider。我有像processorID,Mac和东西这样的数据。

所以这是我的问题。

我可以使用一些自定义字符串来创建RSACryptoServiceProvider并在明天重复获取相同的密钥吗?

AFAIK,RSACryptoServiceProvider参数的值为p,d,n和stuff。但我也听说他们需要特定的素数 我将不胜感激任何帮助。

感谢名单

1 个答案:

答案 0 :(得分:0)

不确定您是否在c#中执行此操作,但如果您有pfx文件,则可以执行此操作:

 var certBytes = System.IO.File.ReadAllBytes(@"path\to\certificate.pfx");
 var privateAndPublicKeyCert = new System.Security.Cryptography.X509Certificates.X509Certificate2(certBytes, "password");
 // pfx files that have a private key should be protected by a password
 var privateKeyCSP = (System.Security.Cryptography.RSACryptoServiceProvider)privateAndPublicKeyCert.PrivateKey;

很明显,你必须要照顾安全方面。喜欢不要硬编码密码

您将使用存储在文件中的值初始化两个ChryptoServiceProvider ...