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

C# 从PGP公钥中提取模和指数,c#,.net,bouncycastle,pgp,openpgp,C#,.net,Bouncycastle,Pgp,Openpgp,我正在开发一个实现PGP加密的应用程序。我面临一个问题,我们需要从PGP公钥中提取模和指数。我正在使用PGP库。请提供帮助。请在选择公钥后尝试代码 PgpPublicKey PublicKey; var val = (RsaKeyParameters)PublicKey.GetKey(); string ModulusVal = Convert.ToBase64String(Encoding.UTF8.GetBytes(val.Modulus.ToString())); string

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

请在选择公钥后尝试代码

 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);

请在选择公钥后重试该代码

 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);

我忘了提到我使用的是包含嵌入式PGP密钥的X509证书。您能提供代码吗?我忘了提到我使用的是包含嵌入式PGP密钥的X509证书。你能提供那个的代码吗?