2012-03-17 16 views
13

मैं जानना चाहता हूं कि अपाचे टॉमकैट टीएलएस v1.2 प्रोटोकॉल का समर्थन करता है या नहीं। मुझे इसके बारे में कोई दस्तावेज नहीं मिला! धन्यवाद!क्या टोमकैट टीएलएस v1.2 का समर्थन करता है?

+0

बिलाव बिल्कुल टीएलएस समर्थन नहीं करता। यह या तो जावा (जेएसएसई के माध्यम से) या ओपनएसएसएल है जो इसका समर्थन करता है। वे जो टीएलएस का समर्थन करते हैं, वे किस संस्करण पर निर्भर करते हैं। आपका प्रश्न खराब गठित है। – EJP

उत्तर

11

टीएसएस संस्करण 1.2 जेएसएसई कार्यान्वयन में ओरेकल जेडीके संस्करण 7 द्वारा समर्थित है। चूंकि टोमकैट जेएसएसई को अंतर्निहित एसएसएल लाइब्रेरी के रूप में उपयोग करता है, इसे जेडीके संस्करण 1.7 के बाद से समर्थित किया जाना चाहिए। टॉमकैट में अपने सक्षम एसएसएल सिफर सुइट्स को भी देखें।

यदि आप प्रॉक्सी के रूप में अपाचे का उपयोग कर रहे हैं, तो कृपया अपाचे और अंतर्निहित ओपनएसएसएल दस्तावेज़ देखें।

कुछ लिंक:

http://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html (जावा SE 7 सुरक्षा संवर्द्धन)

http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html

http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html

+0

आपको बहुत बहुत धन्यवाद! मैं अंत में JSSE विन्यास का उपयोग कर बिलाव पर TLS v1.2 मिला है। – observer

+1

तुम मुझे पता है कि तुम सब उस के लिए परिवर्तित कर दिया कराएं, तो मैं कनेक्टर में sslProtocol = "TLSv1.1" निर्दिष्ट कोशिश की, लेकिन बात नहीं बनी। – Ashish

2

मैं भी TLSv1.1 करने के लिए और नीचे में उल्लिखित sslProtocol उन्नत करने के लिए देख रहा था जावा 6 और जावा 7 पर लिंक

जावा 6 http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html Java7 http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html

SSLContext Java6 में समर्थित एसएसएल, TLSv1 कर रहे हैं और Java7 एसएसएल, TLSv1, TLSv1.1 और TLSv1.2 में समर्थित हैं।

तो, टॉमकैट में TLSv1.1 या TLSv1.2 को सक्षम करने के लिए, बस जावा 7 में अपग्रेड करें और टोमकैट के server.xml में कनेक्टर में एसएसएलप्रोटोकॉल बदलें।

8

जैसा कि अन्य लोगों ने बताया है, टोमकैट जेडीके 7+ में जेएसएसई के माध्यम से टीएलएसवी 1.2 का समर्थन करता है।

टॉमकैट टीएमएसवी 1.1 या टीएलएसवी 1.2 का समर्थन नहीं करता है जब टॉमकैट मूल (एपीआर) के साथ उपयोग किया जाता है। https://issues.apache.org/bugzilla/show_bug.cgi?id=53952 देखें।

अद्यतन: ऐसा लगता है कि TLSv1.2 अंततः टॉमकैट मूल 1.1.32 और टॉमकैट 8.0.15/7.0.57 में समर्थित होगा।

9

मेरे पास एक समान उपयोग केस है, जो कि टॉमकैट 7 को केवल टीएलएसवी 1.2 का सख्ती से उपयोग करने के लिए सक्षम बनाता है, जो पहले एसएसएल प्रोटोकॉल जैसे टीएलएसवी 1.1 या एसएसएलवी 3 पर वापस नहीं आ सकता है। निम्नलिखित चरण जवाब देंगे कि टॉमकैट को TLSv1.2 का समर्थन करने के लिए कैसे सक्षम किया जाए।

मैं उपयोग कर रहा हूं: सी: \ apache-tomcat-7.0.64-64bit और सी: \ Java64 \ jdk1.8.0_60।

इस निर्देश के बाद: https://tomcat.apache.org/tomcat-7.0-doc/security-howto.html। टॉमकैट एसएसएल समर्थन स्थापित करने के लिए अपेक्षाकृत सरल है।

