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
与 关联的键。 有关有效值的列表,请参阅密钥/证书参数。
certificate
headers
要包含在 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');
?>