Skip to content

Signing

required

Under the signing config option the signatures are configured.

alg

enum ES512 optional

The signing algorithm that is used.

Supported values are:

  • ES256
  • ES384
  • ES512
  • EdDSA (ed25519)
  • RS256
  • RS384
  • RS512
  • PS256
  • PS384
  • PS512
config.yaml
signing:
    alg: EdDSA

rsa_key_len

integer 2048 optional

The rsa_key_len option defines the length of the generated key, if an RSA-based signing key is used and the key is generated by LightHouse because it was not provided externally.

config.yaml
signing:
    alg: PS256
    rsa_key_len: 4096

key_file

Deprecated

The key_file option is deprecated and must no longer be used. Instead key_dir is used. To keep the existing signing key place it in the key_dir directory (if not already the case) and rename it to the following naming scheme: federation_<alg>.pem, e.g. federation_ES512.pem

key_dir

directory path required

The key_dir option specifies the path to a directory that contains the private signing key(s), as well as a key set for public keys.

config.yaml
signing:
    key_dir: /path/to/keys

automatic_key_rollover

object / mapping optional

Under the automatic_key_rollover option key rollover / key rotation is configured.

config.yaml
signing:
    key_dir: /path/to/keys
    automatic_key_rollover:
        enabled: true
        interval: 30d

enabled

boolean false optional

To enable automatic key rollover / rotation set enabled to true. If enabled, Lighthouse will automatically generate a new signing key when needed (according to the configured interval). The current and next public key are published in the entity configuration; this allows other entities to already have the public key of the next signing key when it will be used.

interval

duration 600000 seconds = ca. 1 week optional

The interval option is used to set the interval at which keys should be rotated, i.e. this defines the lifetime of a key. This cannot be smaller than the lifetime of the Entity Configuration. It also should not be smaller than the lifetime of entity statements, trust marks, or other JWTs signed with the federation entity key.

old_keys_kept_in_jwks

number 0 optional

The old_keys_kept_in_jwks option sets a number of old keys that are still published in the jwks in the entity configuration. This option should only be changed when it is needed. Usually, it will not be required to publish old keys here.