Skip to main content

Upload ACM/IAM Server Certificates to AWS and apply them to ELBs

Project description

# Certificate Uploader

Upload ACM/IAM Server Certificates and apply them to ELBs


## Requirements
Python 2.7 or 3.6

## Installation
```
pip install cert-uploader
```

## Usage

### IAM

Scan for certificates in the current directory and upload to IAM:
```
cert-uploader --scan \
iam \
--certificate-name cert-name
```

Upload a new certificate to IAM:
```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
iam \
--certificate-name cert-name
```

Upload a new certificate to IAM and assign it to a load balancer:
```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
--load-balancer load-balancer-name \
iam \
--certificate-name cert-name
```

Upload a new IAM certificate at the path "/test" and assign it to a load balancer:
```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
--load-balancer load-balancer-name \
iam \
--certificate-name cert-name \
--iam-path /test
```

Upload a new IAM certificate and assign it to a load balancer on port 8443:
```
cert-uploader --load-balancer load-balancer-name \
--port 8443 \
--certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
iam \
--certificate-name cert-name
```

Assign an existing IAM certificate to a load balancer:
```
cert-uploader --load-balancer load-balancer-name \
iam \
--certificate-name cert-name
```

### ACM

Scan for certificates in the current directory and upload to ACM:
```
cert-uploader --scan \
acm
```

Upload a new certificate to ACM:
```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
acm
```

Upload a new certificate to ACM and add tags:
```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
acm \
--tag Name=cert \
--tag App=app1
```

Upload a new certificate to ACM and assign it to a load balancer:
```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
--load-balancer load-balancer-name \
acm \
--tag Name=cert \
--tag App=app1
```

Upload a new ACM certificate and assign it to a load balancer on port 8443:
```
cert-uploader --load-balancer load-balancer-name \
--port 8443 \
--certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
acm
```

Assign an existing ACM certificate to a load balancer:
```
cert-uploader --load-balancer load-balancer-name \
acm \
--certificate-arn arn:aws:acm:REGION:ACCOUNT:certificate/CERTIFICATE_ID
```

## Credentials

### Profile

AWS credentials can be passed in using the `--profile` command line argument:

```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
--profile profile-name \
acm
```

or by setting the `AWS_PROFILE` environment variable:

```
export AWS_PROFILE=profile-name
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
acm
```

### Access Keys

If a profile is not configured, the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_DEFAULT_REGION`
environment variables can be set and used for authentication.

### Roles

Roles can be assumed using the `--role` command line argument:

```
cert-uploader --certificate-path path/to/certificate.crt \
--private-key-path path/to/key.pem \
--certificate-chain-path path/to/chain.crt \
--role role-arn \
acm
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cert-uploader-1.1.9.tar.gz (11.7 kB view hashes)

Uploaded Source

Built Distribution

cert_uploader-1.1.9-py3-none-any.whl (13.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page