कई संदर्भों से मैंने कई संयोजनों का परीक्षण किया, अंततः मुझे 1 मिला जो टॉमकैट 7 को केवल टीएलएसवी 1.2 स्वीकार करने के लिए लागू करेगा।

1) सी में:: \ अपाचे-बिल्ला-7.0.64-64bit \ conf \ server.xml

<Connector port="8443" 
protocol="org.apache.coyote.http11.Http11Protocol" 
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 
keystoreFile="ssl/.keystore" keystorePass="changeit" 
clientAuth="false" sslProtocol="SSL" sslEnabledProtocols="TLSv1.2" /> 

जहां

keystoreFile = स्थानीय स्व-हस्ताक्षरित विश्वास 2 स्थानों को छूने के लिए की जरूरत स्टोर

org.apache.coyote.http11.Http11Protocol = JSSE बीआईओ कार्यान्वयन।

हम org.apache.coyote.http11.Http11AprProtocol का उपयोग नहीं है क्योंकि यह openssl द्वारा संचालित है है। अंतर्निहित ओपनएसएल पहले एसएसएल प्रोटोकॉल का समर्थन करने के लिए वापस आ जाएगा।

2) जब बिलाव शुरू, निम्नलिखित पर्यावरण मापदंडों सक्षम करें।

set JAVA_HOME=C:\Java64\jdk1.8.0_60 
set PATH=%PATH%;C:\Java64\jdk1.8.0_60\bin 
set CATALINA_HOME=C:\apache-tomcat-7.0.64-64bit 
set JAVA_OPTS=-Djdk.tls.client.protocols="TLSv1.2" -Dsun.security.ssl.allowUnsafeRenegotiation=false -Dhttps.protocols="TLSv1.2" 

JAVA_OPTS प्रतिबंध की आवश्यकता है, अन्यथा बिलाव (जो Java8 द्वारा संचालित है) पहले एसएसएल प्रोटोकॉल का समर्थन करना प्रारंभ कर देगा।

शुरू

बिलाव C: \ अपाचे-बिल्ला-7.0.64-64bit \ बिन \ startup.bat

हम देख सकते हैं JAVA_OPTS बिलाव स्टार्टअप लॉग में प्रकट होता है।

Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Djdk.tls.client.protocols=TLSv1.2 
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dsun.security.ssl.allowUnsafeRenegotiation=false 
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dhttps.protocols=TLSv1.2 

फिर, हम अपने सेटअप को सत्यापित करने के लिए openssl कमांड का उपयोग कर सकते हैं। पहले स्थानीयहोस्ट कनेक्ट करें: 8443 TLSv1.1 प्रोटोकॉल के साथ। टॉमकैट सर्वर प्रमाण पत्र के साथ जवाब देने से मना कर दिया।

C:\OpenSSL-Win32\bin>openssl s_client -connect localhost:8443 -tls1_1 
Loading 'screen' into random state - done 
CONNECTED(000001C0) 
5372:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:.\ssl\s3_pkt.c:362: 
--- 
no peer certificate available 
--- 
No client certificate CA names sent 
--- 
SSL handshake has read 5 bytes and written 0 bytes 

कनेक्ट स्थानीय होस्ट: 8443 TLSv1.2 प्रोटोकॉल के साथ, बिलाव प्रमाण पत्र के साथ उत्तर ServerHello:

C:\OpenSSL-Win32\bin>openssl s_client -connect localhost:8443 -tls1_2 
Loading 'screen' into random state - done 
CONNECTED(000001C0) 
depth=1 C = US, ST = Washington, L = Seattle, O = getaCert - www.getacert.com 
verify error:num=19:self signed certificate in certificate chain 
--- 
Certificate chain 
0 s:/C=SG/ST=SG/L=Singapore/O=Xxxx/OU=Development/CN=Myself 
    i:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com 
1 s:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com 
    i:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com 
--- 
Server certificate 
-----BEGIN CERTIFICATE----- 
(ignored) 
-----END CERTIFICATE----- 
subject=/C=SG/ST=SG/L=Singapore/O=Xxxx/OU=Development/CN=Myself 
issuer=/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com 
--- 
No client certificate CA names sent 
Peer signing digest: SHA512 
Server Temp Key: ECDH, P-256, 256 bits 
--- 
SSL handshake has read 2367 bytes and written 443 bytes 

यह साबित होता है कि बिलाव अब सख्ती से केवल TLSv1.2 अनुरोध का जवाब।

संबंधित मुद्दे