-1
여기서 RunTime 동안 클라이언트 개인 키를 사용하여 키 저장소를 만들려고합니다. privateKey를 키 스토어에로드하는 중입니다.RSA 비공개 키를 사용하여 키 스토어 만들기
JKS 유형 :
clientKey=-----BEGIN RSA PRIVATE KEY----- ...-----END RSA PRIVATE KEY-----"
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(new ByteArrayInputStream(clientKey.getBytes()), "*********".toCharArray());
Exception:
java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:658)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
PKCS12 유형이 문제를 해결하기 위해
clientKey=-----BEGIN RSA PRIVATE KEY----- ...-----END RSA PRIVATE KEY-----"
KeyStore keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(new ByteArrayInputStream(clientKey.getBytes()), "*********".toCharArray());
Exception:
java.io.IOException: toDerInputStream rejects tag type 45
at sun.security.util.DerValue.toDerInputStream(DerValue.java:847)
at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1915)
at java.security.KeyStore.load(KeyStore.java:1445)
이 도와주세요.
개인 키는 모든 형식의 키스톤이 아닙니다. 너가 묻고있는, 또는 시도하고있는 것이 명확하지 않은 이유, 또는 이것이 왜 효과가있을 것이라고 생각했는지. – EJP