लघु संस्करण: क्या किसी को पता है कि अगर 509 क्लाइंट प्रमाण पत्र कर रहे हैं चाहिए IMAP मेल के लिए iPad पर काम करने के लिए? क्या मैं अपना समय बर्बाद करने की कोशिश कर रहा हूं ताकि एक ऐसी सुविधा मिल सके जो काम करने के लिए काम नहीं करती है? अगर अंतर्निहित मेल ऐप X.509 क्लाइंट सेर्ट्स के साथ IMAP का समर्थन नहीं करता है (यानी: वे केवल Microsoft Exchange ActiveSync खातों के साथ काम करते हैं), तो क्या कोई 3 पार्टी ऐप हैं?
केवल iOS 5.1 या नया ब्याज है; 5.1 वह संस्करण है जिसके साथ मैं परीक्षण कर रहा हूं।
मैं हमारे IMAP मेल सर्वर (साइरस IMAPd) और SMTP सर्वर (पोस्टफ़िक्स) सहित सभी बाहरी संचार की सुरक्षा के लिए X.509 क्लाइंट प्रमाणपत्र का उपयोग करने के लिए नीति द्वारा आवश्यक नेटवर्क का व्यवस्थापक हूं। मान्य X.509 क्लाइंट प्रमाणपत्र पेश करने वाले क्लाइंट के बिना न तो कोई कनेक्शन स्वीकार करेगा। ग्राहक प्रमाणपत्र की आवश्यकता को अक्षम करना मेरे लिए कोई विकल्प नहीं है, और हमें इसी तरह के कारणों के लिए वीपीएन के माध्यम से सुरंग में यातायात की अनुमति नहीं है।
अब हमारे पास iPad उपयोगकर्ता हैं जो हमारे नेटवर्क से कनेक्ट करना चाहते हैं, और iPad को कुछ समस्या होने का पता लगा रहे हैं।
डेस्कटॉप मशीनों पर उपयोगकर्ताओं के लिए हम आम तौर पर थंडरबर्ड स्थापित करते हैं, क्योंकि इसमें उत्कृष्ट ग्राहक प्रमाणपत्र समर्थन के साथ ठोस ठोस IMAP है; यह "बस काम करता है" और हर मंच पर समर्थन करने के लिए समान है। यह iPad के लिए एक विकल्प नहीं है।
दुर्भाग्य से iPad के अंतर्निहित मेल ऐप IMAP के लिए क्लाइंट प्रमाणपत्र के साथ सामना नहीं करता है। मैं iPhone कॉन्फ़िगरेशन उपयोगिता का उपयोग करके हमारे org के रूट प्रमाणपत्र और उपयोगकर्ता के क्लाइंट प्रमाणपत्र को स्थापित कर सकता हूं। दोनों को सेटिंग्स में "सत्यापित" के रूप में दिखाया गया है-> सामान्य-> प्रोफ़ाइल। IPad तब हमारे सर्वर को विश्वसनीय मानता है और सर्वर की पहचान सत्यापित नहीं होने के बारे में किसी भी चेतावनी को छोड़ देता है।
मेल तब भी क्लाइंट सर्टिफिकेट भेजने में विफल रहता है जब एक की मांग की जाती है ताकि सर्वर हैंडशेक को समाप्त कर दे। यह उपयोगकर्ता को एक का चयन करने के लिए संकेत नहीं देता है, और न ही यह सर्वर द्वारा प्रस्तुत सीए प्रमाण पत्र से मेल खाने वाले उपयोगकर्ता के लिए स्थापित क्लाइंट प्रमाण पत्र को स्वचालित रूप से भेजता है।
क्लाइंट और सर्वर के बीच ट्रैफ़िक प्रवाह की जांच से पता चलता है कि टीएलएस वार्ता विफल हो जाती है जब आईपैड क्लाइंट प्रमाणपत्रों के खाली सेट के साथ प्रतिक्रिया करता है जब क्लाइंट प्रमाणपत्र सर्वर द्वारा मांग की जाती है। निचे देखो।
जब एन्क्रिप्ट किए गए वाईफाई पर आंतरिक नेटवर्क से जुड़ा होता है, जहां मेल प्राप्त करने के लिए कोई क्लाइंट प्रमाण पत्र की आवश्यकता नहीं होती है, तो डिवाइस ठीक से मेल जोड़ता और डाउनलोड करता है। बाहरी पहुंच (सार्वजनिक WiFi या 3G पर) विफल रहता है, चाहे मैं "उपयोग एसएसएल" चेक के साथ आईएमएपी पोर्ट 993 का उपयोग करता हूं या आईएमएपी + टीएलएस पोर्ट 143 के साथ या बिना "उपयोग एसएसएल" चेक किए। IMAP के लिए क्लाइंट प्रमाणपत्र बातचीत समर्थन की स्पष्ट कमी के अलावा, यह एकदम सही है।
Apple के "एंटरप्राइज सपोर्ट" के लिए डॉक्यूमेंटेशन में क्लाइंट सर्टिफिकेट सपोर्ट का संदर्भ केवल वहीं दिखाई देता है जहां Microsoft Exchange ActiveSync पर चर्चा की जाती है, और जहां सिस्को वीपीएन सपोर्ट पर चर्चा की जाती है।
Apple के चर्चा मंचों पर कुछ सवाल हैं, लेकिन हाल ही में कोई भी और कोई उपयोगी जवाब नहीं है। मैं उनसे लिंक करूँगा, लेकिन फ़िलहाल Apple के फोरम "रखरखाव के लिए नीचे" हैं।
वर्कअराउंड के रूप में मैं संभवतः एक क्लाइंट-प्रमाणित को IPSec वीपीएन से बात करने के लिए iPad के स्वचालित वीपीएन कनेक्शन समर्थन का उपयोग करके एक लॉक डाउन वीपीएन सेट कर सकता हूं जो केवल उचित पोर्ट प्लस DNS पर IMAP और SMTP सर्वर से बात कर सकता है , और कुछ नहीं। यह एक सुंदर भीषण हैक करने के लिए हालांकि स्थायी करना होगा।
BTW, क्लाइंट <-> सर्वर वार्तालाप है:
- C -> S TLSv1 क्लाइंट हैलो
- S -> C TLSv1 सर्वर नमस्कार
- S -> C TLSv1 सर्टिफिकेट, सर्टिफिकेट रिक्वेस्ट, सर्वर हैलो डोन (सर्वर सर्टिफिकेट, रूट सर्टिफिकेट पर हस्ताक्षर करना, स्वीकृत क्लाइंट सर्टिफिकेट हस्ताक्षरकर्ता का डीएन जो कि सर्वर सर्टिफिकेट पर हस्ताक्षर किए गए रूट के समान होता है)
- सी -> एस टीएलएसवी 1 सर्टिफिकेट (प्रमाणपत्रों का खाली सेट, शून्य सेर शामिल)
- एस -> सी TLSv1 हैंडशेक विफलता
दूसरे शब्दों में, सर्वर कहता है "यह मैं हूं, मैं आपसे यह साबित करने के लिए प्राधिकारी द्वारा हस्ताक्षरित एक प्रमाण पत्र प्रदान करता हूं कि आप कौन हैं" और ग्राहक जवाब देता है "उम, मेरे कागजात इस खाली लिफाफे में यहां हैं। देखो, एक कैसोवरी! "
क्लाइंट के पास रूट प्रमाणपत्र स्थापित है, और क्लाइंट प्रमाणपत्र स्थापित है जिसमें सर्वर द्वारा हस्ताक्षरित डीएन की मांग है।