2013-05-20 2 views
2

나에게 주어진 개인 및 공개 키 파일을 사용하는 방법을 이해하는 데 어려움을 겪고 있습니다.BouncyCastle을 사용하여 파일에서 공용/개인 키를 검색하려면 어떻게합니까?

나는 두 개의 파일로 public.pemprivate.pem을 가지고 있습니다. BouncyCastle을 사용하여 공개 키와 개인 키를 얻으려고합니다.

public class KeyReaders { 

    public static class PublicKeyReader { 

     public static byte[] get(String filename) 
       throws Exception { 

      FileReader f = new FileReader(filename); 

      PEMParser pp = new PEMParser(f); 
      SubjectPublicKeyInfo o = (SubjectPublicKeyInfo)pp.readObject(); 

      return o.parsePublicKey().getEncoded(); 
     } 
    } 

    public static class PrivateKeyReader { 

     public static byte[] get(String filename) 
       throws Exception { 

      FileReader f = new FileReader(filename); 

      PEMParser pp = new PEMParser(f); 
      PEMKeyPair o = (PEMKeyPair)pp.readObject(); 


      return o.getPrivateKeyInfo().getEncoded(); 
     } 
    } 
} 

내가 파일을 디코딩이 키를 사용하는 방법을 알아낼 수없는 것 : 나는 시도하고 키를 추출하는이 클래스를 썼습니다. 나는 개인 키를 해독 할 수없는 test.txt 파일이 있습니다. 나는 이것이 .PEM 파일을 읽는 적절한 방법조차 확실하지 않다.

그렇다면 BouncyCastle을 사용하여 개인 키 파일이 주어진 텍스트 파일을 어떻게 디코딩합니까?

+0

즉시 'byte []'로 다시 인코딩하면 실수로 보입니다. 모든 암호화 API는 당신이 해독 한'PublicKey' 또는'PrivateKey'를 요구할 것입니다. – erickson

+0

기본 PublicKey와 PrivateKey를 얻는 방법을 알아내는 데 어려움을 겪고 있습니다. – meriley

답변

0

일반 JCA 키 쌍을 생성하려고한다고 가정합니다. JcaPEMKeyConverter 클래스를 사용해 보셨습니까? org.bouncycastle.openssl.jcajce 패키지에 있습니다.

관련 문제