Опции контекста 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
-
Если эта опция установлена, то это значение будет использоваться для указания имени сервера.
Если это значение не установлено, то имя сервера определяется из имени хоста, использовавшегося
при открытии потока.
Примечания
Замечание:
Так как ssl:// - это низлежащий транспортный протокол для оберток
https:// и
ftps://,
то любые опции контекста, которые применяются к ssl:// будут также применяться к
https:// и ftps://.
Замечание:
Чтобы была доступна возможность указания имени сервера (SNI, Server Name Indication), PHP должен
быть скомпилирован с OpenSSL 0.9.8j или более поздней. Используйте константу
OPENSSL_TLSEXT_SERVER_NAME
чтобы определить,
поддерживается ли SNI.