Как я могу преобразовать открытый ключ Pem в открытый ключ RSA с Bouncycastle в C #? - PullRequest
3 голосов
/ 01 февраля 2012

у меня есть ключ pem public , и я хочу преобразовать его в открытый ключ формата xml или AsymmetricKeyParameter.

я могу преобразовать ключ pem Private в Public / Private xml или asymmetricKeyParameter с PemReader в bouncyCastle на C #. Но при использовании Pem Public Key в PemReader я получаю сообщение об ошибке.

, пожалуйста, помогите мне.
Какое еще решение для моей проблемы?

Ответы [ 2 ]

4 голосов
/ 17 января 2013

Это должно сделать то, что вы искали, используя BouncyCastle.

Зависимость:

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

Код для преобразования из PEM в формат RSA XML:

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);
2 голосов
/ 08 февраля 2012

Посмотрите на эту запись на форумах Microsoft перейдите к ответу Bell_Wang, он указывает на некоторый код, который делает это преобразование для вас ( код здесь )

...