কম্পিউটার টিউটোরিয়াল

PHP SSL কনটেক্সট অপশনস


ভূমিকা

ssl:// এবং tls:// ট্রান্সপোর্টের জন্য কনটেক্সট অপশনসের লিস্ট।

peer_nameইউজ করা পিয়ার নাম। যদি এই মান সেট না করা হয়, তাহলে স্ট্রিম খোলার সময় ব্যবহৃত হোস্টনেমের ওপর ভিত্তি করে নাম অনুমান করা হয়।
verify_peerSSL সার্টিফিকেট ভেরিফিকেশন আবশ্যক। ডিফল্ট 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 এক্সপেক্ট করছি। যদি Common Name ম্যাচ না করে, কানেকশন অটেমপ্ট ফেল করবে।
verify_depthসার্টিফিকেট চেইন খুব গভীর হলে অবোর্ট করুন।
ciphersউপলব্ধ সিফারগুলোর লিস্ট সেট করুন। স্ট্রিং ফরম্যাট ciphers(1)-এ বর্ণিত।
capture_peer_certTRUE সেট করলে peer_certificate কনটেক্সট অপশন তৈরি হবে যেটে পিয়ার সার্টিফিকেট থাকবে।
capture_peer_cert_chainTRUE সেট করলে peer_certificate_chain কনটেক্সট অপশন তৈরি হবে যেটে সার্টিফিকেট চেইন থাকবে।
SNI_enabledTRUE সেট করলে সার্ভার নেম ইন্ডিকেশন ইনেবল হবে।
SNI_server_nameসেট থাকলে, এই মানটি সার্ভার নেম হিসেবে ব্যবহার হবে SNI-এর জন্য। অন্যথায় হোস্টনেমের ওপর ভিত্তি করে অনুমান করা হবে।
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 ]]);

  1. PHP-তে বর্তমান ফাংশন নাম পেতে

  2. PHP-তে নম্বর থেকে মাসের নাম বের করা

  3. PHP-তে ভেরিয়েবল নাম স্ট্রিং হিসেবে পেতে

  4. PHP-এ zip_entry_name() ফাংশন