# `SSL.Protocol.HandshakeCore`
[🔗](https://github.com/gsmlg-dev/http_fetch/blob/v0.16.7/apps/ex_ssl/lib/ssl/protocol/handshake_core.ex#L1)

Shared TLS 1.3 authentication and secret derivation over exact handshake bytes.

This core never constructs record keys, encrypts records, or accesses sockets.
Transport adapters own framing, delivery barriers and record/packet epochs.
Inputs contain already loaded trust and fresh connection key material.

# `fatal_alert`

```elixir
@type fatal_alert() ::
  :bad_record_mac
  | :record_overflow
  | :unknown_ca
  | :bad_certificate
  | :certificate_expired
  | :certificate_unknown
  | :decrypt_error
  | :unexpected_message
  | :unsupported_extension
  | :decode_error
  | :illegal_parameter
  | :internal_error
```

---

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