从C#导出用于Java的X509EncodedKeySpec的RSA公钥

时间:2014-10-28 21:26:41

标签: java c# rsa public-key-encryption

如何在C#中编码RSA公钥,以便稍后在Java应用程序中使用?请注意,我需要在.NET端执行此操作。我试图使用BouncyCastle API来实现这一目标,但我找不到能够描述这种功能的单一文档。

1 个答案:

答案 0 :(得分:2)

以下是您的工作方式:

using (var rsa = new RSACryptoServiceProvider(cp))
{
    var keyPair = DotNetUtilities.GetKeyPair(rsa);
    var publicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(keyPair.Public);
    var serializedPublicBytes = publicKeyInfo.GetEncoded();
    return BitConverter.ToString(serializedPublicBytes).Replace("-", "");
}

您可以在此处找到更多详细信息:http://www.rahulsingla.com/blog/2011/04/serializing-deserializing-rsa-public-private-keys-generated-using-bouncy-castle-library