openssl_pkcs7_sign
openssl_pkey_export_to_file
OpenSSL Functions
PHP Manual

# openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message

### Description

mixed openssl_pkcs7_verify ( string `$filename` , int `$flags` [, string `$outfilename` [, array `$cainfo` [, string `$extracerts` [, string `$content` ]]]] )

openssl_pkcs7_verify() reads the S/MIME message contained in the given file and examines the digital signature.

### Parameters

`filename`

  Path to the message.

`flags`

  `flags` can be used to affect how the signature is verified - see PKCS7 constants for more information.

`outfilename`

  If the `outfilename` is specified, it should be a string holding the name of a file into which the certificates of the persons that signed the messages will be stored in PEM format.

`cainfo`

  If the `cainfo` is specified, it should hold information about the trusted CA certificates to use in the verification process - see certificate verification for more information about this parameter.

`extracerts`

  If the `extracerts` is specified, it is the filename of a file containing a bunch of certificates to use as untrusted CAs.

`content`

  You can specify a filename with `content` that will be filled with the verified data, but with the signature information stripped.

### Return Values

Returns `TRUE` if the signature is verified, `FALSE` if it is not correct (the message has been tampered with, or the signing certificate is invalid), or -1 on error.

### Changelog

Version | Description
--- | ---
5.1.0 | The `content` parameter was added.

### Notes

> Note: As specified in RFC 2045, lines may not be longer than 76 characters in the `filename` parameter.

openssl_pkcs7_sign
openssl_pkey_export_to_file
OpenSSL Functions
PHP Manual