aws / aws/aws-cli

Use CURL_CA_BUNDLE when AWS_CA_BUNDLE is not set

Open
#9,020 1 comment 0 reactions 0 assignees View on GitHub
cross-sdk feature-request p3
Dominant language
Python
Stars
17.3k
Forks
4.6k
Avg merge
1d 2h
Merged PRs (30d)
13

Description

### Describe the feature

Our organization recently deployed HTTPS interception. This causes AWS CLI to fail because it doesn't use the common system paths (e.g. `/etc/ssl/certs.pem`) or the `CURL_CA_BUNDLE` environmental variable. Setting `AWS_CA_BUNDLE` to the same value as `CURL_CA_BUNDLE` will work but it would be nice if it followed the behaviour of other Python clients (e.g. requests) in using the `CURL_CA_BUNDLE` unless `AWS_CA_BUNDLE` is set.

### Use Case

We have a number of technical users and each of their systems needs to be updated, including tools running inside containers. It would be nice if AWS CLI reused the same configuration as other tools.

### Proposed Solution

If `AWS_CA_BUNDLE` is defined, use that.
If `CURL_CA_BUNDLE` is defined, use that.

I would prefer to use [`truststore`](https://pypi.org/project/truststore/) but that package is still considered experimental by its authors.

### Other Information

_No response_

### Acknowledgements

- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### CLI version used

aws-cli/2.9.5 Python/3.11.0 Darwin/22.1.0 source/arm64 prompt/off

### Environment details (OS name and version, etc.)

ProductName: macOS ProductVersion: 13.0.1 BuildVersion: 22A400

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.