2012-07-29 15 views
7

संभव डुप्लिकेट:
How are SSL certificate server names resolved/Can I add alternative names using keytool?होस्ट नाम (सीएन) के रूप में आईपी पता? (HTTPS होस्ट नाम गलत: <ipAddress> होना चाहिए)

मैं एक प्रमाण पत्र बनाया है और अपने सर्वर का आईपी पता जो xxx.xxx में है सीएन सेट .xxx.xxx प्रारूप। लेकिन जब मैं जावा में अपना कोड चलाने की कोशिश करता हूं, तो मुझे HTTPS hostname wrong: should be <xxx.xxx.xxx.xx> त्रुटि संदेश मिल रहा है।

क्या गलत हो सकता है? मुझे यकीन है कि मैं सही आईपी पते से जुड़ रहा हूं। हालांकि, मैंने प्रमाण पत्र पर सर्वर के बंदरगाह को निर्दिष्ट नहीं किया है। सीएन के लिए मूल्य की आपूर्ति करते समय बंदरगाह की आवश्यकता है? लेकिन मैं https के लिए डिफ़ॉल्ट पोर्ट का उपयोग कर रहा हूं जो 8443 है। इसके अलावा, मैंने अपने सीएन को अपने सर्वर के आईपी पते से "लोकलहोस्ट" में बदलने की कोशिश की। यह उसके बाद काम करता है। मैं सोच रहा हूं कि सीएन भाग आईपी पते को मूल्य के रूप में स्वीकार नहीं करता है?

क्या आप कृपया बता सकते हैं कि सीएन कैसे काम करता है और इसके लिए आवश्यक मूल्य क्या है?

धन्यवाद!

+1

डाउनवॉटर के लिए: नामों की तलाश * परिभाषा रनटाइम विशिष्ट है * इस मामले में जावा रनटाइम के लिए - और इसलिए विषय पर है। यदि यह प्रश्न डाउनवॉटेड है, तो ऑफ- विषय शायद एक अच्छा कारण नहीं है। –

उत्तर

22

आपको जिस प्रमाणपत्र को प्रमाणपत्र में डालने की आवश्यकता है वह यूआरएल के माध्यम से आप जो खोज रहे हैं उसे होना चाहिए। उदाहरण के लिए, यदि आप https://www.example.net का उपयोग कर रहे हैं, तो आपके प्रमाणपत्र को www.example.net के लिए मान्य होना चाहिए; यदि आप https://10.0.0.1/ का उपयोग कर रहे हैं, तो आपके प्रमाणपत्र को 10.0.0.1 के लिए मान्य होना चाहिए।

प्रमाण पत्र के विषय डीएन में आम नाम आरडीएन सामान्य रूप से केवल तब उपयोग किया जाता है जब (ए) कोई विषय वैकल्पिक नाम DNS प्रविष्टि नहीं है और (बी) यह एक होस्ट नाम की तलाश में है, न कि आईपी पता। यह RFC 2818 Section 3.1 में परिभाषित किया गया है:

यदि कोई विषय एल्टननाम प्रकार का प्रकार dNSName मौजूद है, तो इसे पहचान के रूप में उपयोग किया जाना चाहिए। अन्यथा, (सबसे विशिष्ट) सामान्य प्रमाण पत्र के विषय फ़ील्ड में नाम फ़ील्ड का उपयोग किया जाना चाहिए। हालांकि आम नाम का उपयोग मौजूदा अभ्यास है, यह बहिष्कृत है और प्रमाणन प्राधिकरणों को इसके बजाय dNSName का उपयोग करने के लिए प्रोत्साहित किया जाता है।

[...]

कुछ मामलों में, यूआरआई के बजाय एक होस्ट नाम एक आईपी पता के रूप में निर्दिष्ट किया जाता है। इस मामले में, iPAddress subjectAltName प्रमाणपत्र में मौजूद होना चाहिए और यूआरआई में बिल्कुल आईपी से मेल खाना चाहिए।

सामान्य में, प्रमाण पत्र में IP पते का उपयोग अनुशंसित नहीं है (RFC 6125 में वर्णित समस्याओं को देखते हैं। हालांकि, अगर आप वास्तव में करने की जरूरत है, तो आप आईपी पते के साथ एक प्रमाण पत्र की आवश्यकता होगी है आईपी पते प्रकार का एक सैन प्रविष्टि , जिसे आप this answer में वर्णित के रूप में उत्पन्न कर सकते हैं।

+0

हम्म, मेरा एसएसएल जंगली हो रहा है, इसके बजाय आपको वोट दे रहा है :) –

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