openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_verify校验一个已签名的 S/MIME 消息的签名

说明

openssl_pkcs7_verify(
    string $filename,
    int $flags,
    string $outfilename = ?,
    array $cainfo = ?,
    string $extracerts = ?,
    string $content = ?,
    string $p7bfilename = ?
): mixed

openssl_pkcs7_verify() 读取给定文件中的 S/MIME 消息并且检查数字签名。

参数

filename

消息的路径。

flags

flags 可以用来影响如何校验签名 - 参见 PKCS7 常量 获取更多信息。

outfilename

如果已指定 outfilename 输出文件,它应该是一个用以保存文件的字符串名称,签名消息的个人证书将以 PEM 的格式保存起来。

cainfo

如果 cainfo 被指定了,它应该保存关于受信任的CA证书的信息供在验证过程中使用 - 参见 证书校验 获取关于该参数的更多信息。

extracerts

如果 extracerts 被指定了,该文件包含了一堆会被作为不受信任的ca使用的证书。

content

你可以使用 content 来指定带有已被验证数据的文件名,该文件内容已去掉了签名信息。

p7bfilename

返回值

如果签名已被认证,返回 true, 如果不正确 (消息已被篡改或者签名证书不可用) 则返回 false, 或者 - 错误时返回1.

更新日志

版本 说明
7.2.0 新增 p7bfilename 参数。

注释

注意: 正如 RFC 2045 中指定的,filename 参数最多不可超过 76 个字符串。