通过this.getClass().getResourceAsStream()读入数据
KeyStore keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(instream, mchId.toCharArray());
报错:
DerInputStream.getLength(): lengthTag=111, too big.
原因:打包时证书文件被篡改
解决办法:
1.spring-boot
<build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <!--排除证书文件--> <exclude>**/*.p12</exclude> </excludes> </resource> <resource> <directory>src/main/resources</directory> <!--避免证书文件被篡改--> <filtering>false</filtering> <includes> <include>**/*.p12</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins></build> 2.apache
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> <!-- 过滤后缀为p12的证书文件 --> <nonFilteredFileExtensions> <nonFilteredFileExtension>p12</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration></plugin>
原文地址:https://www.cnblogs.com/lizg-blogs/p/10323419.html
时间: 2024-11-10 13:20:13