我有一个在tomcat8 + jDK1.8环境下运行的java web-app。我使用自签名证书为我的网络应用启用了SSL(我尝试使用keytool生成的证书) - 例如:keytool -genkey -keyalg RSA -alias tomcat -keystore selfsigned.jks
我的应用程序可以正常使用SSL - 直到我在我的应用程序中调用一个模块进行外部API调用(这是在服务器端java代码中完成的)。此外部API不受保护(http),我们使用Apache CXF与此API通信并获取数据。这个API调用最初工作正常,我第一次正确加载数据和页面。但是这个操作在我的Web服务器上触发了一些东西并导致它的ssl引擎关闭。或者此外部API调用导致客户端浏览器(Chrome)无法通过SSL连接。
因此,如果刷新页面,则不会加载任何内容,并且我开始在控制台上看到几个SSL错误&net;#34; net :: ERR_SSL_PROTOCOL_ERROR"。 一旦我进入这种状态,我必须重新启动我的tomcat再次工作。
启用ssl调试,我看到以下内容: http-nio-8443-exec-10,RECV TLSv1.2 ALERT:致命,bad_record_mac http-nio-8443-exec-10,致命:发动机已关闭。重新抛出javax.net.ssl.SSLException:收到致命警报:bad_record_mac http-nio-8443-exec-10,致命:发动机已关闭。重新抛出javax.net.ssl.SSLException:收到致命警报:bad_record_mac
请帮我解决这个问题。我假设我们不需要为外部API调用提供任何ssl配置,因为它不是https。