परिचय
ssl:// और tls:// ट्रांसपोर्ट के लिए कॉन्टेक्स्ट विकल्पों की सूची।
| विकल्प | विवरण |
|---|---|
| peer_name | उपयोग किए जाने वाला पीयर नाम। यदि यह मान सेट नहीं है, तो स्ट्रीम खोलते समय उपयोग किए गए होस्टनाम के आधार पर नाम का अनुमान लगाया जाता है। |
| verify_peer | SSL सर्टिफिकेट के सत्यापन की आवश्यकता। डिफ़ॉल्ट TRUE। |
| verify_peer_name | पीयर नाम के सत्यापन की आवश्यकता। डिफ़ॉल्ट TRUE। |
| allow_self_signed | सेल्फ-साइन्ड सर्टिफिकेट की अनुमति। verify_peer आवश्यक। डिफ़ॉल्ट FALSE। |
| cafile | लोकल फाइलसिस्टम पर Certificate Authority फ़ाइल का स्थान जिसका उपयोग रिमोट पीयर की पहचान प्रमाणित करने के लिए किया जाता है। |
| capath | सही ढंग से हैश्ड सर्टिफिकेट डायरेक्टरी होना चाहिए। |
| local_cert | फाइलसिस्टम पर लोकल सर्टिफिकेट फ़ाइल का पथ। |
| local_pk | फाइलसिस्टम पर लोकल प्राइवेट की फ़ाइल का पथ (यदि सर्टिफिकेट और प्राइवेट की अलग फाइलों में हैं)। |
| passphrase | पासफ्रेज जिसके साथ आपकी local_cert फ़ाइल एन्कोड की गई थी। |
| CN_match | हम जिस कॉमन नेम की अपेक्षा कर रहे हैं। यदि Common Name मेल नहीं खाता, तो कनेक्शन प्रयास विफल हो जाएगा। |
| verify_depth | यदि सर्टिफिकेट चेन बहुत गहरी है तो अबॉर्ट करें। |
| ciphers | उपलब्ध सिफर की सूची सेट करता है। स्ट्रिंग का फॉर्मेट » ciphers(1) में वर्णित है। |
| capture_peer_cert | यदि TRUE सेट है, तो एक peer_certificate कॉन्टेक्स्ट विकल्प बनाया जाएगा जिसमें पीयर सर्टिफिकेट होगा। |
| capture_peer_cert_chain | यदि TRUE सेट है, तो एक peer_certificate_chain कॉन्टेक्स्ट विकल्प बनाया जाएगा जिसमें सर्टिफिकेट चेन होगी। |
| SNI_enabled | यदि TRUE सेट है, तो सर्वर नाम इंडिकेशन सक्षम होगा। |
| SNI_server_name | यदि सेट है, तो यह मान सर्वर नाम इंडिकेशन के लिए सर्वर नाम के रूप में उपयोग किया जाएगा। अन्यथा सर्वर नाम होस्टनाम के आधार पर अनुमानित होगा। |
| disable_compression | यदि सेट है, तो TLS कम्प्रेशन अक्षम करें। |
| peer_fingerprint | जब रिमोट सर्टिफिकेट डाइजेस्ट निर्दिष्ट हैश से मेल नहीं खाता तो अबॉर्ट करता है। |
| security_level | सुरक्षा स्तर सेट करता है। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट सुरक्षा स्तर उपयोग किया जाता है। PHP 7.2.0 और OpenSSL 1.1.0 के रूप में उपलब्ध। |
उदाहरण
यह उदाहरण SSL कॉन्टेक्स्ट सेटिंग्स दिखाता है:
$stream_context = stream_context_create([
'ssl' => [
'local_cert' => '/path/to/key.pem',
'peer_fingerprint' => openssl_x509_fingerprint(file_get_contents('/path/to/key.crt')),
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
'verify_depth' => 0
]
]);
सामान्य उपयोग: HTTPS रिक्वेस्ट, सुरक्षित API कॉल, म्यूचुअल TLS प्रमाणीकरण।