# ex_aws_sns_verifier v0.1.0 - Table of Contents

> Verify AWS SNS HTTPS message authenticity — RSA-SHA256 signature verification for Notification, SubscriptionConfirmation, and UnsubscribeConfirmation payloads. The Elixir equivalent of Ruby's Aws::SNS::MessageVerifier.

## Pages

- [ExAwsSnsVerifier](readme.md)
- [Changelog](changelog.md)

## Modules

- [ExAwsSnsVerifier.Cert.Cache](ExAwsSnsVerifier.Cert.Cache.md): `:persistent_term`-backed cache with 24-hour TTL.
- [ExAwsSnsVerifier.Cert.HttpClient](ExAwsSnsVerifier.Cert.HttpClient.md): Default HTTP client using `:httpc`.
- [ExAwsSnsVerifier.Cert.HttpClientBehaviour](ExAwsSnsVerifier.Cert.HttpClientBehaviour.md): Behaviour for pluggable HTTP clients used to fetch signing certificates.

- Core
  - [ExAwsSnsVerifier](ExAwsSnsVerifier.md): Verify the authenticity of AWS SNS HTTPS messages.
  - [ExAwsSnsVerifier.Canonical](ExAwsSnsVerifier.Canonical.md): Construct the canonical string for SNS message signature verification.

- Infrastructure
  - [ExAwsSnsVerifier.Cert](ExAwsSnsVerifier.Cert.md): Certificate fetching and caching for AWS SNS message verification.
  - [ExAwsSnsVerifier.Url](ExAwsSnsVerifier.Url.md): URL host validation helpers for AWS SNS signing cert and subscribe URLs.

- Exceptions
  - [ExAwsSnsVerifier.VerificationError](ExAwsSnsVerifier.VerificationError.md)

