2013-04-29 91 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 2013-04-29 13:05:53

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