Опції контексту SSL
Опції контексту SSL — Список опцій контексту SSL
Опис
Опції контексту для протоколів ssl://
иtls://
Опції
peer_name
string
Ім'я вузла. Якщо його значення не задано, тоді ім'я підставляється на основі імені хоста, використаного при відкритті потоку.
verify_peer
bool
Вимагати перевірки SSL-сертифіката.
По умолчанию**true
**
verify_peer_name
bool
Вимагати перевірки імені вузла.
По умолчанию**true
**
allow_self_signed
bool
Дозволити самопідписані сертифікати. Вимагає verify_peer
По умолчанию**false
**
cafile
string
Розташування файлу сертифіката у локальній файловій системі, який слід використовувати з опцією контексту verify_peer
для автентифікації віддаленого вузла.
capath
string
Якщо параметр cafile
не визначено або сертифікат не знайдено, здійснюється пошук у директорії, зазначеній у capath
. Шлях capath
повинен бути до коректної директорії, що містить сертифікати, імена яких є хеш від поля subject, зазначеного в сертифікаті.
local_cert
string
Шлях до локального сертифіката у файловій системі. Це має бути файл, закодований у PEM, який містить ваш сертифікат та закритий ключ. Він може додатково містити відкритий ключ емітента. Закритий ключ також може міститися в окремому файлі, заданому local_pk
local_pk
string
Шлях до локального файлу з приватним ключем у разі окремих файлів сертифіката (local_cert
) та приватного ключа.
passphrase
string
Ідентифікаційна фраза, з якою ваш файл local_cert
було закодовано.
verify_depth
int
Перервати, якщо ланцюжок сертифіката занадто довгий.
За промовчанням перевірка відсутня.
ciphers
string
Встановлює перелік доступних алгоритмів шифрування. Формат цього рядка описаний у розділі » шифри(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
string | array
Перерватися, якщо дайджест повідомлення не збігається із зазначеним хешом.
Якщо зазначений рядок (string), то його довжина визначає який алгоритм хешування буде використаний: "md5" (32) або "sha1" (40).
Якщо зазначений масив (array), ключі визначають алгоритм хешування, а кожне відповідне значення є необхідним хешом.
security_level
int
Встановлює рівень безпеки. Якщо не вказано, використовується стандартний рівень безпеки, вказаний у бібліотеці. Рівні безпеки описані в » SSL_CTX_get_security_level(3)
Доступна з PHP 7.2.0 та OpenSSL 1.1.0.
список змін
Версия | Опис |
---|---|
7.2.0 | Добавленsecurity_level . . Потрібно OpenSSL >= 1.1.0. |
Примітки
Зауваження: Так как
ssl://
- це нижчележачий транспортний протокол для обгортокhttps://
іftps://
, то будь-які опції контексту, які застосовуються доssl://
будут также применяться кhttps://
иftps://
Зауваження: Щоб була доступна можливість вказати ім'я сервера (SNI, Server Name Indication), PHP має бути скомпільований з OpenSSL 0.9.8j або пізнішою. Використовуйте константу
OPENSSL_TLSEXT_SERVER_NAME
щоб визначити, чи підтримується SNI.