मुझे हाल ही में CocoaHttpServer को कॉन्फ़िगर करने की आवश्यकता है, जिसे हम क्लाइंट एप्लिकेशन (एंड्रॉइड डिवाइस पर चल रहे HTTPS कनेक्शन) से आने वाले HTTPS कनेक्शन को संभालने के लिए सफलतापूर्वक हमारे एप्लिकेशन में उपयोग कर रहे हैं। यह ठीक है - इसमें बहुत ही नमूना कोड है जो इसके लिए अनुमति देता है, और हम बिना किसी समस्या के सुरक्षित सर्वर को सक्षम करने में सक्षम थे।कोको में सीएफएसओकेट/सीएफस्ट्रीम का उपयोग करते समय एसएसएल सिफर कैसे सेट करता है?
व्यवहार में हम अविश्वसनीय रूप से लंबे समय से एसएसएल बातचीत चरणों को देख रहे थे, जबकि ग्राहक हमारे सर्वर के साथ अपने हेन्डशेकिंग कर रहा था - 70 सेकंड के ऊपर।
खोजों की एक लंबी श्रृंखला के माध्यम से, मैंने पाया कि देरी डिफ़ॉल्ट रूप से उपयोग Diffie-Hellman मापदंडों की गणना की वजह से था जब एसएसएल CFSocket में सक्षम है। यह thread वह जगह है जहां मैंने पहली बार अपनी समस्या का उत्तर खोजना शुरू कर दिया था।
हमारे विंडोज सर्वर क्या कर रहा था (एक कम सुरक्षित एसएसएल सिफर का उपयोग करके) मुझे मिलान करने के लिए मैक पर स्पष्ट रूप से सिफर सेट करने की आवश्यकता है, जो सॉकेट संचार के लिए एक रैपर के रूप में AsyncSocket का उपयोग करते समय आसान नहीं है।
हमारे विंडोज सर्वर का उपयोग किया गया था: TLS_RSA_WITH_RC4_128_MD5) (0x04) RC4 128 बिट MD5 आरएसए
हमारे Macintosh सर्वर उपयोग कर रहा था: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x039) एईएस 256 बिट SHA-1 अल्पकालिक Diffie-Hellman कुंजी विनिमय आरएसए प्रमाणपत्र
"सुरक्षा" में अंतर बड़ा है, लेकिन संभवतः हम प्रयास/गणना/देरी के लायक नहीं हैं जो हम देख रहे थे। सुरक्षा रंगमंच?
आपके प्रयासों के लिए एक +1, और "सुरक्षा रंगमंच" वाक्यांश का काम करने के लिए? आपकी पोस्ट में :-) –
यह उपयोगी है, लेकिन आपको जवाब को विभाजित करना चाहिए और इसे इस प्रश्न के उत्तर के रूप में पोस्ट करना चाहिए, इसलिए यह अनुत्तरित पृष्ठ पर हमेशा के लिए नहीं रहता है। (यह आपके अपने प्रश्न का उत्तर देने के लिए पूरी तरह से कोशेर है।) – benzado