Ich schreibe einen Testcode (nicht HTTPS), um TLS mit JDK8 zu testen. Wenn der Test Code ausgeführt wird, verwende ich nmap-Tool zum Scannen und wie folgt Ergebnis:Wie kann ich TLSv1 deaktivieren, ohne den Quellcode zu ändern?
D:\softwares\nmap-7.12>nmap -p xxxx --script=ssl* x.x.x.x --unprivileged
Starting Nmap 7.12 ( https://nmap.org ) at 2016-07-26 15:33 °?′óà????÷2?±ê×?ê±??
Nmap scan report for x.x.x.x
Host is up (1.0s latency).
PORT STATE SERVICE
xxxx/tcp open unknown
| ssl-enum-ciphers:
| TLSv1.0:
| ciphers:
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) -A
| compressors:
| NULL
| cipher preference: indeterminate
| cipher preference error: Too few ciphers supported
| TLSv1.1:
| ciphers:
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) -A
| compressors:
| NULL
| cipher preference: indeterminate
| cipher preference error: Too few ciphers supported
| TLSv1.2:
| ciphers:
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) -A
| compressors:
| NULL
| cipher preference: indeterminate
| cipher preference error: Too few ciphers supported
|_ least strength: A
MAC Address: xx:xx:xx:xx:xx:xx
Nmap done: 1 IP address (1 host up) scanned in 3.88 seconds
D:\softwares\nmap-7.12>
JDK8 TLSv1.0 als Standard ermöglicht, aber ich möchte sie deaktivieren.
Protocols
The SunJSSE provider supports the following protocol parameters:
Protocol Enabled by Default for Client Enabled by Default for Server
SSLv3 No(Unavailable Footnote 2) No(Unavailable Footnote 2)
TLSv1 Yes Yes
TLSv1.1 Yes Yes
TLSv1.2 Yes Yes
https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSE_Protocols
I "setEnabledProtocols" Methode der javax.net.ssl.SSLEngine Klasse auf meinem Test-Code aufrufen, kann TLSv1.0 vollkommen deaktiviert werden. Gibt es eine Möglichkeit, TLSv1.0 ohne Änderungscode zu deaktivieren? zum Beispiel über die Konfigurationsdatei.
ich versuchte mehrere Methoden wie folgen, aber niemand kann die gewünschte Wirkung :(
1. -Djdk.tls.client.protocols = TLSv1.1, TLSv1.2
2. -Ddeployment.security.TLSv1 = erzielen Hier falsche
ist die Java-Version:
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
Caveat emptor, '-d' werden * für' jdk.tls nicht * Arbeit .disabledAlgorithms', wie Sie es vorgeschlagen haben, sollte in 'java.security' gehen. – kubanczyk