牛牛在线工具

openssl_pkcs7_sign()

收录 8868 个 PHP 函数,含用途说明与用法示例。

openssl_pkcs7_sign()

创建一个PKCS#7数字签名

函数名:openssl_pkcs7_sign() 适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7 用法:openssl_pkcs7_sign()函数用于创建一个PKCS#7数字签名。 语法:bool openssl_pkcs7_sign(string $input_filename, string $output_filename, mixed $certificate, mixed $private_key, array $headers [, int $flags = PKCS7_DETACHED [, string $untrusted_certificates_filename]] ) 参数: $input_filename:输入文件的路径,需要被签名的文件。 $output_filename:输出文件的路径,签名后的文件。 $certificate:签名者的证书,可以是文件路径或者一个包含证书的字符串。 $private_key:签名者的私钥,可以是文件路径或者一个包含私钥的字符串。 $headers:签名的头部信息,一个关联数组。 $flags:可选参数,指定签名的标志。默认为PKCS7_DETACHED,表示生成一个独立的签名。 $untrusted_certificates_filename:可选参数,包含不可信任证书的文件路径。 返回值:成功时返回true,失败时返回false。 示例: $input_file = 'data.txt'; $output_file = 'signed_data.txt'; $certificate = 'certificate.pem'; $private_key = 'private_key.pem'; $headers = array( 'Content-Type' => 'text/plain', 'Content-Disposition' => 'attachment; filename="data.txt"' ); if (openssl_pkcs7_sign($input_file, $output_file, $certificate, $private_key, $headers)) { echo '文件签名成功!'; } else { echo '文件签名失败!'; } 以上示例中,我们使用openssl_pkcs7_sign()函数对输入文件data.txt进行签名,并将签名后的文件保存为signed_data.txt。签名者的证书和私钥分别为certificate.pem和private_key.pem。我们还指定了一些签名的头部信息,包括Content-Type和Content-Disposition。如果签名成功,输出"文件签名成功!";否则输出"文件签名失败!"。