Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

PHP SSL context options

Giới thiệu

Danh sách tùy chọn ngữ cảnh cho transport ssl:// và tls://.

peer_nameTên peer dùng. Nếu không đặt, tên đoán dựa trên hostname khi mở luồng.
verify_peerYêu cầu xác thực chứng chỉ SSL. Mặc định TRUE.
verify_peer_nameYêu cầu xác thực tên peer. Mặc định TRUE.
allow_self_signedCho phép chứng chỉ tự ký. Yêu cầu verify_peer. Mặc định FALSE.
cafileVị trí file Certificate Authority trên hệ thống file local để xác thực danh tính peer từ xa.
capathThư 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.
passphraseCụm mật khẩu mã hóa file local_cert.
CN_matchCommon Name mong đợi. Nếu không khớp, kết nối thất bại.
verify_depthHủy nếu chuỗi chứng chỉ quá sâu.
ciphersDanh sách cipher khả dụng. Format xem ciphers(1).
capture_peer_certNếu TRUE, tạo tùy chọn peer_certificate chứa chứng chỉ peer.
capture_peer_cert_chainNếu TRUE, tạo peer_certificate_chain chứa chuỗi chứng chỉ.
SNI_enabledNếu TRUE, bật server name indication.
SNI_server_nameNế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_compressionNếu đặt, tắt nén TLS.
peer_fingerprintHủ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 ]]);