サードパーティが発行した TLS/SSL 証明書を AWS Certificate Manager (ACM) にインポートしたいと考えています。
解決策
サードパーティが発行した TLS/SSL 証明書を ACM にインポートする際には、証明書、その秘密鍵、および証明書チェーンを提示する必要があります。証明書には、証明書のインポートに必要な前提条件も記載しておく必要があります。
インポートして PEM 形式にする場合は、次のファイルが必要です。
PEM 形式の証明書
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
PEM 形式の証明書チェーン
次の例は、2 つのサブ CA (または中間 CA) が存在するチェーンを示しています。プライベート証明書をインポートする場合は、ルート証明書を最後にコピーしてください。
-----BEGIN CERTIFICATE-----
Base64-encoded certificate of SubordinateCA2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate of SubordinateCA1
----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate of Root CA (If necessary)
-----END CERTIFICATE-----
PEM 形式のプライベートキー
-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----
詳細や例については、「Certificate and key format for importing」を参照してください。
OpenSSL を使用して PKCS#12 (PFX) 形式の証明書バンドルを PEM 形式に変換する
証明書が PKCS #12 (PFX) 形式の場合は、まず次の手順に従って証明書バンドルを PFX 形式から PEM 形式に変換します。次に、PEM 形式の証明書を ACM にインポートします。
-
PFX 形式または P12 形式のファイルを OpenSSL ツールと同じ場所にコピーするか、OpenSSL コマンドでその場所を指定します。
-
次の OpenSSL コマンドを、PKCS12file を証明書のファイル名に置き換えて実行します。
openssl pkcs12 -in PKCS12file -out Cert_Chain_Key.txt
次の例のようなプロンプトが表示されます。
Enter Import Password:(this is the password that was used when the PKCS12 file was created)
Enter PEM pass phrase:(this is the private key password)
Verifying - Enter PEM pass phrase: (confirm the private key password)
-
必要なパスワードとパスフレーズを入力します。証明書、プライベートキー、および証明書チェーン (ルートまたは中間) が解析され、Cert_Chain_Key.txt ファイルに配置されます。
注: プライベートキーは次の形式で暗号化されています。
-----BEGIN ENCRYPTED PRIVATE KEY-----
Base64-encoded private key
-----END ENCRYPTED PRIVATE KEY-----
プライベートキーを復号化する
プライベートキーを復号化するには、次の手順を実行します。
-
Cert_Chain_Key.txt ファイルのプライベートキーを OpenSSL ディレクトリにコピーするか、OpenSSL コマンドでそのディレクトリを指定します。
-
次の OpenSSL コマンドを入力し、Encrypted.key を暗号化されたプライベートキーファイルに置き換えます。
openssl rsa -in Encrypted.key -out UnEncrypted.key
-
パスフレーズを入力します。これにより、UnEncrypted.key が復号化されたプライベートキーとなります。これを確認するには、テキストエディタを使用して UnEncrypted.key ファイルを開き、ヘッダーを表示します。
これで、証明書を ACM にインポートできます。手順については、「Import a certificate」を参照してください。
関連情報
サードパーティのパブリック SSL/TLS 証明書を ACM にインポートできない理由を教えてください。
How to import PFX-formatted certificates into AWS Certificate Manager using OpenSSL