Опції контексту 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.

Дивіться також