2014-10-28 4 views
0

나중에 Java 응용 프로그램()에서 사용할 수 있도록 C#으로 RSA 공개 키를 인코딩 할 수 있습니까? 제발, 나는 .NET 쪽에서 그것을 할 필요가 있습니다. 이를 달성하기 위해 BouncyCastle API를 사용하려고하지만 이러한 기능을 설명하는 단일 문서를 찾을 수 없습니다. 여기Java의 X509EncodedKeySpec에 대해 C#에서 RSA 공개 키 내보내기

+0

을 나는 당신이 실제로 잘못된 질문을하고 생각한다. 아마도 C#에서 RSA 공개 키를 Java의 [X509EncodedKeySpec] (http://docs.oracle.com/javase/7/docs/api/java/security/spec)과 호환되는 형식으로 내보내는 방법을 묻고 싶을 것입니다. /X509EncodedKeySpec.html) 하나의 솔루션이 제공됩니다 [여기] (http://stackoverflow.com/questions/10368111/encode-a-rsa-public-key-to-der-format). –

+0

@ GregS, 맞습니다. 예, 이미 해결책을 찾았습니다. 출처는 다음과 같습니다. http://www.rahulsingla.com/blog/2011/04/serializing-deserializing-rsa-public-private-keys-generated-using-bouncy-castle-library. 고맙습니다! – codeRecap

+0

우수 답변을 해결책으로 게시하고 답변을 수락하십시오. 또한 링크를 게시하지 마십시오. 해당 링크에 표시된 링크 * 및 * 코드를 게시하십시오. –

답변

1

는 당신이 그것을 할 방법은 다음과 같습니다

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