Skip to content

LocalKeys Class

What an in-process key ring mints, and how often.

C#
public sealed record LocalKeys : System.IEquatable<Abblix.Jwt.ExternalKeys.LocalKeys>

Inheritance System.Object → LocalKeys

Implements System.IEquatable<LocalKeys>

Remarks

The counterpart of MintedKeys for a ring with no custodian behind it. It names no key-encryption key because there is nothing to seal to and nothing to seal for: the keys never leave the process that made them.

Properties

LocalKeys.EncryptionAlgorithm Property

The JWE key-management algorithm the minted encryption key uses, or null to mint no encryption key.

C#
public string? EncryptionAlgorithm { get; init; }

Property Value

System.String

LocalKeys.KeepRetiredFor Property

How long a key that has stopped producing is still offered, so what it produced stays verifiable.

C#
public System.TimeSpan KeepRetiredFor { get; init; }

Property Value

System.TimeSpan

Remarks

Must outlast the longest thing the key signed or encrypted. Retire a key sooner than the tokens it signed, and those tokens fail verification while their holders still believe them valid.

LocalKeys.RotateEvery Property

How often a fresh key is minted and the previous one steps back from producing.

C#
public System.TimeSpan RotateEvery { get; init; }

Property Value

System.TimeSpan

LocalKeys.RsaKeySize Property

The modulus size of a minted RSA key.

C#
public int RsaKeySize { get; init; }

Property Value

System.Int32

LocalKeys.SigningAlgorithm Property

The JWS algorithm the minted signing keys use, which also decides what is generated.

C#
public string SigningAlgorithm { get; init; }

Property Value

System.String