This is an automated email from the ASF dual-hosted git repository. coheigea pushed a commit to branch camel-2.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 189104cd6667db7098cfda0e8c1bf822195c8354 Author: Colm O hEigeartaigh <cohei...@apache.org> AuthorDate: Mon Apr 29 12:35:56 2019 +0100 Adding X.509 + PSK tests --- .../java/org/apache/camel/coap/CoAPEndpoint.java | 4 +- .../apache/camel/coap/CoAPComponentTLSTest.java | 43 +++++++++++++++------- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java index 5186a96..8d5d394 100644 --- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java +++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java @@ -401,7 +401,9 @@ public class CoAPEndpoint extends DefaultEndpoint { builder.setIdentity(privateKey, getKeystore().getCertificateChain(getAlias())); } else if (privateKey != null) { builder.setIdentity(privateKey, publicKey); - } else if (pskStore != null) { + } + + if (pskStore != null) { builder.setPskStore(pskStore); } diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTest.java index b6bd4ca..815a392 100644 --- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTest.java +++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTest.java @@ -42,13 +42,14 @@ import org.junit.Test; public class CoAPComponentTLSTest extends CamelTestSupport { - protected static final int PORT = AvailablePortFinder.getNextAvailable(); - protected static final int PORT2 = AvailablePortFinder.getNextAvailable(); - protected static final int PORT3 = AvailablePortFinder.getNextAvailable(); - protected static final int PORT4 = AvailablePortFinder.getNextAvailable(); - protected static final int PORT5 = AvailablePortFinder.getNextAvailable(); - protected static final int PORT6 = AvailablePortFinder.getNextAvailable(); - protected static final int PORT7 = AvailablePortFinder.getNextAvailable(); + private static final int PORT = AvailablePortFinder.getNextAvailable(); + private static final int PORT2 = AvailablePortFinder.getNextAvailable(); + private static final int PORT3 = AvailablePortFinder.getNextAvailable(); + private static final int PORT4 = AvailablePortFinder.getNextAvailable(); + private static final int PORT5 = AvailablePortFinder.getNextAvailable(); + private static final int PORT6 = AvailablePortFinder.getNextAvailable(); + private static final int PORT7 = AvailablePortFinder.getNextAvailable(); + private static final int PORT8 = AvailablePortFinder.getNextAvailable(); @Produce(uri = "direct:start") protected ProducerTemplate sender; @@ -181,6 +182,17 @@ public class CoAPComponentTLSTest extends CamelTestSupport { assertMockEndpointsSatisfied(); } + @Test + public void testPreSharedKeyX509() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:result"); + mock.expectedMinimumMessageCount(1); + mock.expectedBodiesReceived("Hello Camel CoAP"); + mock.expectedHeaderReceived(Exchange.CONTENT_TYPE, MediaTypeRegistry.toString(MediaTypeRegistry.APPLICATION_OCTET_STREAM)); + mock.expectedHeaderReceived(CoAPConstants.COAP_RESPONSE_CODE, CoAP.ResponseCode.CONTENT.toString()); + sendBodyAndHeader("direct:pskx509", "Camel CoAP", CoAPConstants.COAP_METHOD, "POST"); + assertMockEndpointsSatisfied(); + } + @Override protected JndiRegistry createRegistry() throws Exception { JndiRegistry registry = super.createRegistry(); @@ -254,17 +266,18 @@ public class CoAPComponentTLSTest extends CamelTestSupport { + "keyStoreParameters=#keyParams&cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8", PORT4) .transform(body().prepend("Hello ")); - fromF("coaps://localhost:%d/TestResource?alias=service&password=security&" - + "privateKey=#privateKey&publicKey=#publicKey", PORT5) + fromF("coaps://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey", PORT5) .transform(body().prepend("Hello ")); - fromF("coaps://localhost:%d/TestResource?alias=service&password=security&" - + "privateKey=#privateKey&publicKey=#publicKey&clientAuthentication=REQUIRE&" - + "trustedRpkStore=#trustedRpkStore", PORT6) + fromF("coaps://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey&" + + "clientAuthentication=REQUIRE&trustedRpkStore=#trustedRpkStore", PORT6) + .transform(body().prepend("Hello ")); + + fromF("coaps://localhost:%d/TestResource?pskStore=#pskStore", PORT7) .transform(body().prepend("Hello ")); fromF("coaps://localhost:%d/TestResource?alias=service&password=security&" - + "pskStore=#pskStore", PORT7) + + "keyStoreParameters=#keyParams&pskStore=#pskStore", PORT8) .transform(body().prepend("Hello ")); from("direct:start") @@ -323,6 +336,10 @@ public class CoAPComponentTLSTest extends CamelTestSupport { .toF("coaps://localhost:%d/TestResource?pskStore=#pskStore&" + "cipherSuites=TLS_PSK_WITH_AES_128_CBC_SHA256", PORT7) .to("mock:result"); + + from("direct:pskx509") + .toF("coaps://localhost:%d/TestResource?pskStore=#pskStore&trustStoreParameters=#trustParams", PORT8) + .to("mock:result"); } }; }