@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @ConditionalOnMissingBean(name = "interruptCookieCipherExecutor")
        public CipherExecutor interruptCookieCipherExecutor(
            final ConfigurableApplicationContext applicationContext,
            final CasConfigurationProperties casProperties) {
            val props = casProperties.getInterrupt().getCookie();
            var enabled = props.getCrypto().isEnabled();
            if (!enabled && StringUtils.isNotBlank(props.getCrypto().getEncryption().getKey())
                && StringUtils.isNotBlank(props.getCrypto().getSigning().getKey())) {
                LOGGER.warn("Interrupt webflow cookie encryption/signing is not enabled explicitly in the configuration for cookie [{}], yet signing/encryption keys "
                    + "are defined for operations. CAS will proceed to enable the cookie encryption/signing functionality.", props.getName());
                enabled = true;
            }

            if (enabled) {
                return CipherExecutorUtils.newStringCipherExecutor(props.getCrypto(), InterruptTrackingCookieCipherExecutor.class);
            }
            LOGGER.info("Interrupt webflow cookie encryption/signing is turned off and MAY NOT be safe in a production environment. "
                + "Consider using other choices to handle encryption, signing and verification of metadata artifacts");
            return CipherExecutor.noOp();
        }
This is {@link CasInterruptAutoConfiguration}.

@author Misagh Moayyed
@since 5.2.0
support/cas-server-support-interrupt-core/src/main/java/org/apereo/cas/config/CasInterruptAutoConfiguration.java