使用httpclient調用https的接口,報錯:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
經過排查,Centos7.6環境下安裝的JDK是openjdk1.8,是jdk的安全配置有限制。
找到文件
vim /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security
找到屬性
jdk.tls.disabledAlgorithms
去掉對TLSv1的限制,如果不行去掉SSLv3的限制,主要看服務端是使用的什麼類型。
去掉後的配置
jdk.tls.disabledAlgorithms=SSLv3, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
保存文件後,重啓服務即可正常訪問。