@Override
    public SignatureSigningParameters build(final SSODescriptor descriptor) {
        try {
            val criteria = new CriteriaSet();
            criteria.add(new SignatureSigningConfigurationCriterion(
                    getSignatureSigningConfiguration()));
            criteria.add(new RoleDescriptorCriterion(descriptor));
            Resolver<SignatureSigningParameters, CriteriaSet> resolver =
                    new SAMLMetadataSignatureSigningParametersResolver();

            val params = resolver.resolveSingle(criteria);
            augmentSignatureSigningParameters(params);

            if (params == null) {
                throw new SAMLException("Could not determine the signature parameters");
            }

            LOGGER.info("Created signature signing parameters." +
                    "\nSignature algorithm: {}" +
                    "\nSignature canonicalization algorithm: {}" +
                    "\nSignature reference digest methods: {}",
                    params.getSignatureAlgorithm(), params.getSignatureCanonicalizationAlgorithm(),
                    params.getSignatureReferenceDigestMethod());

            return params;
        } catch (final Exception e) {
            throw new SAMLException(e);
        }
    }
Provide the signature parameters required for signing.

@author Misagh Moayyed
@since 1.7
pac4j-saml/src/main/java/org/pac4j/saml/crypto/DefaultSignatureSigningParametersProvider.java