/** * Gets the signature algorithm URI to use. * * @param signingParameters the signing parameters to use * * @return signature algorithm to use with the associated signing credential * * @throws MessageEncodingException thrown if the algorithm URI is not supplied explicitly and * could not be derived from the supplied credential */ protected String getSignatureAlgorithmURI(SignatureSigningParameters signingParameters) throws MessageEncodingException { if (signingParameters.getSignatureAlgorithm() != null) { return signingParameters.getSignatureAlgorithm(); } throw new MessageEncodingException("The signing algorithm URI could not be determined"); }
/** * Gets the signature algorithm URI to use. * * @param signingParameters the signing parameters to use * * @return signature algorithm to use with the associated signing credential * * @throws MessageEncodingException thrown if the algorithm URI is not supplied explicitly and * could not be derived from the supplied credential */ protected String getSignatureAlgorithmURI(SignatureSigningParameters signingParameters) throws MessageEncodingException { if (signingParameters.getSignatureAlgorithm() != null) { return signingParameters.getSignatureAlgorithm(); } throw new MessageEncodingException("The signing algorithm URI could not be determined"); }
/** * Gets the signature algorithm URI to use. * * @param signingParameters the signing parameters to use * * @return signature algorithm to use with the associated signing credential * * @throws MessageEncodingException thrown if the algorithm URI is not supplied explicitly and * could not be derived from the supplied credential */ protected String getSignatureAlgorithmURI(SignatureSigningParameters signingParameters) throws MessageEncodingException { if (signingParameters.getSignatureAlgorithm() != null) { return signingParameters.getSignatureAlgorithm(); } throw new MessageEncodingException("The signing algorithm URI could not be determined"); }
/** * Build signature signing parameters signature signing parameters. * * @param descriptor the descriptor * @param service the service * @return the signature signing parameters */ @SneakyThrows protected SignatureSigningParameters buildSignatureSigningParameters(final RoleDescriptor descriptor, final SamlRegisteredService service) { val criteria = new CriteriaSet(); val signatureSigningConfiguration = getSignatureSigningConfiguration(descriptor, service); criteria.add(new SignatureSigningConfigurationCriterion(signatureSigningConfiguration)); criteria.add(new RoleDescriptorCriterion(descriptor)); val resolver = new SAMLMetadataSignatureSigningParametersResolver(); LOGGER.trace("Resolving signature signing parameters for [{}]", descriptor.getElementQName().getLocalPart()); @NonNull val params = resolver.resolveSingle(criteria); LOGGER.trace("Created signature signing parameters." + "\nSignature algorithm: [{}]" + "\nSignature canonicalization algorithm: [{}]" + "\nSignature reference digest methods: [{}]", params.getSignatureAlgorithm(), params.getSignatureCanonicalizationAlgorithm(), params.getSignatureReferenceDigestMethod()); return params; }
@Override public SignatureSigningParameters build(final SSODescriptor descriptor) { try { final CriteriaSet criteria = new CriteriaSet(); criteria.add(new SignatureSigningConfigurationCriterion( getSignatureSigningConfiguration())); criteria.add(new RoleDescriptorCriterion(descriptor)); final SAMLMetadataSignatureSigningParametersResolver resolver = new SAMLMetadataSignatureSigningParametersResolver(); final SignatureSigningParameters 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); } }