Search in sources :

Example 6 with SAMLOutboundProtocolMessageSigningHandler

use of org.opensaml.saml.common.binding.security.impl.SAMLOutboundProtocolMessageSigningHandler in project cas by apereo.

the class SamlObjectSignatureValidatorTests method verifySamlAuthnRequestSigned.

@Test
public void verifySamlAuthnRequestSigned() throws Exception {
    val spMetadataPath = new File(FileUtils.getTempDirectory(), "sp-metadata.xml").getCanonicalPath();
    setupTestContextFor(spMetadataPath, "cas:example:sp");
    val request = new MockHttpServletRequest();
    val builder = new SAML2AuthnRequestBuilder();
    val authnRequest = builder.build(saml2MessageContext);
    val messageContext = new MessageContext();
    messageContext.setMessage(authnRequest);
    val secContext = messageContext.getSubcontext(SecurityParametersContext.class, true);
    val provider = new DefaultSignatureSigningParametersProvider(saml2ClientConfiguration);
    Objects.requireNonNull(secContext).setSignatureSigningParameters(provider.build(adaptor.getSsoDescriptor()));
    val handler = new SAMLOutboundProtocolMessageSigningHandler();
    handler.initialize();
    handler.invoke(messageContext);
    assertDoesNotThrow(new Executable() {

        @Override
        public void execute() throws Throwable {
            samlObjectSignatureValidator.verifySamlProfileRequestIfNeeded(authnRequest, adaptor, request, samlContext);
        }
    });
}
Also used : lombok.val(lombok.val) DefaultSignatureSigningParametersProvider(org.pac4j.saml.crypto.DefaultSignatureSigningParametersProvider) MockHttpServletRequest(org.springframework.mock.web.MockHttpServletRequest) SAMLOutboundProtocolMessageSigningHandler(org.opensaml.saml.common.binding.security.impl.SAMLOutboundProtocolMessageSigningHandler) MessageContext(org.opensaml.messaging.context.MessageContext) SAML2MessageContext(org.pac4j.saml.context.SAML2MessageContext) Executable(org.junit.jupiter.api.function.Executable) File(java.io.File) SAML2AuthnRequestBuilder(org.pac4j.saml.sso.impl.SAML2AuthnRequestBuilder) Test(org.junit.jupiter.api.Test)

Aggregations

SAMLOutboundProtocolMessageSigningHandler (org.opensaml.saml.common.binding.security.impl.SAMLOutboundProtocolMessageSigningHandler)6 lombok.val (lombok.val)2 ComponentInitializationException (net.shibboleth.utilities.java.support.component.ComponentInitializationException)2 MessageEncodingException (org.opensaml.messaging.encoder.MessageEncodingException)2 SAMLOutboundDestinationHandler (org.opensaml.saml.common.binding.impl.SAMLOutboundDestinationHandler)2 EndpointURLSchemeSecurityHandler (org.opensaml.saml.common.binding.security.impl.EndpointURLSchemeSecurityHandler)2 SAMLException (org.pac4j.saml.exceptions.SAMLException)2 File (java.io.File)1 Test (org.junit.jupiter.api.Test)1 Executable (org.junit.jupiter.api.function.Executable)1 MessageContext (org.opensaml.messaging.context.MessageContext)1 SAML2MessageContext (org.pac4j.saml.context.SAML2MessageContext)1 DefaultSignatureSigningParametersProvider (org.pac4j.saml.crypto.DefaultSignatureSigningParametersProvider)1 SAML2AuthnRequestBuilder (org.pac4j.saml.sso.impl.SAML2AuthnRequestBuilder)1 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)1