openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_checkpurposeVerifica se um certificado pode ser usado para uma finalidade específica

Descrição

openssl_x509_checkpurpose(
    OpenSSLCertificate|string $certificate,
    int $purpose,
    array $ca_info = [],
    ?string $untrusted_certificates_file = null
): bool|int

openssl_x509_checkpurpose() examina um certificado para ver se pode ser usado para o a finalidade especificada em purpose.

Parâmetros

certificate

O certificado examinado.

purpose

openssl_x509_checkpurpose() purposes
Constante Descrição
X509_PURPOSE_SSL_CLIENT O certificado pode ser usado no lado do cliente de uma conexão SSL?
X509_PURPOSE_SSL_SERVER O certificado pode ser usado no lado do servidor de uma conexão SSL?
X509_PURPOSE_NS_SSL_SERVER O certificado pode ser usado para o servidor Netscape SSL?
X509_PURPOSE_SMIME_SIGN O certificado pode ser usado para assinar e-mail S/MIME?
X509_PURPOSE_SMIME_ENCRYPT O certificado pode ser usado para criptografar e-mails S/MIME?
X509_PURPOSE_CRL_SIGN O certificado pode ser usado para assinar uma lista de certificados revogados (CRL)?
X509_PURPOSE_ANY O certificado pode ser usado para qualquer/todos os fins?
Estas opções não são campos de bits - somente uma pode ser especificada!

ca_info

ca_info deve ser um array de arquivos/diretórios CA confiáveis como descrito em Verificação de Certificados.

untrusted_certificates_file

Se especificado, este deve ser o nome de um arquivo codificado em PEM contendo certificados que podem ser usados ​​para ajudar a verificar o certificado, embora nenhuma confiança seja colocada nos certificados provenientes desse arquivo.

Valor Retornado

Retorna true se o certificado puder ser usado para a finalidade pretendida, false se não puder, ou -1 em caso de erro.

Registro de Alterações

Versão Descrição
8.0.0 certificate agora aceita uma instância de OpenSSLCertificate; anteriormente, um resource do tipo OpenSSL X.509 era aceito.
8.0.0 untrusted_certificates_file agora pode ser nulo.