项目

一般

简介

应用系统调用https接口的问题

佘 肃徽大约 3 年 之前添加

问题描述:

在应用系统部署到AAS10中,发现在调用第三方https接口时,会产生ssl信任库相关的错误:

[com.jeecg.hszh.zyz.hdgl.controller.THhZyzHdController]登录I志愿出错------------->java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

原因分析:原因为aas10配置了默认的信任库 cacerts.jks,是不没有经过根信任的证书,在调第三方接口的时候被认为是不受信任的调用被拒绝。

处理方法:通过导入jdk的默认证书链到cacerts.jks .具体操作为:

keytool -importkeystore -srckeystore ./cacerts -destkeystore ./cacerts.jks -srcstorepass changeit -deststorepass changeit

用这个命令把jdk的内置证书脸导入到aas的信任库中,cacerts是jdk的内置证书。

备注:jdk的证书的位置jre/lib/security/cacerts    aas的信任库在mydomain/config/cacerts.jks