牛牛在线工具

openssl_cms_verify()

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

openssl_cms_verify()

验证 CMS 签名

函数名称:openssl_cms_verify() 适用版本:PHP 5 >= 5.4.0, PHP 7 函数描述:openssl_cms_verify() 函数用于验证 CMS 签名。 用法: openssl_cms_verify( string $input_filename, int $flags, string $certificates [, array $ca_info [, string $untrusted_certificates [, string $content [, string $pk7 [, string $sigfile [, int $encoding ]]]]]] ) : bool 参数: $input_filename:输入文件名,包含要验证的 CMS 签名 $flags:可选参数,用于指定验证选项的位掩码。例如,使用 OPENSSL_CMS_NOINTERN 指定不验证内部证书 $certificates:包含用于验证签名的证书链的文件名。可以是一个单独的证书文件或包含多个证书的文件。 $ca_info:可选参数,用于指定证书颁发机构的附加信息的文件名。 $untrusted_certificates:可选参数,包含不受信任的证书的文件名。这些证书将被用于验证签名。 $content:可选参数,包含签名的原始内容的文件名。如果提供了此参数,则验证过程将检查签名是否与原始内容匹配。 $pk7:可选参数,包含 PKCS#7 格式签名的文件名。如果提供了此参数,则验证过程将使用该文件中的签名。 $sigfile:可选参数,包含签名的文件名。如果提供了此参数,则验证过程将使用该文件。 $encoding:可选参数,指定签名的编码方式。默认为 PKCS7_BINARY。 返回值:如果验证成功,则返回 true,否则返回 false。 示例: $input_filename = 'signed_message.txt'; $flags = OPENSSL_CMS_NOINTERN; $certificates = 'certificates.pem'; $ca_info = 'ca_info.pem'; $untrusted_certificates = 'untrusted_certificates.pem'; $content = 'original_content.txt'; $pk7 = 'signature.pk7'; $sigfile = 'signature.txt'; $encoding = PKCS7_BINARY; if (openssl_cms_verify($input_filename, $flags, $certificates, $ca_info, $untrusted_certificates, $content, $pk7, $sigfile, $encoding)) { echo "验证成功!"; } else { echo "验证失败!"; } 以上示例演示了如何使用 openssl_cms_verify() 函数验证一个 CMS 签名。首先,我们提供了要验证的 CMS 签名的文件名、验证选项、用于验证签名的证书链文件名等参数。然后,使用 openssl_cms_verify() 函数进行验证。如果验证成功,则输出 "验证成功!",否则输出 "验证失败!"。