https改造-加载证书-DerInputStream.getLength(): lengthTag=111, too big.

发布于:2024-07-26 ⋅ 阅读:(182) ⋅ 点赞:(0)

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


https改造-加载证书-DerInputStream.getLength(): lengthTag=111, too big.

1. 失败处

		@Value("${server.ssl.key-store:classpath:yzy.p12}")
        private String keyStorePath;
        Resource keyStoreResource = resourceLoader.getResource(keyStorePath);

        KeyStore keyStore = KeyStore.getInstance("PKCS12");
        try (InputStream keyStoreInputStream = keyStoreResource.getInputStream()) {
            keyStore.load(keyStoreInputStream, keyStorePassword.toCharArray());
        }

其中keyStore.load(keyStoreInputStream, keyStorePassword.toCharArray());
的时候报错DerInputStream.getLength(): lengthTag=111, too big.

2. 失败原因

在maven编译过程中密钥文件被修改了,所以解决问题的关键就是不要让maven打包过程中修改这个密钥文件。

3. 解决

第一种方式,不使用Resource方式,使用绝对路径。

第二种添加组件:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <configuration>
         <encoding>UTF- 8 </encoding>
         <!-- 过滤后缀为pem、pfx的证书文件 -->
         <nonFilteredFileExtensions>
             <nonFilteredFileExtension>pem</nonFilteredFileExtension>
             <nonFilteredFileExtension>pfx</nonFilteredFileExtension>
            <nonFilteredFileExtension>p12</nonFilteredFileExtension>
         </nonFilteredFileExtensions>
     </configuration>
</plugin>


网站公告

今日签到

点亮在社区的每一天
去签到