Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ตัวเลือกบริบท PHP SSL


แนะนำตัว

รายการตัวเลือกบริบทสำหรับ ssl:// และ tls:// ขนส่ง

peer_name ชื่อเพียร์ที่จะใช้ หากไม่ได้ตั้งค่านี้ ระบบจะเดาชื่อตามชื่อโฮสต์ที่ใช้เมื่อเปิดสตรีม
verify_peer ต้องการการตรวจสอบใบรับรอง SSL ที่ใช้ ค่าเริ่มต้นเป็น TRUE
verify_peer_name ต้องการการตรวจสอบชื่อเพียร์ ค่าเริ่มต้นเป็น TRUE
allow_self_signed อนุญาตใบรับรองที่ลงนามเอง ต้องใช้ Verify_peer ค่าเริ่มต้นเป็น FALSE
cafile ที่ตั้งของ ผู้ออกใบรับรอง ไฟล์บนระบบไฟล์ในเครื่องเพื่อใช้ตรวจสอบตัวตนของเพียร์ระยะไกล
แคปพาธ ต้องเป็นไดเร็กทอรีใบรับรองที่แฮชอย่างถูกต้อง
local_cert เส้นทางไปยังไฟล์ใบรับรองในเครื่องบนระบบไฟล์
local_pk พาธไปยังไฟล์ไพรเวทคีย์บนระบบไฟล์ในกรณีที่แยกไฟล์สำหรับใบรับรองและคีย์ส่วนตัว
ข้อความรหัสผ่าน ข้อความรหัสผ่านที่คุณ local_cert . ของคุณ ไฟล์ถูกเข้ารหัส
CN_match ชื่อสามัญที่เราคาดหวังไว้ ถ้า ชื่อสามัญ ไม่ตรงกัน ความพยายามในการเชื่อมต่อจะล้มเหลว
verify_deep ยกเลิกหากสายใบรับรองลึกเกินไป
รหัสลับ กำหนดรายการรหัสลับที่มีอยู่ รูปแบบของสตริงมีคำอธิบายอยู่ใน » ciphers(1).
capture_peer_cert หากตั้งค่าเป็น TRUE a peer_certificate ตัวเลือกบริบทจะถูกสร้างขึ้นโดยมีใบรับรองเพียร์
capture_peer_cert_chain หากตั้งค่าเป็น TRUE ตัวเลือกบริบทของ peer_certificate_chain จะถูกสร้างขึ้นโดยมีสายใบรับรอง
เปิดใช้งาน SNI_ แล้ว หากตั้งค่าเป็น TRUE การระบุชื่อเซิร์ฟเวอร์จะเปิดใช้งาน
SNI_server_name หากตั้งค่าไว้ ค่านี้จะใช้เป็นชื่อเซิร์ฟเวอร์สำหรับระบุชื่อเซิร์ฟเวอร์ มิฉะนั้น ชื่อเซิร์ฟเวอร์จะเดาตามชื่อโฮสต์ที่ใช้
disable_compression หากตั้งค่าไว้ ให้ปิดการบีบอัด TLS
peer_fingerprint ยกเลิกเมื่อไดเจสต์ใบรับรองระยะไกลไม่ตรงกับแฮชที่ระบุ
ระดับความปลอดภัย กำหนดระดับความปลอดภัย หากไม่ได้ระบุไว้ ระบบจะใช้ระดับความปลอดภัยเริ่มต้น มีให้ตั้งแต่ 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 ]]);