私は 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;
}
そしてそれは私を返します:暗号化されていないキー - パスワードは必要ありません
いくつかの方法を試しましたが、成功しませんでした。
私を助けてくれてありがとう:)