Package org.opensaml.saml.security.impl
Class SAMLMetadataSignatureSigningParametersResolver
- java.lang.Object
-
- org.opensaml.xmlsec.impl.AbstractSecurityParametersResolver<SignatureSigningParameters>
-
- org.opensaml.xmlsec.impl.BasicSignatureSigningParametersResolver
-
- org.opensaml.saml.security.impl.SAMLMetadataSignatureSigningParametersResolver
-
- All Implemented Interfaces:
Resolver<SignatureSigningParameters,CriteriaSet>,SignatureSigningParametersResolver
public class SAMLMetadataSignatureSigningParametersResolver extends BasicSignatureSigningParametersResolver
A specialization ofBasicSignatureSigningParametersResolverwhich also supports input of SAML metadata, specifically theSigningMethodandDigestMethodextension elements.In addition to the
Criterioninputs documented inBasicSignatureSigningParametersResolver, the following inputs are also supported:RoleDescriptorCriterion- optional
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogLogger.
-
Constructor Summary
Constructors Constructor Description SAMLMetadataSignatureSigningParametersResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancredentialSupportsSigningMethod(Credential credential, SigningMethod signingMethod)Evaluate whether the specified credential is supported for use with the specifiedSigningMethod.protected List<XMLObject>getExtensions(RoleDescriptor roleDescriptor, QName extensionName)Get the extensions indicated by the passed QName.protected voidresolveAndPopulateCredentialAndSignatureAlgorithm(SignatureSigningParameters params, CriteriaSet criteria, Predicate<String> includeExcludePredicate)Resolve and populate the signing credential and signature method algorithm URI on the supplied parameters instance.protected StringresolveReferenceDigestMethod(CriteriaSet criteria, Predicate<String> includeExcludePredicate)Resolve and return the digest method algorithm URI to use, including application of include/exclude policy.-
Methods inherited from class org.opensaml.xmlsec.impl.BasicSignatureSigningParametersResolver
credentialSupportsAlgorithm, getAlgorithmRegistry, getAlgorithmRuntimeSupportedPredicate, getEffectiveSignatureAlgorithms, getEffectiveSigningCredentials, getIncludeExcludePredicate, getWhitelistBlacklistPredicate, logResult, resolve, resolveCanonicalizationAlgorithm, resolveHMACOutputLength, resolveKeyInfoGenerator, resolveReferenceCanonicalizationAlgorithm, resolveSingle, setAlgorithmRegistry, validate
-
Methods inherited from class org.opensaml.xmlsec.impl.AbstractSecurityParametersResolver
lookupKeyInfoGenerator, resolveAndPopulateIncludesExcludes, resolveEffectiveExcludes, resolveEffectiveIncludes, resolveIncludeExcludePrecedence, resolveIncludeExcludePredicate
-
-
-
-
Method Detail
-
resolveAndPopulateCredentialAndSignatureAlgorithm
protected void resolveAndPopulateCredentialAndSignatureAlgorithm(@Nonnull SignatureSigningParameters params, @Nonnull CriteriaSet criteria, @Nonnull Predicate<String> includeExcludePredicate)Resolve and populate the signing credential and signature method algorithm URI on the supplied parameters instance.- Overrides:
resolveAndPopulateCredentialAndSignatureAlgorithmin classBasicSignatureSigningParametersResolver- Parameters:
params- the parameters instance being populatedcriteria- the input criteria being evaluatedincludeExcludePredicate- the include/exclude predicate with which to evaluate the candidate signing method algorithm URIs
-
credentialSupportsSigningMethod
protected boolean credentialSupportsSigningMethod(@Nonnull Credential credential, @Nonnull @NotEmpty SigningMethod signingMethod)Evaluate whether the specified credential is supported for use with the specifiedSigningMethod.- Parameters:
credential- the credential to evaluatesigningMethod- the signing method to evaluate- Returns:
- true if credential may be used with the supplied algorithm URI, false otherwise
-
resolveReferenceDigestMethod
@Nullable protected String resolveReferenceDigestMethod(@Nonnull CriteriaSet criteria, @Nonnull Predicate<String> includeExcludePredicate)
Resolve and return the digest method algorithm URI to use, including application of include/exclude policy.- Overrides:
resolveReferenceDigestMethodin classBasicSignatureSigningParametersResolver- Parameters:
criteria- the input criteria being evaluatedincludeExcludePredicate- the include/exclude predicate to use- Returns:
- the resolved digest method algorithm URI
-
getExtensions
@Nullable protected List<XMLObject> getExtensions(@Nonnull RoleDescriptor roleDescriptor, @Nonnull QName extensionName)
Get the extensions indicated by the passed QName. The passed RoleDescriptor's Extensions element is examined first. If at least 1 such extension is found there, that list is returned. If no such extensions are found on the RoleDescriptor, then the RoleDescriptor's parent EntityDescriptor will be examined, if it exists.- Parameters:
roleDescriptor- the role descriptor instance to examineextensionName- the extension name for which to search- Returns:
- the list of extension XMLObjects found, or null
-
-