Kollegor rapporterade att ett Java-program nyligen rapporterade ett fel med följande logg:
Orsakad av: com.coho.cloud.data.exception.BizException: I/O-fel på GET-förfrågan för "https://itsvse:88/rest/api": Den servervalda protokollversionen TLS10 accepteras inte av klienten preferenser [TLS12]; nästlade undantag är javax.net.ssl.SSLHandshakeException: Servervalts protokollversion TLS10 accepteras inte av klientinställningarna [TLS12] Sök online för att hitta orsakenDet kan vara så att den nya versionen av JDK inte rekommenderar att använda det gamla TLSV1.0-protokollet, så TLS10-stödet tas bort som standard。
Logga in på servern för att se de historiska kommandon som körts och se att uppdateringsoperationen har utförts, som visas i följande figur:
Kolla in JDK-versionen, enligt följande:
OpenJDK-version "1.8.0_292" OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10) OpenJDK 64-bitars server-VM (bygg 25.292-b10, blandat läge)
Använd följande kommando för att se installationsadressen till JDK och det laddade innehållet:
Hitta filen /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security, som bara är en mjuklänk, den faktiska filadressen är: /etc/java-8-openjdk/security/java.security, redigerajava.securityFil.
Ursprunglig konfiguration:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ include jdk.disabled.namedCurves Ändringarna är följande:
Servera om och kör Java-programmet igen.
(Slut)
|