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 of
BasicSignatureSigningParametersResolver
which also supports input of SAML metadata,
specifically the SigningMethod
and DigestMethod
extension elements.
In addition to the Criterion
inputs documented in
BasicSignatureSigningParametersResolver
, the following inputs are also supported:
RoleDescriptorCriterion
- optional
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
credentialSupportsSigningMethod
(Credential credential, SigningMethod signingMethod) Evaluate whether the specified credential is supported for use with the specifiedSigningMethod
.getExtensions
(RoleDescriptor roleDescriptor, QName extensionName) Get the extensions indicated by the passed QName.protected void
resolveAndPopulateCredentialAndSignatureAlgorithm
(SignatureSigningParameters params, CriteriaSet criteria, Predicate<String> includeExcludePredicate) Resolve and populate the signing credential and signature method algorithm URI on the supplied parameters instance.protected String
resolveReferenceDigestMethod
(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
-
Field Details
-
log
@Nonnull private org.slf4j.Logger logLogger.
-
-
Constructor Details
-
SAMLMetadataSignatureSigningParametersResolver
public SAMLMetadataSignatureSigningParametersResolver()
-
-
Method Details
-
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:
resolveAndPopulateCredentialAndSignatureAlgorithm
in 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:
resolveReferenceDigestMethod
in 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
-