use of org.apache.cxf.rs.security.xml.XmlSecOutInterceptor in project testcases by coheigea.
the class XMLEncryptionInteropTest method testXMLEncryption.
@org.junit.Test
public void testXMLEncryption() throws Exception {
URL busFile = XMLEncryptionInteropTest.class.getResource("cxf-client.xml");
String address = "http://localhost:" + test.port + "/doubleit/services";
WebClient client = WebClient.create(address, busFile.toString());
client = client.type("application/xml");
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("ws-security.callback-handler", "org.apache.coheigea.cxf.jaxrs.xmlsecurity.common.CommonCallbackHandler");
properties.put("ws-security.encryption.username", "myservicekey");
properties.put("ws-security.encryption.properties", "serviceKeystore.properties");
WebClient.getConfig(client).getRequestContext().putAll(properties);
if (test.streaming) {
XmlSecOutInterceptor encInterceptor = new XmlSecOutInterceptor();
encInterceptor.setEncryptRequest(true);
WebClient.getConfig(client).getOutInterceptors().add(encInterceptor);
XmlSecInInterceptor encInInterceptor = new XmlSecInInterceptor();
// encInInterceptor.setRequireEncryption(true);
WebClient.getConfig(client).getInInterceptors().add(encInInterceptor);
} else {
XmlEncOutInterceptor encInterceptor = new XmlEncOutInterceptor();
WebClient.getConfig(client).getOutInterceptors().add(encInterceptor);
XmlEncInInterceptor encInInterceptor = new XmlEncInInterceptor();
WebClient.getConfig(client).getInInterceptors().add(encInInterceptor);
}
Number numberToDouble = new Number();
numberToDouble.setDescription("This is the number to double");
numberToDouble.setNumber(25);
Response response = client.post(numberToDouble);
assertEquals(response.getStatus(), 200);
assertEquals(response.readEntity(Number.class).getNumber(), 50);
}
use of org.apache.cxf.rs.security.xml.XmlSecOutInterceptor in project testcases by coheigea.
the class XMLEncryptionStaxTest method testXMLEncryption.
@org.junit.Test
public void testXMLEncryption() throws Exception {
URL busFile = XMLEncryptionStaxTest.class.getResource("cxf-client.xml");
String address = "http://localhost:" + STAX_PORT + "/doubleit/services";
WebClient client = WebClient.create(address, busFile.toString());
client = client.type("application/xml");
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("ws-security.callback-handler", "org.apache.coheigea.cxf.jaxrs.xmlsecurity.common.CommonCallbackHandler");
properties.put("ws-security.encryption.username", "myservicekey");
properties.put("ws-security.encryption.properties", "serviceKeystore.properties");
WebClient.getConfig(client).getRequestContext().putAll(properties);
XmlSecOutInterceptor encInterceptor = new XmlSecOutInterceptor();
encInterceptor.setEncryptRequest(true);
WebClient.getConfig(client).getOutInterceptors().add(encInterceptor);
XmlSecInInterceptor encInInterceptor = new XmlSecInInterceptor();
// encInInterceptor.setRequireEncryption(true);
WebClient.getConfig(client).getInInterceptors().add(encInInterceptor);
Number numberToDouble = new Number();
numberToDouble.setDescription("This is the number to double");
numberToDouble.setNumber(25);
Response response = client.post(numberToDouble);
assertEquals(response.getStatus(), 200);
assertEquals(response.readEntity(Number.class).getNumber(), 50);
}
use of org.apache.cxf.rs.security.xml.XmlSecOutInterceptor in project testcases by coheigea.
the class XMLSignatureInteropTest method testXMLSignature.
@org.junit.Test
public void testXMLSignature() throws Exception {
URL busFile = XMLSignatureInteropTest.class.getResource("cxf-client.xml");
String address = "http://localhost:" + test.port + "/doubleit/services";
WebClient client = WebClient.create(address, busFile.toString());
client = client.type("application/xml");
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("ws-security.callback-handler", "org.apache.coheigea.cxf.jaxrs.xmlsecurity.common.CommonCallbackHandler");
properties.put("ws-security.signature.username", "myclientkey");
properties.put("ws-security.signature.properties", "clientKeystore.properties");
WebClient.getConfig(client).getRequestContext().putAll(properties);
if (test.streaming) {
XmlSecOutInterceptor sigInterceptor = new XmlSecOutInterceptor();
sigInterceptor.setSignRequest(true);
WebClient.getConfig(client).getOutInterceptors().add(sigInterceptor);
} else {
XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor();
WebClient.getConfig(client).getOutInterceptors().add(sigInterceptor);
}
Number numberToDouble = new Number();
numberToDouble.setDescription("This is the number to double");
numberToDouble.setNumber(25);
Response response = client.post(numberToDouble);
assertEquals(response.getStatus(), 200);
assertEquals(response.readEntity(Number.class).getNumber(), 50);
}
use of org.apache.cxf.rs.security.xml.XmlSecOutInterceptor in project cxf by apache.
the class JAXRSXmlSecTest method testUnsignedServerResponse.
@Test
public void testUnsignedServerResponse() throws Exception {
if (STAX_PORT.equals(test.port)) {
// We are only testing the client here
return;
}
String address = "https://localhost:" + test.port + "/xmlnosigresponse/bookstore/books";
JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
bean.setAddress(address);
SpringBusFactory bf = new SpringBusFactory();
URL busFile = JAXRSXmlSecTest.class.getResource("client.xml");
Bus springBus = bf.createBus(busFile.toString());
bean.setBus(springBus);
Map<String, Object> properties = new HashMap<>();
properties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback");
properties.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
properties.put(SecurityConstants.SIGNATURE_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/alice.properties");
bean.setProperties(properties);
if (test.streaming) {
XmlSecOutInterceptor sigOutInterceptor = new XmlSecOutInterceptor();
sigOutInterceptor.setSignRequest(true);
bean.getOutInterceptors().add(sigOutInterceptor);
XmlSecInInterceptor sigInInterceptor = new XmlSecInInterceptor();
sigInInterceptor.setRequireSignature(true);
bean.setProvider(sigInInterceptor);
} else {
XmlSigOutInterceptor sigOutInterceptor = new XmlSigOutInterceptor();
bean.getOutInterceptors().add(sigOutInterceptor);
XmlSigInInterceptor sigInInterceptor = new XmlSigInInterceptor();
bean.getInInterceptors().add(sigInInterceptor);
}
WebClient wc = bean.createWebClient();
WebClient.getConfig(wc).getHttpConduit().getClient().setReceiveTimeout(10000000L);
try {
wc.type("application/xml").post(new Book("CXF", 126L), Book.class);
fail("Failure expected on an unsigned response message");
} catch (ProcessingException ex) {
assertTrue(ex.getCause() instanceof BadRequestException);
}
}
use of org.apache.cxf.rs.security.xml.XmlSecOutInterceptor in project cxf by apache.
the class JAXRSXmlSecTest method testPostBookWithEnvelopedSigKeyName.
@Test
public void testPostBookWithEnvelopedSigKeyName() throws Exception {
// This test only applies to StAX - see CXF-7084
if (!test.streaming || !STAX_PORT.equals(test.port)) {
return;
}
String address = "https://localhost:" + test.port + "/xmlsigkeyname/bookstore/books";
JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
bean.setAddress(address);
SpringBusFactory bf = new SpringBusFactory();
URL busFile = JAXRSXmlSecTest.class.getResource("client.xml");
Bus springBus = bf.createBus(busFile.toString());
bean.setBus(springBus);
Map<String, Object> properties = new HashMap<>();
properties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback");
properties.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
properties.put(SecurityConstants.SIGNATURE_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/alice.properties");
bean.setProperties(properties);
XmlSecOutInterceptor sigOutInterceptor = new XmlSecOutInterceptor();
sigOutInterceptor.setSignRequest(true);
sigOutInterceptor.setKeyInfoMustBeAvailable(true);
SignatureProperties sigProps = new SignatureProperties();
sigProps.setSignatureKeyName("alice-kn");
sigProps.setSignatureKeyIdType("KeyName");
sigOutInterceptor.setSignatureProperties(sigProps);
bean.getOutInterceptors().add(sigOutInterceptor);
XmlSecInInterceptor sigInInterceptor = new XmlSecInInterceptor();
sigInInterceptor.setRequireSignature(true);
bean.setProvider(sigInInterceptor);
WebClient wc = bean.createWebClient();
WebClient.getConfig(wc).getHttpConduit().getClient().setReceiveTimeout(10000000L);
Book book = wc.type("application/xml").post(new Book("CXF", 126L), Book.class);
assertEquals(126L, book.getId());
}
Aggregations