🦈
AWS-CLIでCertificate Managerに証明書がインポートできない
やりたかったこと
awsでClient VPNを使用して固定IPでの通信を実現しようと思い、Client VPNで必要な相互認証のための、証明書を独自に発行。
acmにインポートしたが、エラーで通らなかったので解決策を忘備録として残します。
エラー内容
まず、証明書の発行
$ git clone https://github.com/OpenVPN/easy-rsa.git
$ cd easy-rsa/easyrsa3
$ ./easyrsa init-pki
$ ./easyrsa build-ca nopass
# サーバー証明書とクライアント証明書の発行
$ ./easyrsa build-server-full test-server nopass
$ ./easyrsa build-client-full test-client nopass
acmに証明証のインポートをしようとしたところ、
aws acm import-certificate --certificate file://pki/issued/test-server.crt --private-key file://pki/private/test-server.key --certificate-chain file://pki/ca.crt --region ap-northeast-1
aws acm import-certificate --certificate file://pki/issued/test-client.crt --private-key file://pki/private/test-client.key --certificate-chain file://pki/ca.crt --region ap-northeast-1
以下のエラーが出てしまった。
Invalid base64: "-----BEGIN CERTIFICATE-----
#...省略
解決
aws-cli v1
とaws-cli v2
で変更が入ったため発生していたようです。
詳しくは以下のissueにあります。
対応は、file://
-> fileb://
に変更するだけ
aws acm import-certificate --certificate fileb://pki/issued/test-server.crt --private-key fileb://pki/private/test-server.key --certificate-chain fileb://pki/ca.crt --region ap-northeast-1
{
"CertificateArn": ...省略
}
こう出ればしっかりとインポートされているのでwebコンソールで確認してみてください
Discussion