IMintedKeysBuilder Interface
The continuation of UseKeysInProcess: the placement that mints its own keys must say where the ring lives,
and the packages hang their PersistRingTo... calls off this.
public interface IMintedKeysBuilderRemarks
A ring store belongs to this placement and to no other, so it attaches here rather than to the service collection: there is nothing to register a store onto unless the placement that needs one was chosen. The placement where the custodian holds every key has no ring at all.
Properties
IMintedKeysBuilder.Services Property
The collection a PersistRingTo... call registers the store into.
Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; }Property Value
Microsoft.Extensions.DependencyInjection.IServiceCollection
Methods
IMintedKeysBuilder.AdoptExistingKeys(JsonWebKey[]) Method
Takes keys the server already signs with into the ring, so that switching to minted keys does not change which key produces on the day it happens.
Abblix.Jwt.ExternalKeys.IMintedKeysBuilder AdoptExistingKeys(params Abblix.Jwt.JsonWebKey[] keys);Parameters
keys JsonWebKey[]
The keys to take, private halves included - the ring seals what it is given, and a key without its private half can be published but cannot sign.
Returns
IMintedKeysBuilder
The same builder, so the PersistRingTo... call follows.
Remarks
This is a migration call and is meant to be deleted once the ring has rotated past the keys it names, but nothing breaks if it is not: keys are taken only into an EMPTY ring, so from the first entry onward the call does nothing. See AdoptedKeys for what adoption does to the ordering.