# openssl_pkcs7_verify

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

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` 来指定带有已被验证数据的文件名，该文件内容已去掉了签名信息。

### 返回值

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

### 更新日志

版本 | 说明
--- | ---
5.1.0 | 添加 `content` 参数。

### 注释

> Note: 正如 RFC 2045中指定的，`filename` 参数最多不可超过76个字符串。