#### [Abblix\.Jwt](https://www.abblix.com/en/docs/api/abblix-jwt 'index')
### [Abblix\.Jwt\.ExternalKeys](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ExternalKeys 'Abblix\.Jwt\.ExternalKeys')

## 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\.

```csharp
public interface IMintedKeysBuilder
```

### Remarks
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 {#Abblix.Jwt.ExternalKeys.IMintedKeysBuilder.Services}

The collection a `PersistRingTo...` call registers the store into\.

```csharp
Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; }
```

#### Property Value
[Microsoft\.Extensions\.DependencyInjection\.IServiceCollection](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.iservicecollection 'Microsoft\.Extensions\.DependencyInjection\.IServiceCollection')
### Methods

## IMintedKeysBuilder\.AdoptExistingKeys\(JsonWebKey\[\]\) Method {#Abblix.Jwt.ExternalKeys.IMintedKeysBuilder.AdoptExistingKeys(Abblix.Jwt.JsonWebKey[])}

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\.

```csharp
Abblix.Jwt.ExternalKeys.IMintedKeysBuilder AdoptExistingKeys(params Abblix.Jwt.JsonWebKey[] keys);
```
#### Parameters

###### `keys` [JsonWebKey](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JsonWebKey 'Abblix\.Jwt\.JsonWebKey')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') {#Abblix.Jwt.ExternalKeys.IMintedKeysBuilder.AdoptExistingKeys(Abblix.Jwt.JsonWebKey[]).keys}

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](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ExternalKeys.IMintedKeysBuilder 'Abblix\.Jwt\.ExternalKeys\.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](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ExternalKeys.MintedKeys#Abblix.Jwt.ExternalKeys.MintedKeys.AdoptedKeys 'Abblix\.Jwt\.ExternalKeys\.MintedKeys\.AdoptedKeys') for what adoption does to the ordering\.
