Table of Contents

Class IdentityServerBuilderExtensionsCrypto

Namespace
Microsoft.Extensions.DependencyInjection
Assembly
Duende.IdentityServer.dll

Builder extension methods for registering crypto services

public static class IdentityServerBuilderExtensionsCrypto
Inheritance
IdentityServerBuilderExtensionsCrypto
Inherited Members

Methods

AddDeveloperSigningCredential(IIdentityServerBuilder, bool, string?, RsaSigningAlgorithm)

Sets the temporary signing credential.

public static IIdentityServerBuilder AddDeveloperSigningCredential(this IIdentityServerBuilder builder, bool persistKey = true, string? filename = null, IdentityServerConstants.RsaSigningAlgorithm signingAlgorithm = RsaSigningAlgorithm.RS256)

Parameters

builder IIdentityServerBuilder

The builder.

persistKey bool

Specifies if the temporary key should be persisted to disk.

filename string

The filename.

signingAlgorithm IdentityServerConstants.RsaSigningAlgorithm

The signing algorithm (defaults to RS256)

Returns

IIdentityServerBuilder

AddSigningCredential(IIdentityServerBuilder, ECDsaSecurityKey, ECDsaSigningAlgorithm)

Sets an ECDsa-based signing credential.

public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, ECDsaSecurityKey key, IdentityServerConstants.ECDsaSigningAlgorithm signingAlgorithm)

Parameters

builder IIdentityServerBuilder

The builder.

key ECDsaSecurityKey

The ECDsa key.

signingAlgorithm IdentityServerConstants.ECDsaSigningAlgorithm

The signing algorithm

Returns

IIdentityServerBuilder

AddSigningCredential(IIdentityServerBuilder, RsaSecurityKey, RsaSigningAlgorithm)

Sets an RSA-based signing credential.

public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, RsaSecurityKey key, IdentityServerConstants.RsaSigningAlgorithm signingAlgorithm)

Parameters

builder IIdentityServerBuilder

The builder.

key RsaSecurityKey

The RSA key.

signingAlgorithm IdentityServerConstants.RsaSigningAlgorithm

The signing algorithm

Returns

IIdentityServerBuilder

AddSigningCredential(IIdentityServerBuilder, SecurityKey, string)

Sets the signing credential.

public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, SecurityKey key, string signingAlgorithm)

Parameters

builder IIdentityServerBuilder

The builder.

key SecurityKey

The key.

signingAlgorithm string

The signing algorithm

Returns

IIdentityServerBuilder

AddSigningCredential(IIdentityServerBuilder, SigningCredentials)

Sets the signing credential.

public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, SigningCredentials credential)

Parameters

builder IIdentityServerBuilder

The builder.

credential SigningCredentials

The credential.

Returns

IIdentityServerBuilder

AddSigningCredential(IIdentityServerBuilder, X509Certificate2, string)

Sets the signing credential.

public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, X509Certificate2 certificate, string signingAlgorithm = "RS256")

Parameters

builder IIdentityServerBuilder

The builder.

certificate X509Certificate2

The certificate.

signingAlgorithm string

The signing algorithm (defaults to RS256)

Returns

IIdentityServerBuilder

Exceptions

ArgumentNullException
InvalidOperationException

X509 certificate does not have a private key.

AddSigningCredential(IIdentityServerBuilder, string, StoreLocation, NameType, string)

Sets the signing credential.

public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, string name, StoreLocation location = StoreLocation.LocalMachine, NameType nameType = NameType.SubjectDistinguishedName, string signingAlgorithm = "RS256")

Parameters

builder IIdentityServerBuilder

The builder.

name string

The name.

location StoreLocation

The location.

nameType NameType

Name parameter can be either a distinguished name or a thumbprint

signingAlgorithm string

The signing algorithm (defaults to RS256)

Returns

IIdentityServerBuilder

Exceptions

InvalidOperationException

certificate: '{name}'

AddValidationKey(IIdentityServerBuilder, params SecurityKeyInfo[])

Adds the validation keys.

public static IIdentityServerBuilder AddValidationKey(this IIdentityServerBuilder builder, params SecurityKeyInfo[] keys)

Parameters

builder IIdentityServerBuilder

The builder.

keys SecurityKeyInfo[]

The keys.

Returns

IIdentityServerBuilder

AddValidationKey(IIdentityServerBuilder, ECDsaSecurityKey, ECDsaSigningAlgorithm)

Adds an ECDSA-based validation key.

public static IIdentityServerBuilder AddValidationKey(this IIdentityServerBuilder builder, ECDsaSecurityKey key, IdentityServerConstants.ECDsaSigningAlgorithm signingAlgorithm = ECDsaSigningAlgorithm.ES256)

Parameters

builder IIdentityServerBuilder

The builder.

key ECDsaSecurityKey

The ECDSA key

signingAlgorithm IdentityServerConstants.ECDsaSigningAlgorithm

The ECDSA-based signing algorithm

Returns

IIdentityServerBuilder

AddValidationKey(IIdentityServerBuilder, RsaSecurityKey, RsaSigningAlgorithm)

Adds an RSA-based validation key.

public static IIdentityServerBuilder AddValidationKey(this IIdentityServerBuilder builder, RsaSecurityKey key, IdentityServerConstants.RsaSigningAlgorithm signingAlgorithm = RsaSigningAlgorithm.RS256)

Parameters

builder IIdentityServerBuilder

The builder.

key RsaSecurityKey

The RSA key

signingAlgorithm IdentityServerConstants.RsaSigningAlgorithm

The RSA-based signing algorithm

Returns

IIdentityServerBuilder

AddValidationKey(IIdentityServerBuilder, X509Certificate2, string)

Adds the validation key.

public static IIdentityServerBuilder AddValidationKey(this IIdentityServerBuilder builder, X509Certificate2 certificate, string signingAlgorithm = "RS256")

Parameters

builder IIdentityServerBuilder

The builder.

certificate X509Certificate2

The certificate.

signingAlgorithm string

The signing algorithm

Returns

IIdentityServerBuilder

Exceptions

ArgumentNullException

AddValidationKey(IIdentityServerBuilder, string, StoreLocation, NameType, string)

Adds the validation key from the certificate store.

public static IIdentityServerBuilder AddValidationKey(this IIdentityServerBuilder builder, string name, StoreLocation location = StoreLocation.LocalMachine, NameType nameType = NameType.SubjectDistinguishedName, string signingAlgorithm = "RS256")

Parameters

builder IIdentityServerBuilder

The builder.

name string

The name.

location StoreLocation

The location.

nameType NameType

Name parameter can be either a distinguished name or a thumbprint

signingAlgorithm string

The signing algorithm

Returns

IIdentityServerBuilder