当前位置:   article > 正文

Java java.io.IOException: Invalid keystore format问题解决

java.io.ioexception: invalid keystore format

问题描述:

        Caused by: java.io.IOException: Invalid keystore format

问题分析:

1、使用KeyStore.load()方法merlion.jks文件不对导致报错。

  1. /**
  2. * 获取 KeyPair
  3. * 生成 keypair 可按下述方法
  4. * keytool -genkey -alias merlion -keyalg RSA -storepass admin@123 -keysize 1024 -keystore merlion.jks -validity 3655
  5. *
  6. * @return KeyPair
  7. */
  8. @Bean
  9. public KeyPair keyPair() {
  10. try (InputStream inputStream = new ClassPathResource("keystore/merlion.jks").getInputStream()) {
  11. KeyStore keyStore = KeyStore.getInstance("jks");
  12. String alias = "merlion";
  13. char[] password = "admin@123".toCharArray();
  14. keyStore.load(inputStream, password);
  15. PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, password);
  16. PublicKey publicKey = keyStore.getCertificate(alias).getPublicKey();
  17. return new KeyPair(publicKey, privateKey);
  18. } catch (IOException | KeyStoreException | NoSuchAlgorithmException | CertificateException | UnrecoverableKeyException e) {
  19. throw new RuntimeException(e);
  20. }
  21. }

解决办法:

        打开jdk的bin目录,进入cmd窗口,执行keytool -genkey -alias merlion -keyalg RSA -storepass admin@123 -keysize 1024 -keystore merlion.jks -validity 3655命令,重新生成merlion.jks文件。再把生成的merlion.jks文件替换项目中原有的merlion.jks文件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/404689
推荐阅读
相关标签
  

闽ICP备14008679号