【问题标题】:(En|De)crypt data with static private/public key with RSA(En|De) 使用 RSA 的静态私钥/公钥加密数据
【发布时间】:2012-08-11 19:13:41
【问题描述】:

我已经看到很多关于如何在 C# 中通过随机生成的密钥使用 RSA 的示例,但没有一个使用静态密钥的示例。我需要这是因为我的程序客户端静态存储公钥(n,e),而服务器也静态存储私钥(d,n)和公钥。

如果我创建一个 RSAParameters 并存储 Modulus=nExponent=e 值并调用 ImportParameters,我可以成功加密数据,但是如果我创建一个新的 RSAParameters 并存储 Modulus=nD=d 值,当我调用ImportParameters 方法时,会抛出System.Security.Cryptography.CryptographicException

有没有办法只用 D 和 N 值解密数据?

【问题讨论】:

  • 您能否发布导出/导入组件的代码,如果可能的话,将所述参数的十六进制编码(显然使用密钥仅用于测试目的)。

标签: c# .net encryption rsa private


【解决方案1】:

尝试以 PKCS#1/PKCS#8 格式对值进行编码。这样,您也可以从任何框架中检索密钥。最好的方法是使用Bouncy Castle 框架。我已经包含了一些关于向/从 C# 应用程序导入/导出密钥的问题的提示。

How to convert pkcs8 key file to DER format in #C?

Creating PKCS1 public key in Net Framework

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 1970-01-01
    • 2015-03-21
    • 2013-10-15
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    相关资源
    最近更新 更多