Java 7 Oracle은 TLSv1.2를 지원하지 않습니다. 내 코드를 실행하려고 노력하고 난 다음 일을 시도 :Java 7 Oracle은 TLSv1.2를 지원하지 않습니다.
System.setProperty("deployment.security.TLSv1.1", "false")
System.setProperty("deployment.security.TLSv1", "false")
System.setProperty("deployment.security.TLSv1.2", "true")
System.setProperty("https.protocols", "TLSv1.2")
System.setProperty("https.cipherSuites", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,AES_256_GCM,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384")
를 그것은 도움이되지 않습니다.
Java7 애플리케이션에 Tlsv1.2를 강제로 적용하려면 어떻게해야합니까? 기본적으로 TLS1.2를 사용하는 java8을 사용하여 프로그램을 실행할 수 있으며 모든 것이 완벽하게 작동합니다.
Java7에서 oracle로 어떻게 할 수 있습니까?
나는 또한 /usr/lib/jvm/java-7-oracle/jre/lib/security
에 들어가려고했지만 jdk.tls.disabledAlgorithms=SSLv2Hello, SSLv3, TLSv1
을 사용할 수 없지만 여전히 작동하지 않습니다.
내가 잘못 했나요?
가 오류 :
0000: 02 28 .(
main, READ: TLSv1 Alert, length = 2
main, RECV TLSv1 ALERT: fatal, handshake_failure
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
166 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Connection [email protected] closed
166 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Connection [email protected] shut down
main, called close()
main, called closeInternal(true)
[main] DEBUG org.apache.http.impl.conn.BasicClientConnectionManager - Releasing connection [email protected]
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:533)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:401)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:214)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:160)
응용 프로그램이 바람둥이에서 실행됩니다? –
아니요. 나는 서비스에 GET 요청을하고있다. java8을 사용하면 쉽게 할 수 있습니다. 또한 내 Chrome 브라우저를 사용하여 요청의 결과를 볼 수 있습니다. – orange14
SSL 컨텍스트는 어떻게 구합니까? 'SSLContext context = SSLContext.getInstance ("TLSv1.2");'? – dosdebug