Я пытаюсь открыть хранилище ключей с помощью следующего кода, но получаю исключение. Недопустимый формат хранилища ключей.
Я пробовал с java -1.7.0-openjdk-1.7.0.251.x86_64 и java -1.8.0-openjdk-1.8.0.242.b07-1.el6_10.x86_64, но ошибка остается той же
, когда я пытаюсь открыть хранилище ключей на сервере с помощью команды:
keytool -list -keystore /usr/local/M2M/M2M_DMP_BATCH/jvm/conf/keystore.jks
это вроде бы нормально, и это тип JKS. Не могли бы вы помочь мне найти причину?
KeyStore ks = null;
try {
ks = KeyStore.getInstance("JKS");
} catch (KeyStoreException e) {
LOGGER.debug("Problem with keystore default type : {}", e.getMessage());
}
LOGGER.debug("defaultPwd : {}", defaultPwd);
char[] password = defaultPwd.toCharArray();
LOGGER.debug("Keystore path : {}", keystorePath);
try (FileInputStream fis = new FileInputStream(keystorePath)) {
LOGGER.debug("FileInputStream in bytes : {}", fis.read());
if (ks != null) {
ks.load(fis, password);
}
} catch (FileNotFoundException e) {
LOGGER.debug("Problem with keystore file : {}", e.getMessage());
} catch (IOException e) {
LOGGER.debug("Problem with keystore loading : {}", e.getMessage());
} catch (CertificateException e) {
LOGGER.debug("Problem with certificate loading : {}", e.getMessage());
} catch (NoSuchAlgorithmException e) {
LOGGER.debug("Problem with algorithm : {}", e.getMessage());
}
return ks;
}