diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-06-27 13:11:53 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-06-27 13:11:53 +0200 |
commit | a8e726382b0472ad030d7a579fe8d6878a216bd4 (patch) | |
tree | ceeb6bb09073da926c95230cb80a8ff156ea1481 /src/test/java/at/gv | |
parent | e2e77ed55687cb92c6f5a273995daf64dedef848 (diff) | |
download | moa-zs-a8e726382b0472ad030d7a579fe8d6878a216bd4.tar.gz moa-zs-a8e726382b0472ad030d7a579fe8d6878a216bd4.tar.bz2 moa-zs-a8e726382b0472ad030d7a579fe8d6878a216bd4.zip |
Fixes; SSL Client Auth Works!
- Switch to java 12 for now. Reason: Bug [1] in JDK 11 (up to
jdk-11+28) impairs SSLHandshake ("Unsupported Operation Exception"),
but was fixed in Java 12.
- Set HTTP policy to infinite.
- Fix key/truststore path resolution
- Fix NPE in ConfigUtil.merge
- Rearrange application.yaml to include two config profiles (one with
and one without SSL for the msg client).
- Add key material for testcases (Note: expires: May 2 14:47:08 2020 GMT)
- Update MsgClient Testcases
[1] https://bugs.openjdk.java.net/browse/JDK-8214098
Diffstat (limited to 'src/test/java/at/gv')
-rw-r--r-- | src/test/java/at/gv/egiz/moazs/MsgClientTest.java | 51 |
1 files changed, 42 insertions, 9 deletions
diff --git a/src/test/java/at/gv/egiz/moazs/MsgClientTest.java b/src/test/java/at/gv/egiz/moazs/MsgClientTest.java index 62df52d..294b2b8 100644 --- a/src/test/java/at/gv/egiz/moazs/MsgClientTest.java +++ b/src/test/java/at/gv/egiz/moazs/MsgClientTest.java @@ -7,25 +7,28 @@ import at.gv.egiz.moazs.scheme.Marshaller; import at.gv.zustellung.app2mzs.xsd.ClientType; import at.gv.zustellung.msg.xsd.DeliveryRequestType; import at.gv.zustellung.msg.xsd.ObjectFactory; +import org.junit.Test; +import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; import javax.xml.bind.JAXBElement; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; +import static at.gv.zustellung.app2mzs.xsd.KeyStoreType.keyStoreTypeBuilder; +import static at.gv.zustellung.app2mzs.xsd.SSLType.SSLTypeBuilder; // @RunWith(SpringRunner.class) // @SpringBootTest -public class MsgClientTest { - - private final static Logger logger = LoggerFactory.getLogger(MsgClient.class); - private String httpServiceUri = "http://localhost:8081/services/DeliveryRequest"; - private String sslServiceUri = "https://localhost/zusemsg/services/DeliveryRequest"; +public class MsgClientTest { + private final static Logger log = LoggerFactory.getLogger(MsgClient.class); private final String basePath = "src/test/resources/at/gv/egiz/moazs/MsgClientTest/"; @Autowired @@ -46,27 +49,57 @@ public class MsgClientTest { public void sendValidMessage() throws IOException { var request = loadFromFile("validDeliveryRequest.xml"); + var httpServiceUri = "http://localhost:8081/services/DeliveryRequest"; var clientParams = generateClientParams(httpServiceUri); var client = factory.create(clientParams); try{ var status = client.send(request); - logger.info("status: " + msgMarshaller.marshallXml(OF.createDeliveryResponse(status))); + log.info("status: " + msgMarshaller.marshallXml(OF.createDeliveryResponse(status))); } catch (Exception ex) { System.out.println(ex.getMessage()); } } //@Test - public void sendValidMessageToSSL() throws IOException { + public void sendValidMessageSSL() throws IOException { var request = loadFromFile("validDeliveryRequest.xml"); - var clientParams = generateClientParams(sslServiceUri); + var sslServiceUri = "https://localhost/zusemsg/services/DeliveryRequest"; + var clientParams = generateSSLClientParams(sslServiceUri); var client = factory.create(clientParams); var status = client.send(request); + log.info("status: " + msgMarshaller.marshallXml(OF.createDeliveryRequestStatus(status))); + + } + + private ClientType generateSSLClientParams(String sslServiceUri) { + + var keystore = keyStoreTypeBuilder() + .withFileName("ssl/client.cert.key.p12") + .withFileType("PKCS12") + .withPassword("123456") + .build(); + + var truststore = keyStoreTypeBuilder() + .withFileName("ssl/truststore.jks") + .withPassword("123456") + .withFileType("JKS") + .build(); + + var sslParams = SSLTypeBuilder() + .withLaxHostNameVerification(false) + .withTrustAll(false) + .withKeyStore(keystore) + .withTrustStore(truststore) + .build(); + + return ClientType.clientTypeBuilder() + .withURL(sslServiceUri) + .withSSL(sslParams) + .build(); - logger.info("status: " + msgMarshaller.marshallXml(OF.createDeliveryRequestStatus(status))); } private DeliveryRequestType loadFromFile(String fileName) throws IOException { |