要件
プライベート証明書をACMのPCA(プライベート認証局)で発行し、CSRを利用して証明書を署名したいです。
前提
ACMのPCAを作成すること。
下記のコンソール画面からPCAを作成する。ただし、CAは30日間無料トライアル後400$/月の費用が発生する。かつ証明書1つにつき0.75$かかります。
https://ap-northeast-1.console.aws.amazon.com/acm-pca/home
証明書発行
- IssueCertificate コマンドで証明書を発行する
- certificate-authority-arnはアカウント情報
- certificate-authorityはPCAのID
- csrはCSRファイルのパス
- validityは有効期間
aws acm-pca issue-certificate \
--certificate-authority-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012 \
--csr fileb://C:\cert_1.csr \
--signing-algorithm "SHA256WITHRSA" \
--validity Value=365,Type="DAYS" \
--idempotency-token 1234
発行された証明書の ARN が返されます。
{
"CertificateArn": "arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012/certificate/a2b95975ec6e1cd85a21c2104c5be129"
}
発行した証明書を取得する
- get-certificate コマンドで証明書を取得する
- certificate-authority-arnはアカウント情報
- certificate-arnは上記発行したARN
aws acm-pca get-certificate \
--certificate-authority-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012 \
--certificate-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012/\
certificate/6707447683a9b7f4055627ffd55cebcc \
--output text
取得した証明書は下記のとなります。
-----BEGIN CERTIFICATE-----
...Base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...Base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...Base64-encoded certificate...
-----END CERTIFICATE----
opensslで証明書を確認
opensslで証明書を確認できます。
openssl x509 -in cert.pem -text -noout
発行した証明書を失効する
- revoke-certificate コマンドで証明書を取得する
- certificate-authority-arnはアカウント情報
- certificate-serialは証明書のSerial Number(上記のopensslで確認できます)
- revocation-reasonは失効理由
aws acm-pca revoke-certificate \
--certificate-authority-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012 \
--certificate-serial 67:07:44:76:83:a9:b7:f4:05:56:27:ff:d5:5c:eb:cc \
--revocation-reason "KEY_COMPROMISE"
証明書の管理
CAのコンソール画面からアクションボタンをクリックし、監査報告書の生成をクリックして頂けば、報告書を生成できます。そこに証明書の有効期限などの詳細を確認できます。
ACM プライベート CA から直接証明書を発行し、証明書の管理に ACM を使わず、ご自身でキーと証明書を管理する場合、ACM は証明書を更新しません。これらのプライベート証明書の更新とデプロイは、ご自身で行ってください。
プライベート CA から直接証明書を発行いただいた場合、更新の必要があるため、更新に伴い再度 IssueCertificate を実行いただければと思います。
参考
AWS CA費用
プライベートエンドエンティティ証明書の発行
更新とデプロイの管理