(PHP 8)
openssl_cms_sign — Firma un fichero
$input_filename,$output_filename,$certificate,$private_key,$headers,$flags = 0,$encoding = OPENSSL_ENCODING_SMIME,$untrusted_certificates_filename = nullEsta función firma un fichero con un certificado X.509 y una clave.
input_filenameEl nombre del fichero a firmar.
output_filenameEl nombre del fichero para depositar los resultados.
certificateEl certificado de firma. Véase Parámetros de clave/certificado para una lista de valores válidos.
private_key
La clave asociada al certificate.
Véase Parámetros de clave/certificado para una lista de valores válidos.
headersUn array de encabezados a incluir en la salida S/MIME.
flagsLos flag a pasar a cms_sign().
encoding
La codificación del fichero de salida. Una de las constantes OPENSSL_ENCODING_SMIME,
OPENSSL_ENCODING_DER o OPENSSL_ENCODING_PEM.
untrusted_certificates_filenameLos certificados intermedios a incluir en la firma.
Ejemplo #1 Ejemplo de openssl_cms_sign()
<?php
openssl_cms_sign('input.txt', 'output.txt', 'file://cert.pem', 'file://privkey.pem', null, OPENSSL_CMS_BINARY, OPENSSL_ENCODING_DER, 'chain.pem');
?>