web services डेल्फी वेबसाइब में ओपनएसएसएल का उपयोग करना-उपलब्ध प्रोटोकॉल और सिफर



web-services delphi (1)

मैं एक HTTPS कनेक्शन के लिए उपलब्ध सिफर के संबंध में अपने डेल्फी वेबसेवी में OpenSSL का उपयोग करने के बारे में थोड़ा भ्रमित हूँ।

सेट अप:

  • मेरा webservice क्लाइंट के सर्वर पर चलता है ओपनएसएसएल वहां स्थापित है क्लाइंट के प्रमाणपत्र को लोड करने के लिए webservice Indy (एक TIdHTTPWebBrokerBridge) और OpenSSL DLLs (TIdServerIOHandlerSSLOpenSSL के साथ) का उपयोग करता है
  • हमारे एंड्रॉइड / आईओएस क्षुधा एचटीटीपीएस पर इस वेबसाईट से जुड़ते हैं
  • क्लाइंट ने एक डोमेन और आईपी कॉन्फ़िगर किया है जो ऐप उपयोगकर्ता कनेक्ट कर सकते हैं और मेरे वेबसेवी तक पहुंच सकते हैं। अगर हम उस डोमेन का परीक्षण करते हैं जैसे एसएसएलएलएब्स सर्वर परीक्षण, हमें समर्थित सिफर और प्रोटोकॉल (एसएसएलएलएब्स भी उपकरणों और ब्राउज़रों से हाथ मिलाने के लिए नकल करता है और दिखाता है कि सिफर कैसे बातचीत की गई थी) का सिंहावलोकन मिलता है।

प्रश्न: क्या ऐप और वेबसाइज़र के बीच टीएलएस के हाथों के लिए उपलब्ध सिफर को प्रभावित करने के लिए / क्या मेरे वेबसेवरी (ओपनएसएसएल के साथ संयोजन में) कुछ भी कर सकता है ? क्या अतिरिक्त कुछ है जिसे ओपनएसएसएल के साथ सेटअप करने की आवश्यकता है?

मैंने सोचा कि इसका उत्तर 'नहीं' है, अर्थात यह सिर्फ सर्वर सेटअप है (एंड्रॉइड / आईओएस के माध्यम से ऐप के साथ हैंडशेक में) यह निर्धारित करता है कि कौन सा साइफर उपलब्ध सर्वर से इस्तेमाल करेगा क्या यह एक सही धारणा है? या मुझे कुछ याद आती है?
(तथ्य की बात के रूप में, मैं वास्तव में उपलब्ध सिफरों को सीमित करने या विस्तार करने में दिलचस्पी नहीं कर रहा हूं, लेकिन ग्राहक यह कहता है कि कुछ "काम" किया जाना चाहिए / में webservice / OpenSSL के साथ यह "क्षुधा" के साथ "सुरक्षित" संवाद करता है। SSLLabs परीक्षण से पता चलता है कि उनका डोमेन केवल टीएलएस 1.0 का समर्थन करता है और सीएसआरएस कुंजी एक्सचेंज तंत्र के साथ सिफर का समर्थन करता है, उदाहरण के लिए, कोई परफेक्ट फॉरवर्ड गोपनीयता नहीं। मुझे, ऐसा कुछ ऐसा दिखता है जिसे किसी भी तरह तय किया जाना चाहिए)।

टिप्पणियाँ:

  • यह ऐसा प्रश्न सुझाता है कि मुझे कुछ करना पड़ सकता है, लेकिन इसका कोई जवाब नहीं है।

  • मैंने पहले से कुछ संबंधित प्रश्न पोस्ट किया था , लेकिन इसका कोई उत्तर नहीं है

  • यह तो राज्यों में लिखा गया है कि ओपनएसएसएल ग्राहक के सिफर वरीयता को सम्मानित करता है, एसएसएल हैंडशेक के दौरान सर्वर की नहीं , जो फिर से सुझाव देते हैं कि मैं क्या कर सकता हूँ?

  • मुझे कुछ संदेह था कि यह सवाल सही जगह पर है (यहां तक ​​कि क्यों कि क्यों हम ग्राहक समर्थन नहीं करते हैं ), लेकिन चूंकि यह अधिक प्रोग्रामरों के लिए प्रासंगिक हो सकता है इसलिए मैंने इसे SO पर डाल करने का निर्णय लिया।


आप TIdServerIOHandlerSSLOpenSSL.SSLOptions.CipherList (साथ ही एसआईएल / टीएलएस संस्करणों के माध्यम से TIdServerIOHandlerSSLOpenSSL.SSLOptions.SSLVersions) के माध्यम से उपलब्ध सिफर निर्दिष्ट कर सकते हैं।

यदि आप एकदम सही फॉरवर्ड गोपनीयता चाहते हैं, तो आपको openspst.exe का उपयोग करके DHParam कुंजी बनाना होगा (परिणाम फ़ाइल नाम के द्वारा TIdServerIOHandlerSSLOpenSSL.SSLOptions.DHParamsFile भरें)। यदि आप केवल DHE ही नहीं चाहते हैं, लेकिन ईसीडीएचई सिफर आपको कुछ अतिरिक्त openssl एपीआई कॉल करने की आवश्यकता है, उदाहरण के लिए इंडी 10 के साथ SSL में सही फॉरवर्ड गोपनीयता के लिए समर्थन देखें।





openssl