(PHP 8)
openssl_cms_sign — Assina um arquivo
$input_filename,$output_filename,$certificate,$private_key,$headers,$flags = 0,$encoding = OPENSSL_ENCODING_SMIME,$untrusted_certificates_filename = nullEsta função assina um arquivo com uma certificado X.509 e uma chave.
input_filenameO nome do arquivo a ser assinado.
output_filenameO nome do arquivo onde os resultados serão armazenados.
certificateO certificado para assinatura. Consulte os parâmetros de chave/certificado para uma lista de valores válidos.
private_key
A chave associada ao certificado informado no parâmetro certificate.
Consulte os parâmetros de chave/certificado para uma lista de valores válidos.
headersUm array de cabeçalhos a serem incluídos na saída S/MIME.
flagsOpções a serem passadas a cms_sign().
encoding
A codificação do arquivo de saída. Uma das constantes OPENSSL_ENCODING_SMIME,
OPENSSL_ENCODING_DER ou OPENSSL_ENCODING_PEM.
untrusted_certificates_filenameCertificados intermediários a serem incluídos na assinatura.
Exemplo #1 Exemplo de openssl_cms_sign()
<?php
openssl_cms_sign('entrada.txt', 'saída.txt', 'file://certificado.pem', 'file://chaveprivada.pem', null, OPENSSL_CMS_BINARY, OPENSSL_ENCODING_DER, 'cadeia_de_certificados.pem');
?>