/** * Determine whether the SAML binding to be used by the message context supports signatures * at the binding layer. * * <p> * The capability of the binding is determined by extracting a {@link BindingDescriptor} from a * {@link SAMLBindingContext}. * </p> * * @param messageContext current message context * @return true if the message is considered to be digitally signed, false otherwise */ public static boolean isSigningCapableBinding(@Nonnull final MessageContext<SAMLObject> messageContext) { final SAMLBindingContext bindingContext = messageContext.getSubcontext(SAMLBindingContext.class); if (bindingContext != null && bindingContext.getBindingDescriptor() != null) { return bindingContext.getBindingDescriptor().isSignatureCapable(); } else { return false; } }
/** {@inheritDoc} */ @Override @Nullable public String apply(@Nullable final SAMLBindingContext input) { if (input != null) { if (useShortName) { final BindingDescriptor descriptor = input.getBindingDescriptor(); if (descriptor != null && descriptor.getShortName() != null) { return descriptor.getShortName(); } } return input.getBindingUri(); } else { return null; } }
.getSubcontext(SAMLBindingContext.class); decodedCtx.getSAMLBindingContext().setBindingDescriptor(bindingContext.getBindingDescriptor()); decodedCtx.getSAMLBindingContext().setBindingUri(bindingContext.getBindingUri()); decodedCtx.getSAMLBindingContext().setHasBindingSignature(bindingContext.hasBindingSignature());