인증서를 읽고 그 결과로 usb 토큰에서 공개 키와 개인 키를 읽는 애플릿이 있습니다. 토큰을 연결할 때마다 PrivateKey에 대한 액세스 권한을 읽을 수 있지만 인증 및 키를 서블릿에 게시해야하는 암호화 된 환경이 있으며이 서블릿은 내 애플리케이션에서 선택한 파일에 서명합니다. 내보낼 수있는 PrivateKey가있는이 토큰을 얻을 때까지 제대로 작동했습니다.애플릿을 사용하여 토큰에서 개인 키 가져 오기
PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, PIN.toCharArray());
그런 다음 디코더를 사용하여 바이트 배열을 BASE64로 변환하고 게시합니다.
sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
String base64encoded = encoder.encode(privateKey.getEncoded());
그러나,이 특정 토큰을 사용하여, 방법의 getEncoded(), privateKey.getEncoded (사용)는 항상 null를 돌려줍니다. 그래서 PrivateKey 객체에서 바이트 배열을 가져 오는 방법을 찾지 못했습니다.
가능한 방법이 있습니까?