protected BasicSignatureSigningConfiguration configureSignatureSigningSecurityConfiguration(final SamlRegisteredService service) {
        val config = DefaultSecurityConfigurationBootstrap.buildDefaultSignatureSigningConfiguration();
        LOGGER.trace("Default signature signing blocked algorithms: [{}]", config.getExcludedAlgorithms());
        LOGGER.trace("Default signature signing signature algorithms: [{}]", config.getSignatureAlgorithms());
        LOGGER.trace("Default signature signing signature canonicalization algorithm: [{}]", config.getSignatureCanonicalizationAlgorithm());
        LOGGER.trace("Default signature signing allowed algorithms: [{}]", config.getIncludedAlgorithms());
        LOGGER.trace("Default signature signing reference digest methods: [{}]", config.getSignatureReferenceDigestMethods());

        val samlIdp = casProperties.getAuthn().getSamlIdp();
        val globalAlgorithms = samlIdp.getAlgs();

        val overrideSignatureReferenceDigestMethods = service.getSigningSignatureReferenceDigestMethods().isEmpty()
            ? globalAlgorithms.getOverrideSignatureReferenceDigestMethods()
            : service.getSigningSignatureReferenceDigestMethods();
        if (overrideSignatureReferenceDigestMethods != null && !overrideSignatureReferenceDigestMethods.isEmpty()) {
            config.setSignatureReferenceDigestMethods(overrideSignatureReferenceDigestMethods);
        }

        val overrideSignatureAlgorithms = service.getSigningSignatureAlgorithms().isEmpty()
            ? globalAlgorithms.getOverrideSignatureAlgorithms()
            : service.getSigningSignatureAlgorithms();
        if (overrideSignatureAlgorithms != null && !overrideSignatureAlgorithms.isEmpty()) {
            config.setSignatureAlgorithms(overrideSignatureAlgorithms);
        }

        val overrideBlockedSignatureAlgorithms = service.getSigningSignatureBlackListedAlgorithms().isEmpty()
            ? globalAlgorithms.getOverrideBlockedSignatureSigningAlgorithms()
            : service.getSigningSignatureBlackListedAlgorithms();
        if (overrideBlockedSignatureAlgorithms != null && !overrideBlockedSignatureAlgorithms.isEmpty()) {
            config.setExcludedAlgorithms(overrideBlockedSignatureAlgorithms);
        }

        val overrideAllowedAlgorithms = service.getSigningSignatureWhiteListedAlgorithms().isEmpty()
            ? globalAlgorithms.getOverrideAllowedSignatureSigningAlgorithms()
            : service.getSigningSignatureWhiteListedAlgorithms();
        if (overrideAllowedAlgorithms != null && !overrideAllowedAlgorithms.isEmpty()) {
            config.setIncludedAlgorithms(overrideAllowedAlgorithms);
        }

        if (StringUtils.isNotBlank(service.getSigningSignatureCanonicalizationAlgorithm())) {
            config.setSignatureCanonicalizationAlgorithm(service.getSigningSignatureCanonicalizationAlgorithm());
        } else if (StringUtils.isNotBlank(globalAlgorithms.getOverrideSignatureCanonicalizationAlgorithm())) {
            config.setSignatureCanonicalizationAlgorithm(globalAlgorithms.getOverrideSignatureCanonicalizationAlgorithm());
        }
        LOGGER.trace("Finalized signature signing blocked algorithms: [{}]", config.getExcludedAlgorithms());
        LOGGER.trace("Finalized signature signing signature algorithms: [{}]", config.getSignatureAlgorithms());
        LOGGER.trace("Finalized signature signing signature canonicalization algorithm: [{}]", config.getSignatureCanonicalizationAlgorithm());
        LOGGER.trace("Finalized signature signing allowed algorithms: [{}]", config.getIncludedAlgorithms());
        LOGGER.trace("Finalized signature signing reference digest methods: [{}]", config.getSignatureReferenceDigestMethods());

        if (StringUtils.isNotBlank(service.getWhiteListBlackListPrecedence())) {
            val precedence = AlgorithmPolicyConfiguration.Precedence.valueOf(service.getWhiteListBlackListPrecedence().trim().toUpperCase(Locale.ENGLISH));
            config.setIncludeExcludePrecedence(precedence);
        }
        return config;
    }
Gets signing private key.

@param registeredService the registered service
@return the signing private key
@throws Throwable the throwable
support/cas-server-support-saml-idp-web/src/main/java/org/apereo/cas/support/saml/web/idp/profile/builders/enc/DefaultSamlIdPObjectSigner.java