แนะนำตัว
รายการตัวเลือกบริบทสำหรับ 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 ]]);