PHP8 openssl_cms_sign
(PHP 8)
openssl_cms_sign — 对文件进行签名
说明
openssl_cms_sign(
string $input_filename,
string $output_filename,
OpenSSLCertificate|string $certificate,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key,
?array $headers,
int $flags = 0,
int $encoding = OPENSSL_ENCODING_SMIME,
?string $untrusted_certificates_filename = null
): bool此函数使用 X.509 证书和密钥对文件进行签名。
参数
input_filename要签名的文件的名称。
output_filename用于存放结果的文件的名称。
certificate签名证书。 有关有效值的列表,请参阅密钥/证书参数。
private_key与 关联的键。 有关有效值的列表,请参阅密钥/证书参数。
certificateheaders要包含在 S/MIME 输出中的标头数组。
flags要传递给 cms_sign() 的标志。
encoding输出文件的编码。
OPENSSL_ENCODING_SMIME、OPENSSL_ENCODING_DER或OPENSSL_ENCODING_PEM之一。untrusted_certificates_filename要包含在签名中的中间证书。
返回值
成功时返回 true, 或者在失败时返回 false。
示例
示例 #1 openssl_cms_sign() example
<?php
openssl_cms_sign('input.txt', 'output.txt', 'file://cert.pem', 'file://privkey.pem', null, OPENSSL_CMS_BINARY, OPENSSL_ENCODING_DER, 'chain.pem');
?>