项目挂统一认证,使得系统通讯需要通过签名和加密进行传输。
用的JDK版本: Oracle JDK 1.8.0_091。
本地测试时候发现,项目启动时,会出现报错:java.security.NoSuchProviderException: no such provider: IBMJCE 问题。
通过小伙伴的帮忙,发现只要引入如下两个依赖即可。
<dependency>
<groupId>com.ibm.crypto</groupId>
<artifactId>ibmjce provider</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.ibm.security</groupId>
<artifactId>ibmpkcs</artifactId>
<version>1.0</version>
</dependency>
然而我的小伙伴并没有出现这个问题,对我并没有什么用。于是我就开始网上查找问题。
经分析发现,不但要引入这两个以来,还要把JDK版本升级到 1.8.0_171。
网上有说系统服务算是基于SUN JDK 1.8.0_161开发的。我还没有去验证过。