i.eslami
i.eslami

Reputation: 41

how can i convert pem public key to rsa public key with bouncycastle in c#?

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?

Upvotes: 4

Views: 7179

Answers (2)

CodeMonkeyKing
CodeMonkeyKing

Reputation: 4642

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

Upvotes: 4

Jesus Salas
Jesus Salas

Reputation: 541

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)

Upvotes: 2

Related Questions