You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/07/21 09:54:35 UTC
[camel] branch main updated: Revert "[CAMEL-19613] AS2 component (#10735)"
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new ceb9ba71609 Revert "[CAMEL-19613] AS2 component (#10735)"
ceb9ba71609 is described below
commit ceb9ba7160963e461812a7d1bc8de1d5ccc8feef
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Fri Jul 21 10:59:11 2023 +0200
Revert "[CAMEL-19613] AS2 component (#10735)"
This reverts commit cb997651b579b60ff9a5e7eca36a70efa007c38c.
---
components/camel-as2/camel-as2-component/pom.xml | 9 -----
.../camel/component/as2/AS2ServerManagerIT.java | 29 ++++++++++-----
.../camel/component/as2/AbstractAS2ITSupport.java | 43 +++++++---------------
.../camel/component/as2/MendelsonCertLoader.java | 23 +++++++++++-
.../as2/MendelsonSslEndpointManualTest.java | 6 ---
5 files changed, 55 insertions(+), 55 deletions(-)
diff --git a/components/camel-as2/camel-as2-component/pom.xml b/components/camel-as2/camel-as2-component/pom.xml
index ab1e267cc08..9dd800721dd 100644
--- a/components/camel-as2/camel-as2-component/pom.xml
+++ b/components/camel-as2/camel-as2-component/pom.xml
@@ -70,15 +70,6 @@
<version>${commons-io-version}</version>
<scope>test</scope>
</dependency>
-
- <!-- test infra -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-test-infra-core</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
</dependencies>
<build>
diff --git a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java
index 19895a60d96..22485cd5c24 100644
--- a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java
+++ b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java
@@ -143,6 +143,11 @@ public class AS2ServerManagerIT extends AbstractAS2ITSupport {
+ "UNT+23+00000000000117'\n"
+ "UNZ+1+00000000000778'";
+ private static AS2SignedDataGenerator gen;
+
+ private static KeyPair issueKP;
+ private static X509Certificate issueCert;
+
private static KeyPair signingKP;
private static X509Certificate signingCert;
private static List<X509Certificate> certList;
@@ -150,6 +155,7 @@ public class AS2ServerManagerIT extends AbstractAS2ITSupport {
private static KeyPair decryptingKP;
private static SSLContext clientSslContext;
+ private static SSLContext serverSslContext;
@BeforeAll
public static void setup() throws Exception {
@@ -400,6 +406,8 @@ public class AS2ServerManagerIT extends AbstractAS2ITSupport {
kpg.initialize(1024, new SecureRandom());
String hackerIssueDN = "O=Hackers Unlimited Ltd., C=US";
var hackerIssueKP = kpg.generateKeyPair();
+ var hackerissueCert = Utils.makeCertificate(
+ hackerIssueKP, hackerIssueDN, hackerIssueKP, hackerIssueDN);
String hackerSigningDN = "CN=John Doe, E=j.doe@sharklasers.com, O=Self Signed, C=US";
var hackerSigningKP = kpg.generateKeyPair();
var hackerSigningCert = Utils.makeCertificate(
@@ -627,8 +635,7 @@ public class AS2ServerManagerIT extends AbstractAS2ITSupport {
new IssuerAndSerialNumber(new X500Name(signingCert.getIssuerDN().getName()), signingCert.getSerialNumber())));
attributes.add(new SMIMECapabilitiesAttribute(capabilities));
- AS2SignedDataGenerator gen = SigningUtils.createSigningGenerator(AS2SignatureAlgorithm.SHA256WITHRSA,
- certList.toArray(new X509Certificate[0]),
+ gen = SigningUtils.createSigningGenerator(AS2SignatureAlgorithm.SHA256WITHRSA, certList.toArray(new X509Certificate[0]),
signingKP.getPrivate());
gen.addCertificates(certs);
@@ -643,8 +650,8 @@ public class AS2ServerManagerIT extends AbstractAS2ITSupport {
kpg.initialize(1024, new SecureRandom());
String issueDN = "O=Punkhorn Software, C=US";
- KeyPair issueKP = kpg.generateKeyPair();
- X509Certificate issueCert = Utils.makeCertificate(
+ issueKP = kpg.generateKeyPair();
+ issueCert = Utils.makeCertificate(
issueKP, issueDN, issueKP, issueDN);
//
@@ -680,7 +687,8 @@ public class AS2ServerManagerIT extends AbstractAS2ITSupport {
sslContextParameters.setKeyManagers(kmp);
sslContextParameters.setTrustManagers(clientSSLTrustManagers);
- return sslContextParameters.createSSLContext(context);
+ SSLContext sslContext = sslContextParameters.createSSLContext(context);
+ return sslContext;
}
public SSLContext setupServerContext(CamelContext context) throws Exception {
@@ -702,17 +710,20 @@ public class AS2ServerManagerIT extends AbstractAS2ITSupport {
sslContextParameters.setTrustManagers(tmp);
sslContextParameters.setServerParameters(scsp);
- return sslContextParameters.createSSLContext(context);
+ SSLContext sslContext = sslContextParameters.createSSLContext(context);
+ return sslContext;
}
@Override
- public void configureContext(CamelContext context) throws Exception {
- clientSslContext = setupClientContext(context);
- SSLContext serverSslContext = setupClientContext(context);
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
+ this.clientSslContext = setupClientContext(context);
+ this.serverSslContext = setupClientContext(context);
AS2Component as2Component = (AS2Component) context.getComponent("as2");
AS2Configuration configuration = as2Component.getConfiguration();
configuration.setSslContext(serverSslContext);
configuration.setDecryptingPrivateKey(decryptingKP.getPrivate());
+ return context;
}
@Override
diff --git a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AbstractAS2ITSupport.java b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AbstractAS2ITSupport.java
index 2e0dd9012ee..1b09968232d 100644
--- a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AbstractAS2ITSupport.java
+++ b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AbstractAS2ITSupport.java
@@ -23,31 +23,24 @@ import java.util.Properties;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelExecutionException;
-import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.support.PropertyBindingSupport;
-import org.apache.camel.test.infra.core.CamelContextExtension;
-import org.apache.camel.test.infra.core.TransientCamelContextExtension;
-import org.apache.camel.test.infra.core.annotations.RouteFixture;
-import org.apache.camel.test.infra.core.api.CamelTestSupportHelper;
-import org.apache.camel.test.infra.core.api.ConfigurableContext;
-import org.apache.camel.test.infra.core.api.ConfigurableRoute;
+import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestInstance.Lifecycle;
-import org.junit.jupiter.api.extension.RegisterExtension;
/**
* Abstract base class for AS2 Integration tests generated by Camel API component maven plugin.
*/
@TestInstance(Lifecycle.PER_CLASS)
-public abstract class AbstractAS2ITSupport implements CamelTestSupportHelper, ConfigurableContext, ConfigurableRoute {
+public class AbstractAS2ITSupport extends CamelTestSupport {
private static final String TEST_OPTIONS_PROPERTIES = "/test-options.properties";
- @RegisterExtension
- public static final CamelContextExtension camelContextExtension = new TransientCamelContextExtension();
-
@Override
- public void configureContext(CamelContext context) throws Exception {
+ protected CamelContext createCamelContext() throws Exception {
+
+ final CamelContext context = super.createCamelContext();
+
// read AS2 component configuration from TEST_OPTIONS_PROPERTIES
final Properties properties = new Properties();
try {
@@ -70,28 +63,18 @@ public abstract class AbstractAS2ITSupport implements CamelTestSupportHelper, Co
final AS2Component component = new AS2Component(context);
component.setConfiguration(configuration);
context.addComponent("as2", component);
- }
-
- @Override
- public CamelContextExtension getCamelContextExtension() {
- return camelContextExtension;
- }
- @Override
- @RouteFixture
- public void createRouteBuilder(CamelContext context) throws Exception {
- final RouteBuilder routeBuilder = createRouteBuilder();
-
- if (routeBuilder != null) {
- context.addRoutes(routeBuilder);
- }
+ return context;
}
- protected abstract RouteBuilder createRouteBuilder() throws Exception;
-
@SuppressWarnings("unchecked")
protected <T> T requestBodyAndHeaders(String endpointUri, Object body, Map<String, Object> headers)
throws CamelExecutionException {
- return (T) getCamelContextExtension().getProducerTemplate().requestBodyAndHeaders(endpointUri, body, headers);
+ return (T) template().requestBodyAndHeaders(endpointUri, body, headers);
+ }
+
+ @SuppressWarnings("unchecked")
+ protected <T> T requestBody(String endpoint, Object body) throws CamelExecutionException {
+ return (T) template().requestBody(endpoint, body);
}
}
diff --git a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonCertLoader.java b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonCertLoader.java
index cc94894bf60..c88b6997e9e 100644
--- a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonCertLoader.java
+++ b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonCertLoader.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.as2;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
@@ -29,10 +30,12 @@ import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.spec.InvalidKeySpecException;
import java.util.ArrayList;
+import java.util.Base64;
import java.util.List;
import javax.net.ssl.SSLContext;
+import org.apache.commons.io.IOUtils;
import org.apache.http.conn.ssl.TrustAllStrategy;
import org.apache.http.ssl.SSLContexts;
import org.slf4j.Logger;
@@ -142,6 +145,11 @@ public class MendelsonCertLoader {
return privateKey;
}
+ private List<Certificate> getCertificatesFromStream(InputStream inputStream) throws CertificateException {
+ CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
+ return (List<Certificate>) certificateFactory.generateCertificates(inputStream);
+ }
+
private Certificate getCertificateFromStream(InputStream inputStream) throws IOException, CertificateException {
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
return certificateFactory.generateCertificate(inputStream);
@@ -165,10 +173,23 @@ public class MendelsonCertLoader {
return (PrivateKey) ks.getKey(
ks.aliases().nextElement(),
keyStorePassword.toCharArray());
- } catch (KeyStoreException | UnrecoverableKeyException e) {
+ } catch (KeyStoreException e) {
+ LOG.error("Error while retrieving private key" + e);
+ } catch (UnrecoverableKeyException e) {
LOG.error("Error while retrieving private key" + e);
}
throw new IllegalStateException("Failed to construct a PrivateKey from provided InputStream");
}
+ private byte[] getBytesFromPem(InputStream inputStream) throws IOException {
+ String privateKeyPEM
+ = IOUtils.toString(inputStream, StandardCharsets.UTF_8).replaceAll("-{5}.+-{5}", "").replaceAll("\\s", "");
+ return Base64.getDecoder().decode(privateKeyPEM);
+ }
+
+ private byte[] getBytesFromPKCS12(InputStream inputStream) throws IOException {
+ String privateKeyPKCS12 = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+ return privateKeyPKCS12.getBytes(StandardCharsets.UTF_8);
+ }
+
}
diff --git a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonSslEndpointManualTest.java b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonSslEndpointManualTest.java
index b4e0f25d4fa..5382b74c9cb 100644
--- a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonSslEndpointManualTest.java
+++ b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/MendelsonSslEndpointManualTest.java
@@ -24,7 +24,6 @@ import javax.net.ssl.HostnameVerifier;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
-import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.as2.api.AS2EncryptionAlgorithm;
import org.apache.camel.component.as2.api.AS2MessageStructure;
import org.apache.camel.component.as2.api.AS2SignatureAlgorithm;
@@ -126,9 +125,4 @@ public class MendelsonSslEndpointManualTest extends AbstractAS2ITSupport {
"you can check your message in http://testas2.mendelson-e-c.com:8080/webas2/ " +
"Login guest, password guest");
}
-
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return null;
- }
}