aws / aws/aws-sdk-java-v2

IotDataPlaneClient should use ATS endpoint when available

Open
#1,533 4 comments 2 reactions 0 assignees View on GitHub
documentation p3
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

When using the client with a recent JDK, and as Oracle has distristed the Symantec CA, we get an error:

```
TLS Server certificate issued after 2019-04-16 and anchored by a distrusted legacy Symantec root CA: CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
```

## Expected Behavior
The IotDataPlane client should use the ATS endpoint when available as described in AWS's blog post https://aws.amazon.com/blogs/iot/aws-iot-core-ats-endpoints/

## Current Behavior
The client uses (by default) the VeriSign endpoint. Which leads to the aforementioned error.

## Possible Solution
Use the ATS endpoint by default when available.

## Steps to Reproduce (for bugs)
Using this way to create the client
```
IotDataPlaneClient.builder()
.region(Region.US_EAST_1)
.build();
```
Will lead the aforementioned error when calling a `publish()` action.

## Your Environment
* AWS Java SDK version used: 2.10.14
* JDK version used: 8u232
* Operating System and version: Linux - Debian Buster

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.