2013-04-29 2 views
0

Я создал и RSA с открытым ключом:RSA с открытым ключом на базу 64

RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider(4096); 

var pub_key = rsaProvider.ExportParameters(false); // export public key 
var priv_key = rsaProvider.ExportParameters(true); // export private key 

Мне нужен способ, чтобы декодировать pub_key него в base64, так что я могу отправить его, любые предложения

ответ

0

В .NET есть является встроенной функцией для преобразования в Base64: http://msdn.microsoft.com/en-us/library/dhx0d524.aspx

+0

Я знаю, как это использовать. спасибо за ваш ответ, но мне нужно специальное разрешение для открытого ключа RSA, так как в ключе rsa есть много ключей, какой порядок или какой я должен использовать – wandos

0

Непонятно, что вам нужно, но я предполагаю, что вы хотите сериализовать ключ. В этом случае вы можете использовать RSA.ToXmlString() method. Если вам действительно нужно закодировать base64, тогда вы ответите в ответ Nickolay Olshevsky на дальнейшее кодирование XML-строки.

1

Когда вы говорите, что Base64 означает, что вам нужен открытый ключ в формате Base64 PEM? Если да, рассмотрите возможность использования BouncyCastle.

var kp = [Org.BouncyCastle.Security.DotNetUtilities].GetKeyPair(rsaProvider); 
using (var sw = new System.IO.StringWriter()) 
{ 
    var pw = new Org.BouncyCastle.OpenSsl.PemWrite(sw); 
    pw.WriteObject(kp.Public); 
    var pem = sw.ToString(); 
    return pem; 
} 
Смежные вопросы