Опции контекста SSL
Опции контекста SSL — Список опций контекста SSL
Описание
Опции контекста для протоколов ssl:// и tls://
Опции
-
verify_peer
boolean
-
Требовать проверки используемого SSL-сертификата.
По умолчанию FALSE
.
-
allow_self_signed
boolean
-
Разрешить самоподписанные сертификаты. Требует
verify_peer
.
По умолчанию FALSE
-
cafile
string
-
Расположение файла сертификата в локальной файловой системе,
который следует использовать с опцией контекста verify_peer
для проверки подлинности удалённого узла.
-
capath
string
-
Если параметр cafile не определён или сертификат не найден,
осуществляется поиск в директории, указанной в capath.
Путь capath должен быть к корректной директории, содержащей сертификаты, имена которых
являются хешем от поля subject, указанного в сертификате.
-
local_cert
string
-
Путь к локальному сертификату в файловой системе. Это должен быть файл, закодированный PEM,
который содержит ваш сертификат и приватный ключ.
Он дополнительно может содержать публичный ключ эмитента.
-
passphrase
string
-
Идентификационная фраза, с которой ваш файл local_cert был
закодирован.
-
CN_match
string
-
Имя хоста (Common Name), которое мы ожидаем. PHP будет производить ограниченное сопоставление,
учитывающее символы подстановки (*,?). Если имя хоста не совпадает со строкой,
соединение будет сброшено.
-
verify_depth
integer
-
Прервать, если цепочка сертификата слишком длинная.
По умолчанию проверка отсутствует.
-
ciphers
string
-
Устанавливает список доступных алгоритмов шифрования. Формат этой строки описан в
разделе » шифры(1).
По умолчанию принимает значение DEFAULT.
-
capture_peer_cert
boolean
-
Если установлено в TRUE
, то будет создана опция контекста peer_certificate,
содержащая сертификат удаленного узла.
-
capture_peer_cert_chain
boolean
-
Если установлено в TRUE
, то будет создана опция контекста peer_certificate_chain,
содержащая цепочку сертификатов.
-
SNI_enabled
boolean
-
Если установлено в TRUE
, то будет включено указание имени сервера. Включение SNI
позволяет использовать разные сертификаты на одном и том же IP-адресе.
-
SNI_server_name
string
-
Если эта опция установлена, то это значение будет использоваться для указания имени сервера.
Если это значение не установлено, то имя сервера определяется из имени хоста, использовавшегося
при открытии потока.
-
disable_compression
boolean
-
Отключает сжатие TLS, что помогает предотвратить атаки типа CRIME.
Примечания
Замечание:
Так как ssl:// - это низлежащий транспортный протокол для оберток
https:// и
ftps://,
то любые опции контекста, которые применяются к ssl:// будут также применяться к
https:// и ftps://.
Замечание:
Чтобы была доступна возможность указания имени сервера (SNI, Server Name Indication), PHP должен
быть скомпилирован с OpenSSL 0.9.8j или более поздней. Используйте константу
OPENSSL_TLSEXT_SERVER_NAME
чтобы определить,
поддерживается ли SNI.