private void generateFutureKeys(final JsonWebKeySet jsonWebKeySet) {
        val futureKeySigning = OidcJsonWebKeystoreGeneratorService.generateJsonWebKey(oidcProperties, OidcJsonWebKeyUsage.SIGNING);
        JsonWebKeyLifecycleStates.setJsonWebKeyState(futureKeySigning, JsonWebKeyLifecycleStates.FUTURE);
        LOGGER.trace("Generated future signing key with id [{}]", futureKeySigning.getKeyId());
        jsonWebKeySet.addJsonWebKey(futureKeySigning);

        val futureKeyEncryption = OidcJsonWebKeystoreGeneratorService.generateJsonWebKey(oidcProperties, OidcJsonWebKeyUsage.ENCRYPTION);
        JsonWebKeyLifecycleStates.setJsonWebKeyState(futureKeyEncryption, JsonWebKeyLifecycleStates.FUTURE);
        LOGGER.trace("Generated future encryption key with id [{}]", futureKeyEncryption.getKeyId());
        jsonWebKeySet.addJsonWebKey(futureKeyEncryption);
    }
This is {@link OidcDefaultJsonWebKeystoreRotationService}.

@author Misagh Moayyed
@since 6.5.0
support/cas-server-support-oidc-core-api/src/main/java/org/apereo/cas/oidc/jwks/rotation/OidcDefaultJsonWebKeystoreRotationService.java