Giới thiệu
Danh sách tùy chọn ngữ cảnh cho transport ssl:// và tls://.
| peer_name | Tên peer dùng. Nếu không đặt, tên đoán dựa trên hostname khi mở luồng. |
|---|---|
| verify_peer | Yêu cầu xác thực chứng chỉ SSL. Mặc định TRUE. |
| verify_peer_name | Yêu cầu xác thực tên peer. Mặc định TRUE. |
| allow_self_signed | Cho phép chứng chỉ tự ký. Yêu cầu verify_peer. Mặc định FALSE. |
| cafile | Vị trí file Certificate Authority trên hệ thống file local để xác thực danh tính peer từ xa. |
| capath | Thư mục chứng chỉ băm đúng cách. |
| local_cert | Đường dẫn file chứng chỉ local trên hệ thống file. |
| local_pk | Đường dẫn file khóa riêng local nếu tách file chứng chỉ và khóa riêng. |
| passphrase | Cụm mật khẩu mã hóa file local_cert. |
| CN_match | Common Name mong đợi. Nếu không khớp, kết nối thất bại. |
| verify_depth | Hủy nếu chuỗi chứng chỉ quá sâu. |
| ciphers | Danh sách cipher khả dụng. Format xem ciphers(1). |
| capture_peer_cert | Nếu TRUE, tạo tùy chọn peer_certificate chứa chứng chỉ peer. |
| capture_peer_cert_chain | Nếu TRUE, tạo peer_certificate_chain chứa chuỗi chứng chỉ. |
| SNI_enabled | Nếu TRUE, bật server name indication. |
| SNI_server_name | Nếu đặt, dùng giá trị này làm server name cho SNI. Ngay cả khi không đặt, server name đoán từ hostname. |
| disable_compression | Nếu đặt, tắt nén TLS. |
| peer_fingerprint | Hủy khi digest chứng chỉ từ xa không khớp hash chỉ định. |
| security_level | Đặt mức bảo mật. Nếu không chỉ định, dùng mức mặc định. Có từ PHP 7.2.0 và OpenSSL 1.1.0. |
Ví dụ
Ví dụ cài đặt ngữ cảnh 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 ]]);