Search in sources :

Example 1 with DoubleItImpl

use of org.apache.cxf.systest.ws.common.DoubleItImpl in project cxf by apache.

the class SecurityPolicyTest method init.

@BeforeClass
public static void init() throws Exception {
    URL wsdl = SecurityPolicyTest.class.getResource("DoubleIt.wsdl");
    createStaticBus(SecurityPolicyTest.class.getResource("https_config.xml").toString()).getExtension(PolicyEngine.class).setEnabled(true);
    getStaticBus().getOutInterceptors().add(new LoggingOutInterceptor());
    EndpointImpl ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortHttps"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_HTTPS_ADDRESS);
    ep.publish();
    ep.getServer().getEndpoint().getEndpointInfo().setProperty(SecurityConstants.CALLBACK_HANDLER, new ServerPasswordCallback());
    Endpoint.publish(POLICY_ADDRESS, new DoubleItImpl());
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortEncryptThenSign"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_ENCSIGN_ADDRESS);
    ep.publish();
    EndpointInfo ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortSignThenEncrypt"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_SIGNENC_ADDRESS);
    ep.publish();
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortSign"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_SIGN_ADDRESS);
    ep.publish();
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortXPath"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_XPATH_ADDRESS);
    ep.publish();
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "alice.properties", "bob.properties");
    ep = (EndpointImpl) Endpoint.publish(POLICY_SIGNENC_PROVIDER_ADDRESS, new DoubleItProvider());
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.publish(POLICY_FAULT_SIGNENC_PROVIDER_ADDRESS, new DoubleItFaultProvider());
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortSignedOnly"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_SIGNONLY_ADDRESS);
    ep.publish();
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortCXF3041"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_CXF3041_ADDRESS);
    ep.publish();
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortCXF3042"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_CXF3042_ADDRESS);
    ep.publish();
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "alice.properties", "alice.properties");
    ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortCXF3452"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_CXF3452_ADDRESS);
    ep.publish();
    ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "alice.properties", "alice.properties");
    ei.setProperty(Message.SCHEMA_VALIDATION_ENABLED, Boolean.TRUE);
}
Also used : EndpointInfo(org.apache.cxf.service.model.EndpointInfo) DoubleItImpl(org.apache.cxf.systest.ws.common.DoubleItImpl) LoggingOutInterceptor(org.apache.cxf.ext.logging.LoggingOutInterceptor) QName(javax.xml.namespace.QName) EndpointImpl(org.apache.cxf.jaxws.EndpointImpl) PolicyEngine(org.apache.cxf.ws.policy.PolicyEngine) URL(java.net.URL) BeforeClass(org.junit.BeforeClass)

Example 2 with DoubleItImpl

use of org.apache.cxf.systest.ws.common.DoubleItImpl in project cxf by apache.

the class UTServer method run.

protected void run() {
    Object implementor = new DoubleItImpl();
    String address = "http://localhost:" + PORT + "/DoubleItUsernameToken3";
    EndpointImpl jaxWsEndpoint = (EndpointImpl) Endpoint.publish(address, implementor);
    Map<String, Object> properties = new HashMap<>();
    properties.put("action", "UsernameToken");
    properties.put("passwordCallbackClass", "org.apache.cxf.systest.ws.common.UTPasswordCallback");
    WSS4JInInterceptor wss4jInInterceptor = new WSS4JInInterceptor(properties);
    jaxWsEndpoint.getServer().getEndpoint().getInInterceptors().add(wss4jInInterceptor);
}
Also used : DoubleItImpl(org.apache.cxf.systest.ws.common.DoubleItImpl) HashMap(java.util.HashMap) EndpointImpl(org.apache.cxf.jaxws.EndpointImpl) WSS4JInInterceptor(org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor)

Example 3 with DoubleItImpl

use of org.apache.cxf.systest.ws.common.DoubleItImpl in project cxf by apache.

the class SecurityPolicyTest method testCXF4122.

