You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/07/09 13:37:52 UTC
[camel] 01/03: CAMEL-15280 - Camel-AWS2-*: Add the ability to trust
all certificates when overidding the endpoint - SNS
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 36d0414a825c88abca5c44fc0c0cd56c392b7bf9
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Jul 9 15:36:22 2020 +0200
CAMEL-15280 - Camel-AWS2-*: Add the ability to trust all certificates when overidding the endpoint - SNS
---
.../apache/camel/component/aws2/sns/Sns2Configuration.java | 13 +++++++++++++
.../org/apache/camel/component/aws2/sns/Sns2Endpoint.java | 13 +++++++++++++
2 files changed, 26 insertions(+)
diff --git a/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java b/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
index 33f59c9..a120720 100644
--- a/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
+++ b/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
@@ -61,6 +61,8 @@ public class Sns2Configuration implements Cloneable {
private String messageStructure;
@UriParam
private String region;
+ @UriParam(defaultValue = "false")
+ private boolean trustAllCertificates;
public String getSubject() {
return subject;
@@ -253,6 +255,17 @@ public class Sns2Configuration implements Cloneable {
public void setAutoCreateTopic(boolean autoCreateTopic) {
this.autoCreateTopic = autoCreateTopic;
}
+
+ public boolean isTrustAllCertificates() {
+ return trustAllCertificates;
+ }
+
+ /**
+ * If we want to trust all certificates in case of overriding the endpoint
+ */
+ public void setTrustAllCertificates(boolean trustAllCertificates) {
+ this.trustAllCertificates = trustAllCertificates;
+ }
// *************************************************
//
diff --git a/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java b/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
index 7f94cf7..2f6bc2a 100644
--- a/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
+++ b/components/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
@@ -38,6 +38,8 @@ import org.slf4j.LoggerFactory;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
+import software.amazon.awssdk.http.SdkHttpClient;
+import software.amazon.awssdk.http.SdkHttpConfigurationOption;
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.http.apache.ProxyConfiguration;
import software.amazon.awssdk.regions.Region;
@@ -51,6 +53,7 @@ import software.amazon.awssdk.services.sns.model.SetTopicAttributesRequest;
import software.amazon.awssdk.services.sns.model.SubscribeRequest;
import software.amazon.awssdk.services.sns.model.SubscribeResponse;
import software.amazon.awssdk.services.sns.model.Topic;
+import software.amazon.awssdk.utils.AttributeMap;
/**
* Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x.
@@ -231,6 +234,16 @@ public class Sns2Endpoint extends DefaultEndpoint implements HeaderFilterStrateg
if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
clientBuilder = clientBuilder.region(Region.of(configuration.getRegion()));
}
+ if (configuration.isTrustAllCertificates()) {
+ SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap
+ .builder()
+ .put(
+ SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES,
+ Boolean.TRUE
+ )
+ .build());
+ clientBuilder.httpClient(ahc);
+ }
client = clientBuilder.build();
return client;
}