NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class MessageValidator

This class uses openssl to verify SNS messages to ensure that they were sent by AWS.

Namespace: Aws\Sns\MessageValidator
Located at Aws/Sns/MessageValidator/MessageValidator.php

## Methods summary

- `public` `__construct ( Guzzle\Http\Client $client = null, string|null $hostPattern = null )`

  Constructs the Message Validator object and ensures that openssl is installed

- `public` `validate ( Aws\Sns\MessageValidator\Message $message )`

  Validates a message from SNS to ensure that it was delivered by AWS

- `public` `isValid ( Aws\Sns\MessageValidator\Message $message )`

  Determines if a message is valid and that is was delivered by AWS. This method does not throw exceptions and returns a simple boolean value.

## Methods detail

# `public`
`__construct( `Guzzle\Http\Client` $client = null, string|null $hostPattern = null )`

Constructs the Message Validator object and ensures that openssl is installed

#### Parameters

$client
  ``Guzzle\Http\Client`|null`
  $client
$hostPattern
  `string|null`
  $hostPattern The host must match this regex pattern

#### Throws

``Aws\Common\Exception\RequiredExtensionNotLoadedException``
If openssl is not installed
# `public`
`validate( `Aws\Sns\MessageValidator\Message` $message )`

Validates a message from SNS to ensure that it was delivered by AWS

#### Parameters

$message
  ``Aws\Sns\MessageValidator\Message``
  $message The message to validate

#### Throws

``Aws\Sns\MessageValidator\Exception\CannotGetPublicKeyFromCertificateException``
If the certificate cannot be retrieved
``Aws\Sns\MessageValidator\Exception\CertificateFromUnrecognizedSourceException``
If the certificate's source cannot be verified
``Aws\Sns\MessageValidator\Exception\InvalidMessageSignatureException``
If the message's signature is invalid
# `public boolean`
`isValid( `Aws\Sns\MessageValidator\Message` $message )`

Determines if a message is valid and that is was delivered by AWS. This method does not throw exceptions and returns a simple boolean value.

#### Parameters

$message
  ``Aws\Sns\MessageValidator\Message``
  $message The message to validate

#### Returns

`boolean`

### Magic methods summary

## Properties summary

`protected `Guzzle\Http\Client`` | $client | # The HTTP client used to fetch the certificate