1
나는 PEM 키를 가지고 있으며 그 키와 bouncycastle을 갖고 싶습니다. 나는이 코드가 좋다고 생각했지만 캐스트 예외가 있습니다.BouncyCastle을 사용하여 PEM 키에서 KeyPair 가져 오기
function loadKey() {
File privateKeyFile = new File(keyPath);
PEMParser pemParser = new PEMParser(new FileReader(privateKeyFile));
PEMDecryptorProvider decProv = new JcePEMDecryptorProviderBuilder().build(password.toCharArray());
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
Object object = pemParser.readObject();
KeyPair kp;
if (object instanceof PEMEncryptedKeyPair) {
Logger.info("Encrypted key - we will use provided password");
kp = converter.getKeyPair(((PEMEncryptedKeyPair) object).decryptKeyPair(decProv));
}
else {
Logger.info("Unencrypted key - no password needed");
kp = converter.getKeyPair((PEMKeyPair) object);
}
return kp;
}
그리고 그것은 나 반환 암호화되지 않은 키 - org.bouncycastle.asn1.x509.SubjectPublicKeyInfo 내가 여러 가지 방법하지만 난 시도
org.bouncycastle.openssl.PEMKeyPair
캐스트 할 수없는 필요 암호 없음 성공하지 못했습니다.덕분에 저를 도와 :)
참조하는 PEM이 개인 키입니까? 같은 방법을 사용하고 있습니다. –
잘 모르겠다. 나는 키가있는 초보자 다. 어떻게 알 수 있니? – user2119056
글쎄, 당신이 얻고있는 오류에 따라 - 그것은 당신이 개인 키가 아닌 인증서를 해독하는 것 같습니다. –