4

i have a pem public key and i want to convert to xml format public key or AsymmetricKeyParameter.

i can convert pem Private key to Public/Private xml format or asymmetricKeyParameter with PemReader in bouncyCastle in C#.but when use Pem Public Key in PemReader , i receive error.

please help me.
what else solution for my problem?

i.eslami
  • 41
  • 1
  • 3

2 Answers2

4

This should do what you were looking for using BouncyCastle.

Dependencies:

using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.OpenSsl;
using Org.BouncyCastle.Security;

The code to convert from PEM to RSA XML format:

StreamReader reader = new StreamReader("yourPrivateKey.pem");
PemReader pemReader = new PemReader(reader);
AsymmetricCipherKeyPair keyPair = (AsymmetricCipherKeyPair)pemReader.ReadObject();
AsymmetricKeyParameter privateKey = keyPair.Private;
RSA rsa = DotNetUtilities.ToRSA((RsaPrivateCrtKeyParameters) privateKey);
string xmlRsa = rsa.ToXmlString(true);
Console.WriteLine(xmlRsa);
CodeMonkeyKing
  • 4,556
  • 1
  • 32
  • 34
2

Take a look on this entry from Microsoft forums browse down to Bell_Wang reply, it points to some code that makes that conversion for you (code is here)

Jesus Salas
  • 541
  • 3
  • 8