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

Help Text

cert-uploader --help

cert-uploader iam --help

cert-uploader acm --help

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 \
                --region region-name

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.12.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

cert_uploader-1.1.12-py2-none-any.whl (14.1 kB view details)

Uploaded Python 2

File details

Details for the file cert-uploader-1.1.12.tar.gz.

File metadata

  • Download URL: cert-uploader-1.1.12.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.15

File hashes

Hashes for cert-uploader-1.1.12.tar.gz
Algorithm Hash digest
SHA256 028cc0f5aad1096a76e47a0b8fcc4afcf5796bf35f8d88b41a9dbbe3460ada0d
MD5 e56c2612126d678fe31db953039b89d3
BLAKE2b-256 13b6c2b34c451b1a0e600296f7bebdb1a2bb32081ad87a41746655cf67d0892e

See more details on using hashes here.

File details

Details for the file cert_uploader-1.1.12-py2-none-any.whl.

File metadata

  • Download URL: cert_uploader-1.1.12-py2-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.15

File hashes

Hashes for cert_uploader-1.1.12-py2-none-any.whl
Algorithm Hash digest
SHA256 2136d9436e420f53a9e9738508c95cef361e6f5c54a69f94b4602a0b7db598dd
MD5 cf512d651d8686759e53e22ca004ea3b
BLAKE2b-256 657d88e9b7a8f773c9b46d4f4c0af6d31fb1657dd28267b9989c73a146ba9621

See more details on using hashes here.

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