SSL context options
Оновлено: 11.05.2023
Контекстні опції SSL - список контекстних опцій SSL
Контекстні опції для транспортів ssl:// та tls://.
peer_name рядок
Ім'я однорангового партнера, яке буде використано. Якщо це значення не задано, то ім'я буде вгадано на основі імені хоста, яке було використано при відкритті потоку.
verify_peer bool
Вимагати перевірку використовуваного SSL-сертифікату.
За замовчуванням має значення true.
verify_peer_name bool
Вимагати перевірку імені однорангового партнера.
За замовчуванням дорівнює true.
allow_self_signed bool
Дозволити самопідписані сертифікати. Вимагає verify_peer.
За замовчуванням дорівнює false
cafile рядок
Розташування файлу центру сертифікації у локальній файловій системі, який слід використовувати з контекстною опцією verify_peer для перевірки автентичності віддаленого партнера.
capath рядок
Якщо cafile не вказано або якщо сертифікат не знайдено, пошук відповідного сертифіката виконується в каталозі, на який вказує capath. capath має бути коректно хешованим каталогом сертифікатів.
local_cert рядок
Шлях до локального файлу сертифіката у файловій системі. Це має бути файл у кодуванні PEM, який містить ваш сертифікат і приватний ключ. За бажанням він може містити ланцюжок сертифікатів емітентів. Закритий ключ також може міститися в окремому файлі, вказаному в local_pk.
local_pk рядок
Шлях до локального файлу приватного ключа у файловій системі у випадку окремих файлів для сертифіката (local_cert) та приватного ключа.
passphrase рядок
Ключова фраза, якою було закодовано ваш файл local_cert.
verify_depth int
Перервати, якщо ланцюжок сертифікатів занадто глибокий.
За замовчуванням перевірка не виконується.
ciphersрядок
Задає список доступних шифрів. Формат рядка описано у " ciphers(1).
За замовчуванням має значення DEFAULT.
capture_peer_cert bool
Якщо встановлено в true, буде створено контекстну опцію peer_certificate, що містить сертифікат однорангового сервера.
capture_peer_cert_chain bool
Якщо встановлено в true, буде створено контекстний параметр peer_certificate_chain, що містить ланцюжок сертифікатів.
SNI_enabled bool
Якщо встановлено в true, буде ввімкнено індикацію імені сервера. Увімкнення SNI дозволяє використовувати декілька сертифікатів на одній IP-адресі.
disable_compression bool
Якщо встановлено, вимкнути стиснення TLS. Це може допомогти зменшити вектор атаки CRIME.
peer_fingerprint рядок | масив
Переривається, якщо дайджест віддаленого сертифіката не збігається з вказаним хешем.
Якщо використовується рядок, довжина визначатиме, який алгоритм хешування буде застосовано: "md5" (32) або "sha1" (40).
Якщо використовується масив, ключі вказують на назву алгоритму хешування, а кожне відповідне значення є очікуваним дайджестом.
security_level int
Задає рівень безпеки. Якщо не вказано, використовується рівень безпеки бібліотеки за замовчуванням. Рівні безпеки описано у " SSL_CTX_get_security_level(3).
Доступно починаючи з PHP 7.2.0 та OpenSSL 1.1.0.
security_level
. Requires OpenSSL >= 1.1.0.
Зауваження: Оскільки ssl:// є базовим транспортом для обгорток https:// і ftps://, будь-які параметри контексту, що застосовуються до ssl://, також застосовуються до https:// і ftps://.
Зауваження: Щоб функція SNI (Server Name Indication) була доступна, PHP повинен бути скомпільований з OpenSSL 0.9.8j або новішої версії. Використовуйте OPENSSL_TLSEXT_SERVER_NAME, щоб визначити, чи підтримується SNI.