# `ExAwsSnsVerifier.Cert`
[🔗](https://github.com/GustavoZiaugra/ex_aws_sns_verifier/blob/v0.1.0/lib/ex_aws_sns_verifier/cert.ex#L1)

Certificate fetching and caching for AWS SNS message verification.

Downloads the signing certificate from the `SigningCertURL`, extracts the
RSA public key, and caches it in `:persistent_term` with a 24-hour TTL.
The cache and HTTP client are replaceable via options.

# `fetch`

```elixir
@spec fetch(ExAwsSnsVerifier.t(), map()) :: {:ok, tuple()} | {:error, atom()}
```

Fetch and decode the public key from a message's SigningCertURL.

Checks cache first (`:persistent_term`), then validates the URL, downloads
the PEM certificate, extracts the RSA public key, and caches it.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