@Test
public void testCXF4122() throws Exception {
    Bus epBus = BusFactory.newInstance().createBus();
    BusFactory.setDefaultBus(epBus);
    URL wsdl = SecurityPolicyTest.class.getResource("DoubleIt.wsdl");
    EndpointImpl ep = (EndpointImpl) Endpoint.create(new DoubleItImpl());
    ep.setEndpointName(new QName("http://www.example.org/contract/DoubleIt", "DoubleItPortCXF4122"));
    ep.setWsdlLocation(wsdl.getPath());
    ep.setAddress(POLICY_CXF4122_ADDRESS);
    ep.publish();
    EndpointInfo ei = ep.getServer().getEndpoint().getEndpointInfo();
    setCryptoProperties(ei, "bob.properties", "revocation.properties");
    ei.setProperty(SecurityConstants.ENABLE_REVOCATION, Boolean.TRUE);
    SpringBusFactory bf = new SpringBusFactory();
    Bus bus = bf.createBus();
    BusFactory.setDefaultBus(bus);
    BusFactory.setThreadDefaultBus(bus);
    Service service = Service.create(wsdl, SERVICE_QNAME);
    QName portQName = new QName(NAMESPACE, "DoubleItPortCXF4122");
    DoubleItPortType pt = service.getPort(portQName, DoubleItPortType.class);
    updateAddressPort(pt, PORT);
    ((BindingProvider) pt).getRequestContext().put(SecurityConstants.CALLBACK_HANDLER, new KeystorePasswordCallback());
    ((BindingProvider) pt).getRequestContext().put(SecurityConstants.SIGNATURE_PROPERTIES, "revocation.properties");
    ((BindingProvider) pt).getRequestContext().put(SecurityConstants.ENCRYPT_PROPERTIES, "bob.properties");
    // DOM
    try {
        pt.doubleIt(5);
        fail("should fail on server side when do signature validation due the revoked certificates");
    } catch (Exception ex) {
    // expected
    }
    // TODO See WSS-464
    /*
        SecurityTestUtil.enableStreaming(pt);
        try {
            pt.doubleIt(5);
            fail("should fail on server side when do signature validation due the revoked certificates");
        } catch (Exception ex) {
            String errorMessage = ex.getMessage();
            // Different errors using different JDKs...
            System.out.println("ERR1: " + errorMessage);
        }
        */
    ((java.io.Closeable) pt).close();
    ep.stop();
    epBus.shutdown(true);
    bus.shutdown(true);
}
Also used : Bus(org.apache.cxf.Bus) QName(javax.xml.namespace.QName) EndpointImpl(org.apache.cxf.jaxws.EndpointImpl) Service(javax.xml.ws.Service) URL(java.net.URL) UnsupportedCallbackException(javax.security.auth.callback.UnsupportedCallbackException) IOException(java.io.IOException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) EndpointInfo(org.apache.cxf.service.model.EndpointInfo) SpringBusFactory(org.apache.cxf.bus.spring.SpringBusFactory) DoubleItImpl(org.apache.cxf.systest.ws.common.DoubleItImpl) DoubleItPortType(org.example.contract.doubleit.DoubleItPortType) KeystorePasswordCallback(org.apache.cxf.systest.ws.common.KeystorePasswordCallback) Test(org.junit.Test)

Aggregations

EndpointImpl (org.apache.cxf.jaxws.EndpointImpl)3 DoubleItImpl (org.apache.cxf.systest.ws.common.DoubleItImpl)3 URL (java.net.URL)2 QName (javax.xml.namespace.QName)2 EndpointInfo (org.apache.cxf.service.model.EndpointInfo)2 IOException (java.io.IOException)1 HashMap (java.util.HashMap)1 UnsupportedCallbackException (javax.security.auth.callback.UnsupportedCallbackException)1 Service (javax.xml.ws.Service)1 SOAPFaultException (javax.xml.ws.soap.SOAPFaultException)1 Bus (org.apache.cxf.Bus)1 SpringBusFactory (org.apache.cxf.bus.spring.SpringBusFactory)1 LoggingOutInterceptor (org.apache.cxf.ext.logging.LoggingOutInterceptor)1 KeystorePasswordCallback (org.apache.cxf.systest.ws.common.KeystorePasswordCallback)1 PolicyEngine (org.apache.cxf.ws.policy.PolicyEngine)1 WSS4JInInterceptor (org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor)1 DoubleItPortType (org.example.contract.doubleit.DoubleItPortType)1 BeforeClass (org.junit.BeforeClass)1 Test (org.junit.Test)1