2013-02-26 103 views
5

जावा 7 client support for SNI लाता है। क्या एसएनआई सर्वर की भूमिका के खुले स्रोत कार्यान्वयन ज्ञात हैं? जावा "ट्रांसपेरेंट सपोर्ट" टीएलएस कनेक्शन (हैंडशेक समेत) प्रदान करता है, लेकिन मुझे हैंडशेक प्रक्रिया को कम करने की आवश्यकता है ताकि मैं एसएनआई होस्ट_नाम एक्सटेंशन के आधार पर प्रमाण पत्र वापस भेज सकूं।सर्वर भूमिका में सर्वर नाम संकेत (एसएनआई) के लिए जावा समर्थन?

ऑनलाइन दस्तावेज़ीकरण को ढूंढने में विफल होने के बाद, मैंने ओपनजेडीके स्रोत कोड में देखा, लेकिन ऐसा लगता है कि जावा क्लाइंटहेल्लो संदेश भेजता है इससे पहले कि मैं क्लाइंटहेल्लो संदेश भेजूं।

उत्तर

1

मुझे जावा 7 के लिए ज्ञात ओपन-सोर्स कार्यान्वयन के बारे में पता नहीं है, लेकिन सर्वर एसएनआई समर्थन coming in Java 8 है। यदि आप इसे जावा 7 पर बैक-पोर्ट करते हैं, तो मुझे जानना अच्छा लगेगा।

0

मैं खुद एक ही समस्या में आया और एक ओपन सोर्स लाइब्रेरी लिखना समाप्त कर दिया: TLS Channel। लाइब्रेरी का दायरा वास्तव में बड़ा है: यह एसएसएलईजीएनईएन (जो गंभीरता से सीधे उपयोग करने में कठोर है) के लिए एक पूर्ण अमूर्त है, इसे बाइट चैनल के रूप में उजागर करना।

एसएनआई के संबंध में, लाइब्रेरी एसएसएलईजीएनईएन बनाने से पहले पहले बाइट्स का पार्सिंग करता है। उपयोगकर्ता प्राप्त डोमेन नाम के आधार पर SSLContexts का चयन करने के लिए, सर्वर चैनल पर फ़ंक्शन की आपूर्ति कर सकता है।