2012-10-31 2 views
1

유효한 P12 파일이 있습니다. X509certificate 객체를 인스턴스화해야 클라이언트 측 인증서로 사용할 수 있습니다.Blackberry의 P12 파일에서 X509Certificate을 인스턴스화하는 방법

는 이미 답이 여기에 비슷한 질문,

그러나 블랙 베리 How to instantiate javax.security.X509Certficate object from a p12 certificate (contains certificate + private key)이의의 getInstance (String) 메소드는 키 스토어를 사용할 수 없습니다 있다는 것을 알고 있습니다. DeviceKeyStore 및 TrustedKeyStore에서 사용할 수 있습니다. 그러나 우리는 "PKCS12"매개 변수를 getInstance() 메서드에 전달할 수 없습니다.

또한 DeviceKeyStore 또는 TrustedKeyStore에는 load 메쏘드가 없습니다. 그들은 set 방법을 가지고 있습니다. 하지만 우리가 fileinputstream 매개 변수를 어떻게 전달할 수 있는지는 잘 모르겠습니다.

아무도 시도한 적이 있습니까? 어떤 대체 방법을 사용할 수 있는지 알고 계십니까?

도움 주셔서 감사합니다.

편집 : PEM 파일 (Install SSL Certificate with BlackBerry App)에 대해이 작업을 수행하는 방법이 있는데, 처음에는이 기능을 사용하려고했습니다. 그러나 형식이 다릅니다. PEM은 Base64 형식이며 인증서 만 포함합니다.

답변

2

이렇게하기 위해 외부 응용 프로그램을 호출 할 수 있습니다. 부분적인 해결책이 있습니다 : http://supportforums.blackberry.com/t5/Java-Development/Handling-a-p12-certificate-store/td-p/654127

하지만 어떤 이유로 수입 메뉴가 없습니다! 코드 조각 :

Invocation certInvocation = new Invocation("path to .p12 on SD Card"); 
certInvocation.setResponseRequired(false); 
certInvocation.setID(BlackBerryContentHandler.ID_MEDIA_CONTENT_HANDLER); 
certInvocation.setAction(ContentHandler.ACTION_OPEN); 
certInvocation.setType("application/x-pkcs12"); 

Registry registry = Registry.getRegistry(Application.class.getName()); 
try { 

    registry.invoke(certInvocation); 
} 
catch (Throwable t) {} 
관련 문제