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:
| 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 MIMEtext/plain, então ocorrerá um erro. | 
| PKCS7_BINARY(int) | Normalmente, a mensagem de entrada é convertida para o formato "canônico",
          que está efetivamente usando CReLFcomo 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_filenamede 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_filenamepara
          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âmetroflagspara
         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-mimeem vez deapplication/x-pkcs7-mimepara criptografar uma mensagem. | 
