采购的BI软件需要集成公司cas 单点登录(java语言),单点集成时无法访问安全的单点地址:https://abc/xxx,只能访问http://abc/xxx。BI软件无法识别/信任公司的ssl证书,具体的原因还不清楚,查询资料可以手动导入信任的证书到jdk中。这里先抛个问题,BI服务没有识别公司ssl证书的原因?jdk里面可能没有根证书,但是操作系统目录/etc/ss/certs下面可以查询到公司的ssl证书。查询操作系统里面所有根证书命令如下所示。
cd /etc/ss/certs
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-bundle.trust.crt|grep GlobalSign
手动导入证书到jdk的步骤如下所示:
浏览器导出证书
地址栏域名安全(锁)标识右键 -> 证书有效 -> 详细信息 -> 复制到文件 ->DER编码二进制导出到本地
查询BI软件jvm进程执行时java路径
ps -ef|grep java
假如jvm执行时的java路径为: /xxx/jdk1.8/jre/lib/security
进入java下面的jre/lib/security路径
先把之前浏览器导出的证书上传到 /xxx/jdk1.8/jre/lib/security
cd /xxx/jdk1.8/jre/lib/security
keytool -import -trustcacerts -alias 证书别名 -file 证书文件 -keystore cacerts -storepass changeit
重启BI服务,命令省略
其他命令:
#查看证书是否已经导入
keytool -list -alias 证书别名 -keystore cacerts -storepass changeit
#根据别名删除已经导入证书
keytool -delete -alias 证书别名 –keystore cacerts
|