004-微信证书问题

一、证书路径问题

  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>

 

posted @ 2018-04-05 09:48  bjlhx15  阅读(618)  评论(0编辑  收藏  举报
Copyright ©2011~2020 JD-李宏旭