अपने टैग और टिप्पणियां के आधार पर के लिए, मैं आप केवल TLS कनेक्शन चाहते हैं मान। ग्राहकों को केवल टीएलएस कनेक्शन शुरू करना चाहिए। यदि हां, तो आप SSLv23_client_method
पर जोर क्यों देते हैं? लेकिन निम्नलिखित अपने परीक्षण में TLS 1.0 ग्राहक हैलो बाहर भेजा:
ctx = SSL_CTX_new(SSLv23_client_method());
SSL_CTX_set_options(ctx,SSL_OP_NO_SSLv3);
POODLE हमले को रोकने के लिए, सबसे अच्छा करने के लिए पूरी तरह से ग्राहक और सर्वर पर अक्षम SSL3 समर्थन किया जाएगा। आपके मामले में आपने उल्लेख किया है कि सर्वर केवल टीएलएस का समर्थन करते हैं। इसलिए मामले में सर्वर SSL3 बात करता है, पूडल हमला, ग्राहक को रोकने के लिए और सर्वर को लागू करना चाहिए टीएलएस सिफ़र सुइट Value- संकेत fallback ग्राहक पर टीएलएस की स्थापना की https://tools.ietf.org/html/draft-ietf-tls-downgrade-scsv-05
उदाहरण SSL3 पर ग्राहकों के साथ पिछली संगतता के लिए कोई जरूरत नहीं है पक्ष:
/* Exclude SSLv2 and SSLv3 */
ctx = SSL_CTX_new(TLSv1_client_method());
SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
SSL_CTX_set_options(ctx,SSL_OP_NO_SSLv3);
/* Exclude SSLv2, SSLv3 and TLS 1.0 */
ctx = SSL_CTX_new(TLSv1_1_client_method());
SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
SSL_CTX_set_options(ctx,SSL_OP_NO_SSLv3);
SSL_CTX_set_options(ctx,SSL_OP_NO_TLSv1);
/* Exclude SSLv2, SSLv3 ,TLS 1.0 and TLS 1.1 */
ctx = SSL_CTX_new(TLSv1_2_client_method());
SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
SSL_CTX_set_options(ctx,SSL_OP_NO_SSLv3);
SSL_CTX_set_options(ctx,SSL_OP_NO_TLSv1);
SSL_CTX_set_options(ctx,SSL_OP_NO_TLSv1_1);
तुम भी या विकल्प और एक ही बार में SSL_CTX_set_options
तक पहुंचाया जा सकता है।
आप इसका उपयोग किस संदर्भ में कर रहे हैं? – tadman
असल में हम अपने क्लाइंट साइड पर एसएसएलवी 3 को अक्षम करना चाहते हैं और टीएलएस प्रोटोकॉल को सक्षम करना चाहते हैं, लेकिन यदि मेरा सर्वर केवल टीएलएस v1.2 या टीएलएस v1.1 या TLS v1 का समर्थन करेगा, तो मैं क्लाइंट साइड पर उस कार्यक्षमता को कैसे प्रदान करूं? – mahan07
आप अभी 'TLSv1_client_method()' का उपयोग क्यों नहीं करते? बीटीडब्लू, आपके द्वारा दिखाए गए एक ही कोड के परिणामस्वरूप मेरे परीक्षण में टीएलएस 1.0 कनेक्शन हुआ। – Prabhu