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