As funções do CMS usam opções que são especificados usando um campo de bits que pode incluir um ou mais dos seguintes valores:
Constante | Descrição |
---|---|
OPENSSL_CMS_TEXT
(int)
|
Adiciona cabeçalhos de tipo de conteúdo text/plain a mensagens criptografadas/assinadas. 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, ocorrerá um erro. |
OPENSSL_CMS_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 CMS. Quando esta
opção está presente, nenhuma tradução ocorre. Isso é útil ao
manipular dados binários que podem não estar no formato CMS.
|
OPENSSL_CMS_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_cms_verify() são
usados. No entanto, os certificados fornecidos ainda podem ser usados como
CAs não confiáveis.
|
OPENSSL_CMS_NOVERIFY
(int)
|
Não verificar o certificado do signatário de uma mensagem assinada. |
OPENSSL_CMS_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_cms_verify(), por exemplo).
|
OPENSSL_CMS_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. |
OPENSSL_CMS_DETACHED
(int)
|
Ao assinar uma mensagem, use a assinatura de texto simples com o tipo MIME
"multipart/signed" . Este é o padrão
se você não especificar nenhum flags para
openssl_cms_sign().
Se você desativar esta opção, 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.
|
OPENSSL_CMS_NOSIGS
(int)
|
Não tente verificar as assinaturas em uma mensagem |
OPENSSL_CMS_OLDMIMETYPE
(int)
|
Disponível a partir do PHP 8.3.0.
Define o content-type como application/x-pkcs7-mime em vez de
application/pkcs7-mime para criptografar uma mensagem.
|