从PGP公钥中提取模数和指数

时间:2011-05-24 11:12:13

标签: c# .net bouncycastle pgp openpgp

我正在开发一个实现PGP加密的应用程序。我面临一个问题,我们需要从PGP公钥中提取模数和指数。我正在使用Bouncy castle PGP库。请帮忙。

1 个答案:

答案 0 :(得分:1)

选择公钥后尝试使用该代码

 PgpPublicKey  PublicKey;
 var val = (RsaKeyParameters)PublicKey.GetKey();
 string ModulusVal = Convert.ToBase64String(Encoding.UTF8.GetBytes(val.Modulus.ToString()));
 string ExponentVal = Convert.ToBase64String(Encoding.UTF8.GetBytes(val.Exponent.ToString()));
XDocument X = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
                                        new XElement("RSAKeyValue",
                                            new XElement("Modulus", ModulusVal),
                                            new XElement("Exponent", ExponentVal)));
X.Save(XMLFileSavePath, SaveOptions.None);