Opções de contexto de SSL

Opções de contexto de SSLLista de opções de contexto de SSL

Descrição

Opções de contexto dos transportadores ssl:// e tls://.

Opções

peer_name string

Nome do peer a ser utilizado. Se este valor não for defino, o nome será adivinhado com base no nome do servidor utilizado na abertura do fluxo.

verify_peer bool

Exige a verificação do certificado SSL utilizado.

true como padrão.

verify_peer_name bool

Exige a verificação do nome do peer.

true como padrão.

allow_self_signed bool

Permite certificados auto assinados. Precisa do parâmetro verify_peer.

false como padrão.

cafile string

Localização do arquivo de Autoridade Certificadora no sistema de arquivos que deve ser usado pela opção de contexto verify_peer para autenticar a identidade do peer remoto.

capath string

Se a opção cafile não for especificada, ou o certificado não for encontrado, o diretório apontado pela opção capath será utilizado na busca de um certificado adequado. A opção capath deve ser um diretório de certificado com hash correto.

local_cert string

Caminho para o certificado local no sistema de arquivos. Deve ser um arquivo PEM codificado que contém seu certificado e chave privada. Pode opcionalmente conter a cadeia de certificados dos emitentes. A chave privada também pode estar em um arquivo separado especificado pela opção local_pk.

local_pk string

Caminho para a chave privada local no sistema de arquivos, em caso de se usar arquivos separados para o certificado (local_cert) e para a chave privada.

passphrase string

Senha usada para codificar o arquivo local_cert

verify_depth int

Abortará se a cadeia de certificados for muito profunda.

Não verificar por padrão.

ciphers string

Define a lista de cifras disponíveis. O formato desta string é descrito em » ciphers(1).

DEFAULT como padrão.

capture_peer_cert bool

Se definida como true, a opção de contexto peer_certificate será criada contendo o certificado peer.

capture_peer_cert_chain bool

Se definida como true, a opção de contexto peer_certificate_chain será criada contendo a cadeia certificadora.

SNI_enabled bool

Se definida como true, o indicador do nome do servidor será habilitado. Habilitar a SNI permite múltiplos certificados no mesmo endereço IP.

disable_compression bool

Se definida, desabilita a compressão TLS. Pode ajudar a mitigar o vetor de ataque CRIME.

peer_fingerprint string | array

Abortará quando o certificado resumido remoto não corresponder a um hash especificado.

Quando uma string for utilizada, o tamanho determinará qual algoritmo de hash será aplicado, "md5" (32) ou "sha1" (40).

Quando um array for utilizado, as chaves indicarão o nome do hash e os valores correspondentes ao resumo esperado.

security_level int

Define o nível de segurança. Se não especificado, o padrão da biblioteca é usado. Os níveis de segurança são descritos em » SSL_CTX_get_security_level(3).

Disponível a partir do PHP 7.2.0 e OpenSSL 1.1.0.

Registro de Alterações

Versão Descrição
7.2.0 Adicionado o parâmetro security_level. Requer OpenSSL >= 1.1.0.

Notas

Note: Por ssl:// ser um transporte básico para os empacotadores https:// e ftps://, quaisquer opções de contexto aplicáveis a ssl://, também se aplicam a https:// e ftps://.

Note: Para SNI (Server Name Indication - Indicador de Nome de Servidor) estar disponível, o PHP deve ser compilado com o OpenSSL 0.9.8j ou superior. Utilize a constante OPENSSL_TLSEXT_SERVER_NAME para determinar o suporte ao SNI.