Можно ли отключить проверку SSL-сертификата в потребительской библиотеке amazon kinesis v2?

При разработке Kinesis Consumer с использованием версии 2 Kinesis Consumer Library и переопределении конечной точки Dynamo DB на конечную точку локального стека библиотеке не удается создать таблицу аренды из-за ошибок рукопожатия SSL.

Я могу подтвердить, что создание таблицы выполняется успешно при использовании AWS Dynamo DB, но как только я переопределяю URL-адрес конечной точки на URL-адрес локального стека, клиент Dynamo DB не может создать таблицу аренды после нескольких попыток. Трассировка стека не так уж полезна, но Wireshark показывает все ошибки рукопожатия SSL, поэтому я могу только предположить, что Amazon SDK не принимает сертификат localstack. Я не могу найти упоминания о том, как отключить проверку сертификата с помощью пакета software.amazon.awssdk.

Region region = Region.of("us-east-1");
DefaultCredentialsProvider credentialsProvider = DefaultCredentialsProvider.create();
DynamoDbAsyncClient dynamoClient = DynamoDbAsyncClient.builder()
    .region(region)
    .endpointOverride(URI.create("https://localhost:4569"))
    .credentialsProvider(credentialsProvider)
    .build();

/edit Это основано на примере с Amazon, найденном здесь: https://docs.aws.amazon.com/streams/latest/dev/kcl2-standard-consumer-java-example.html


person Sam B    schedule 18.02.2019    source источник
comment
Вы нашли решение?   -  person Arjun SK    schedule 28.06.2019


Ответы (2)


В kotlin я устанавливаю переменную среды следующим образом:

System.setProperty(SDKGlobalConfiguration.DISABLE_CERT_CHECKING_SYSTEM_PROPERTY, "true");

Это позволит вам использовать localstack для DynamoDB, собственно, именно поэтому я устанавливаю указанную выше переменную среды.

Дополнительные переменные среды можно найти в репозиторий aws-java-sdk github

person James Cauwelier    schedule 27.07.2019
comment
Приведенное выше решение предназначено для SDK версии 1. - person Snehasish Debnath; 11.12.2020
comment
В SDK версии 2 необходимо использовать опцию http: software.amazon.awssdk.http.SdkHttpConfigurationOption#TRUST_ALL_CERTIFICATES - person StateItPrimitive; 02.07.2021

В SDK версии 2 необходимо использовать параметр: https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/SdkHttpConfigurationOption.html#TRUST_ALL_CERTIFICATES

Пример использования:

private SdkAsyncHttpClient buildSdkAsyncHttpClient() {
    return NettyNioAsyncHttpClient.builder()
            .buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, true)
                            .build()
            );
}
person StateItPrimitive    schedule 01.07.2021