# `BoundedAuthorityProtocol.V1.TrustedIssuer`
[🔗](https://github.com/baselabs/bounded_authority_protocol/blob/v1.0.0/lib/bounded_authority_protocol/v1/trusted_issuer.ex#L1)

Caller-supplied already-trusted issuer key context.

The library never discovers or selects keys: the caller supplies the one key it trusts.

## Fields

* `key_id` - the exact `kid` the grant header must carry: 1 to `kid_bytes` (128) bytes of ASCII
  letters, digits, `-`, `.`, `_` or `~`.
* `public_key` - the issuer's raw public key in the suite's fixed width: 32-byte Ed25519 under
  contract-majors 1 and 2, the 65-byte uncompressed SEC1 P-256 point `0x04 || x || y` under
  contract-major 3.

# `t`

```elixir
@type t() :: %BoundedAuthorityProtocol.V1.TrustedIssuer{
  key_id: binary(),
  public_key: binary()
}
```

An already-trusted issuer key.

---

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