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.

Version Description 7.2.0 Added 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.