use of org.apache.cxf.systest.jaxrs.security.BookStore in project cxf by apache.
the class JAXRSXmlSecTest method testEncryptionNoSignature.
@Test
public void testEncryptionNoSignature() throws Exception {
if (test.streaming) {
// Only testing the endpoints, not the clients here
return;
}
String address = "https://localhost:" + test.port + "/xmlsec-validate";
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.ENCRYPT_USERNAME, "bob");
properties.put(SecurityConstants.ENCRYPT_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/bob.properties");
properties.put(SecurityConstants.SIGNATURE_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/alice.properties");
bean.setProperties(properties);
XmlEncOutInterceptor encInterceptor = new XmlEncOutInterceptor();
encInterceptor.setKeyIdentifierType(RSSecurityUtils.X509_CERT);
encInterceptor.setSymmetricEncAlgorithm(XMLCipher.AES_128);
bean.getOutInterceptors().add(encInterceptor);
bean.getInInterceptors().add(new XmlEncInInterceptor());
bean.getInInterceptors().add(new XmlSigInInterceptor());
bean.setServiceClass(BookStore.class);
BookStore store = bean.create(BookStore.class);
try {
store.addBook(new Book("CXF", 126L));
fail("Failure expected on no Signature");
} catch (WebApplicationException ex) {
// expected
}
}
use of org.apache.cxf.systest.jaxrs.security.BookStore in project cxf by apache.
the class JAXRSXmlSecTest method testSignatureNoEncryption.
@Test
public void testSignatureNoEncryption() throws Exception {
if (test.streaming) {
// Only testing the endpoints, not the clients here
return;
}
String address = "https://localhost:" + test.port + "/xmlsec-validate";
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.ENCRYPT_USERNAME, "bob");
properties.put(SecurityConstants.ENCRYPT_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/bob.properties");
properties.put(SecurityConstants.SIGNATURE_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/alice.properties");
bean.setProperties(properties);
XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor();
bean.getOutInterceptors().add(sigInterceptor);
bean.getInInterceptors().add(new XmlEncInInterceptor());
bean.getInInterceptors().add(new XmlSigInInterceptor());
bean.setServiceClass(BookStore.class);
BookStore store = bean.create(BookStore.class);
try {
store.addBook(new Book("CXF", 126L));
fail("Failure expected on no Encryption");
} catch (WebApplicationException ex) {
// expected
}
}
use of org.apache.cxf.systest.jaxrs.security.BookStore in project cxf by apache.
the class JAXRSXmlSecTest method testPostBookWithNoSig.
@Test
public void testPostBookWithNoSig() throws Exception {
if (test.streaming) {
// Only testing the endpoints, not the clients here
return;
}
String address = "https://localhost:" + test.port + "/xmlsig";
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);
bean.setServiceClass(BookStore.class);
BookStore store = bean.create(BookStore.class);
try {
store.addBook(new Book("CXF", 126L));
fail("Failure expected on no Signature");
} catch (WebApplicationException ex) {
// expected
}
}
use of org.apache.cxf.systest.jaxrs.security.BookStore in project cxf by apache.
the class JAXRSXmlSecTest method testOldConfiguration.
@Test
public void testOldConfiguration() throws Exception {
String address = "https://localhost:" + test.port + "/xmlsig";
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> newProperties = new HashMap<>();
newProperties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback");
newProperties.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
String cryptoUrl = "org/apache/cxf/systest/jaxrs/security/alice.properties";
newProperties.put(SecurityConstants.SIGNATURE_PROPERTIES, cryptoUrl);
bean.setProperties(newProperties);
if (test.streaming) {
XmlSecOutInterceptor sigInterceptor = new XmlSecOutInterceptor();
sigInterceptor.setSignRequest(true);
bean.getOutInterceptors().add(sigInterceptor);
} else {
XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor();
bean.getOutInterceptors().add(sigInterceptor);
}
bean.setServiceClass(BookStore.class);
BookStore store = bean.create(BookStore.class);
Book book = store.addBook(new Book("CXF", 126L));
assertEquals(126L, book.getId());
}
use of org.apache.cxf.systest.jaxrs.security.BookStore in project cxf by apache.
the class JAXRSXmlSecTest method doTestSignatureProxy.
private void doTestSignatureProxy(String address, boolean enveloping, String cryptoUrlPrefix, boolean streaming, Map<String, Object> properties) throws Exception {
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> newProperties = new HashMap<>(properties);
if (newProperties.isEmpty()) {
newProperties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback");
newProperties.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
String cryptoUrl = "org/apache/cxf/systest/jaxrs/security/alice.properties";
if (cryptoUrlPrefix != null) {
cryptoUrl = cryptoUrlPrefix + this.getClass().getResource("/" + cryptoUrl).toURI().getPath();
}
newProperties.put(SecurityConstants.SIGNATURE_PROPERTIES, cryptoUrl);
}
bean.setProperties(newProperties);
if (streaming) {
XmlSecOutInterceptor sigInterceptor = new XmlSecOutInterceptor();
sigInterceptor.setSignRequest(true);
bean.getOutInterceptors().add(sigInterceptor);
} else {
XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor();
if (enveloping) {
sigInterceptor.setStyle(XmlSigOutInterceptor.ENVELOPING_SIG);
}
bean.getOutInterceptors().add(sigInterceptor);
}
bean.setServiceClass(BookStore.class);
BookStore store = bean.create(BookStore.class);
Book book = store.addBook(new Book("CXF", 126L));
assertEquals(126L, book.getId());
}
Aggregations