Опції контексту SSL
Опції контексту SSL — Список опцій контексту SSL
Опис
Опції контексту для протоколів ssl://иtls://
Опції
peer_namestring
Ім'я вузла. Якщо його значення не задано, тоді ім'я підставляється на основі імені хоста, використаного при відкритті потоку.
verify_peerbool
Вимагати перевірки SSL-сертифіката.
По умолчанию**true**
verify_peer_namebool
Вимагати перевірки імені вузла.
По умолчанию**true**
allow_self_signedbool
Дозволити самопідписані сертифікати. Вимагає verify_peer
По умолчанию**false**
cafilestring
Розташування файлу сертифіката у локальній файловій системі, який слід використовувати з опцією контексту verify_peer для автентифікації віддаленого вузла.
capathstring
Якщо параметр cafile не визначено або сертифікат не знайдено, здійснюється пошук у директорії, зазначеній у capath. Шлях capath повинен бути до коректної директорії, що містить сертифікати, імена яких є хеш від поля subject, зазначеного в сертифікаті.
local_certstring
Шлях до локального сертифіката у файловій системі. Це має бути файл, закодований у PEM, який містить ваш сертифікат та закритий ключ. Він може додатково містити відкритий ключ емітента. Закритий ключ також може міститися в окремому файлі, заданому local_pk
local_pkstring
Шлях до локального файлу з приватним ключем у разі окремих файлів сертифіката (local_cert) та приватного ключа.
passphrasestring
Ідентифікаційна фраза, з якою ваш файл local_cert було закодовано.
verify_depthint
Перервати, якщо ланцюжок сертифіката занадто довгий.
За промовчанням перевірка відсутня.
ciphersstring
Встановлює перелік доступних алгоритмів шифрування. Формат цього рядка описаний у розділі » шифри(1)
По умолчанию принимает значениеDEFAULT
capture_peer_certbool
Если установлено в**true**, то будет создана опция контекстаpeer_certificateмістить сертифікат віддаленого вузла.
capture_peer_cert_chainbool
Если установлено в**true**, то будет создана опция контекстаpeer_certificate_chain, що містить ланцюжок сертифікатів
SNI_enabledbool
Если установлено в**true**, то буде включено вказівку імені сервера. Включення SNI дозволяє використовувати різні сертифікати на тому самому IP-адресі.
disable_compressionbool
Вимикає стиск TLS, що допомагає запобігти атакам типу CRIME.
peer_fingerprintstring | array
Перерватися, якщо дайджест повідомлення не збігається із зазначеним хешом.
Якщо зазначений рядок (string), то його довжина визначає який алгоритм хешування буде використаний: "md5" (32) або "sha1" (40).
Якщо зазначений масив (array), ключі визначають алгоритм хешування, а кожне відповідне значення є необхідним хешом.
security_levelint
Встановлює рівень безпеки. Якщо не вказано, використовується стандартний рівень безпеки, вказаний у бібліотеці. Рівні безпеки описані в » 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.