Opções/Constantes PKCS7

As funções S/MIME usam opções que são especificadas usando um campo de bits que pode incluir um ou mais dos seguintes valores:

CONSTANTES PKCS7
Constante Descrição
PKCS7_TEXT (int) Adiciona cabeçalhos de tipo de conteúdo text/plain à mensagem criptografada/assinada. Se estiver descriptografando ou verificando, ele remove esses cabeçalhos da saída - se a mensagem descriptografada ou verificada não for do tipo MIME text/plain, então ocorrerá um erro.
PKCS7_BINARY (int) Normalmente, a mensagem de entrada é convertida para o formato "canônico", que está efetivamente usando CR e LF como fim de linha: conforme exigido pela especificação S/MIME. Quando esta opção está presente, nenhuma tradução ocorre. Isso é útil ao manipular dados binários que podem não estar no formato MIME.
PKCS7_NOINTERN (int) Ao verificar uma mensagem, os certificados (se houver) incluídos na mensagem são normalmente pesquisados para o certificado de assinatura. Com esta opção, apenas os certificados especificados no parâmetro untrusted_certificates_filename de openssl_pkcs7_verify() são usados. No entanto, os certificados fornecidos ainda podem ser usados como CAs não confiáveis.
PKCS7_NOVERIFY (int) Não verifica o certificado do signatário de uma mensagem assinada.
PKCS7_NOCHAIN (int) Não encadeia a verificação de certificados de signatários: ou seja, não usa os certificados na mensagem assinada como CAs não confiáveis.
PKCS7_NOCERTS (int) Ao assinar uma mensagem, o certificado do signatário normalmente é incluído - com esta opção, ele é excluído. Isso reduzirá o tamanho da mensagem assinada, mas o verificador deve ter uma cópia do certificado do signatário disponível localmente (passado usando o untrusted_certificates_filename para openssl_pkcs7_verify(), por exemplo).
PKCS7_NOATTR (int) Normalmente, quando uma mensagem é assinada, um conjunto de atributos é incluído, que inclui o tempo de assinatura e os algoritmos simétricos suportados. Com esta opção, eles não são incluídos.
PKCS7_DETACHED (int) Ao assinar uma mensagem, usa a assinatura de texto simples com o tipo MIME "multipart/signed". Este é o padrão não for especificada nsenhuma opção no parâmetro flags para openssl_pkcs7_sign(). Se esta opção for desativada, a mensagem será assinada usando assinatura opaca, que é mais resistente à tradução por retransmissões de e-mail, mas não pode ser lida por agentes de e-mail que não suportam S/MIME.
PKCS7_NOSIGS (int) Não tenta verificar as assinaturas em uma mensagem
PKCS7_NOOLDMIMETYPE (int) Disponível a partir do PHP 8.3.0. Define o content-type como application/pkcs7-mime em vez de application/x-pkcs7-mime para criptografar uma mensagem.