一、证书路径问题

  window下可以直接填写物理路径

  linux:可以将文件放置在classpath下。使用一下获取

String keyClasspath = Thread.currentThread().getContextClassLoader().getResource("/").getPath() + "cert/apiclient_cert.p12";

二、打包证书DerInputStream.getLength(): lengthTag=111, too big.

  微信支付接口需要用到公钥和私钥,密钥文件统一放到项目src/main/resources的某个目录下,然后打包部署到测试环境。

  报错:DerInputStream.getLength(): lengthTag=111, too big.

  原因:程序编译打包时候maven-resources-plugin,证书文件变化,密钥文件服务器上的文件md5值,与本地MD5值不一致

  解决方案:【打包时候排除证书文件编译】

<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>

 

相关文章:

  • 2021-08-25
  • 2021-12-09
  • 2021-11-13
  • 2021-10-04
  • 2022-12-23
  • 2021-11-13
  • 2022-12-23
  • 2021-05-30
猜你喜欢
  • 2022-12-23
  • 2021-07-18
  • 2022-12-23
  • 2021-06-04
  • 2021-05-09
  • 2021-09-22
相关资源
相似解决方案