/** * Prepare security parameters context. * * @param <T> the type parameter * @param adaptor the adaptor * @param outboundContext the outbound context * @param service the service */ protected <T extends SAMLObject> void prepareSecurityParametersContext(final SamlRegisteredServiceServiceProviderMetadataFacade adaptor, final MessageContext<T> outboundContext, final SamlRegisteredService service) { @NonNull val secParametersContext = outboundContext.getSubcontext(SecurityParametersContext.class, true); val roleDesc = adaptor.getSsoDescriptor(); val signingParameters = buildSignatureSigningParameters(roleDesc, service); secParametersContext.setSignatureSigningParameters(signingParameters); }
if (existingCtx != null && existingCtx.getSignatureSigningParameters() != null) { log.debug("{} Found existing SecurityParametersContext to copy from", getLogPrefix()); paramsCtx.setSignatureSigningParameters(existingCtx.getSignatureSigningParameters()); return; paramsCtx.setSignatureSigningParameters(params); log.debug("{} {} SignatureSigningParameters", getLogPrefix(), params != null ? "Resolved" : "Failed to resolve");
@Override protected void doEncode() throws MessageEncodingException { val messageContext = new MessageContext(); if (logoutRequest.isSigned()) { val signingContext = messageContext.getSubcontext(SecurityParametersContext.class, true); val signingParams = new SignatureSigningParameters(); val signature = logoutRequest.getSignature(); signingParams.setSigningCredential(signature.getSigningCredential()); signingParams.setSignatureAlgorithm(signature.getSignatureAlgorithm()); signingContext.setSignatureSigningParameters(signingParams); } removeSignature(logoutRequest); val encodedMessage = deflateAndBase64Encode(logoutRequest); messageContext.setMessage(logoutRequest); this.redirectUrl = buildRedirectURL(messageContext, endpointUrl, encodedMessage); }
outboundContext.getSAMLProtocolContext().setProtocol(context.getSAMLProtocolContext().getProtocol()); outboundContext.getSecurityParametersContext() .setSignatureSigningParameters(this.signatureSigningParametersProvider.build(spDescriptor));