无法访问HTTPS资源
在某些情况下,我们需要通过baskserver访问第三方的资源,而对应的资源开启了https服务,这种情况下会出现如下的错误:
avax.net.ssl.SSLHandshakeException: javasecurity.cert,(ertificatexception: Mo subject alternative DlS name matching
或则:
No subject alternative names present
比较常见的场景有报表PDF导出时对应的https的图片资源为空。
这种情况下我们可以把对应的资源服务器的证书导出为cer或crt,之后报表服务器的jvm导入这个证书就可以了。
证书生成参考命令:
keytool -genkey -v -alias imageserver -keyalg RSA -validity 3650 -keystore imageserver.keystore -ext SAN=dns:image.abc.com,ip:192.168.18.104
证书导出参考命令:
keytool -export -alias imageserver -keystore imageserver.keystore -storepass 123456 -rfc -file imageserver.crt
证书导入参考命令:
keytool -import -imageserver -file imageserver.cer -keystore “%JAVA_HOME%/jre/lib/security/cacerts” -storepass changeit