ACMで証明書をインポートする
前提条件
- 今回は、ACM(AWS Certificate Manager)を使った証明書のインポートです。ACMで証明書を発行するのではなく、外部認証局から発行された証明書をインポートします。
- この後、API Gateway のカスタムドメイン化に使用するため、リージョンは東京ではなく、バージニア北部を選択しています。
- 外部認証局に証明書を発行依頼する際に必要となるCSRは、下記記事を参照ください。
証明書のインポート手順
- 証明書をインポートしたいリージョンであることを確認します。API Gateway のカスタムドメイン化に使用するため、バージニア北部が選択されています。
- 次に今は未だドメイン名にはACMで発行した証明書を使用していますので、これをインポートした証明書に入れ替えたいと思います(実際には入替ではなく追加となりますが…)。
- 「証明書本文」に外部認証局から発行された証明書を貼り付けます。
- 「証明書のプライベートキー」にCSRを作成する時に生成した秘密鍵を貼り付けます。
- 「証明書チェーン」に中間証明書を貼り付けます。
- 内容に問題がなければ、インポートを押します。
- もし証明書に不足がある、間違っているなどあれば、エラーが表示されます。下記は証明書チェーンに、中間証明書がない場合に表示されたエラーです。証明書のインポートに関する調査は、下記のガイドを参照ください。
- 「com.amazonaws.pki.acm.exceptions.external.ValidationException: Provided certificate is not a valid self signed. Please provide either a valid self-signed certificate or certificate chain.」
- 証明書が CA によって署名されている場合は、認証機関のルートへのパスを提供する中間証明書チェーンを含める必要があります。
- 正しく証明書が追加されたならば、ステータスがインポート済みとなります。
ELBに使用する証明書を更新する
- ELB に使用する証明書が有効期限切れとなる場合、ACMから証明書を再インポートして更新を行います。IAMにインポートしている証明書を更新する場合は、こちらの記事を参照ください。
- 「証明書本文」に外部認証局から発行された証明書を貼り付けます。
- 「証明書のプライベートキー」にCSRを作成する時に生成した秘密鍵を貼り付けます。
- 「証明書チェーン」に中間証明書を貼り付けます。
- 再インポートの場合は、現在の証明書の値、新しい証明書の値が表示されます。問題なければ、[インポート]を押します。注意事項は、2. 証明書のインポート手順 を参照ください。
パスフレーズありの秘密鍵でエラー
- CSR作成時にPEMフレーズ(PEM phrase)を指定して秘密鍵を暗号化した場合、「証明書のプライベートキー」に秘密鍵を貼りつけると下記のエラーが表示されます。
- 提供された証明書プライベートキーは、有効な PEM 形式ではありません。
- 下記コマンドで秘密鍵の暗号化を解除します。
openssl rsa -in Encrypted_key_name.key -out Decrypted_key_name.key