web-dev-qa-db-ja.com

AWS ELBにgodaddy ssl証明書をインストールする方法

GodaddyからSSL証明書を購入しました。キーストアファイルを作成し、そこからcsrファイルを生成してgodaddyに送信し、次のファイルを受け取りました。

  • mydomain.crt
  • Gd_intermediate.crt
  • Gd_bundle.crt

現在、AWSコンソールでElastic Load Balancerを作成しようとしています。証明書の詳細を要求されると、次のように要求されます。

  • 秘密鍵(pemエンコード)
  • 公開鍵証明書(pemエンコード)
  • 証明書チェーン(pemエンコード、オプション)

持っているファイルをこれらのパラメーターに変換するにはどうすればよいですか?

24
reformy

AWS ELBでは、あなたが言ったように3つのものが必要です

秘密鍵

Linuxで生成したrsaキー

#openssl genrsa -des3 -out Host.key 2048

パスワードを要求するので、今はそれを与えます。後で削除します。

公開キー

秘密鍵から、最初に証明書署名要求であるcsrファイルを生成します(あなたのケースではgodaddyで当局に提出して公開鍵を取得します)。あなたが使用してcsrファイルを生成することができます

#openssl req -new -key Host.key -out Host.csr

今、あなたはあなたのcsrファイルをgodaddyに提出し、その見返りに2つのファイル(mydomain.crt、Gd_bundle.crt)を提供します。 mydomain.crtは公開鍵です。

証明書チェーン

Gd_bundle.crtは、godaddyが公開鍵を提供する証明書チェーンファイルです。公開鍵と証明書チェーンファイルは変換する必要はありませんが、秘密鍵ファイルの場合は、パスワードを削除してpemに変換する必要があります

#openssl rsa -in Host.key -out private.pem 

aWS.put private key.pemファイルのコンテンツをaws private keyセクションに配置し、mydomain.crtファイルのコンテンツを公開キーに配置し、Gd_bundle.crtコンテンツを認証チェーンセクションに配置することはすべて問題ありません。変換はすべて、証明書をどこから取得するかに依存します。他の会社から証明書を取得する場合は、AWSドキュメントに従うことをお勧めします。

http://docs.aws.Amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html
21
Adeel Ahmad

私は最近このプロセスを経る必要があり、どの回答もうまくいきませんでした。新しいSSL証明書をAWSにアップロードできるようにした手順(ElasticBeanstalkで後で使用するため)。

秘密鍵の取得

このプロセスには2つのコマンドを使用する必要がありました。

openssl genrsa -des3 -out server.pass.key 2048
openssl rsa -in server.pass.key -out server.key

server.keyファイルは秘密鍵です。

さらに、次のようにしてCSR(証明書署名要求)を生成できます。

openssl req -nodes -new -key server.key -out server.csr

これは、新しい証明書の発行をGoDaddyに要求するために使用するファイルです。

公開鍵の取得

GoDaddyで証明書が発行されたら、それをダウンロードします。これにより、次のようにして1つにバンドルする必要がある2つのファイルが得られます。

cat yourdomain.crt Gd_bundle-g2-g1.crt > combined.crt

combined.crtが公開鍵になります。

サーバー証明書をAWSにアップロードしています

とともに server.keyおよびcombined.crtファイル AWS CLI を使用してAWSに証明書をアップロードできるようになりました。次のコマンドを使用するだけです。

aws iam upload-server-certificate --server-certificate-name your_certificate_name --certificate-body file://combined.crt --private-key file://server.key

すべてがうまくいくと、サーバーから応答が返されます。

{
    "ServerCertificateMetadata": {
        "ServerCertificateId": "ABCDEFG12345678", 
        "ServerCertificateName": "certificate-name", 
        "Expiration": "2018-08-26T11:59:38Z", 
        "Path": "/", 
        "Arn": "arn:aws:iam::1234123412:server-certificate/certificate-name", 
        "UploadDate": "2017-08-26T19:53:46.989Z"
    }
}

これで、AWSで新しいSSL証明書を使用できるようになります。

6

ほぼ2年前のことですが、私はこれに出会い、一瞬困惑しました。

Certificate body *はZipファイルのメインキーです。私の場合はf7dsdfsdf2f4e942d.crtのように見え、エントリは1つだけです。

中央のフィールドCertificate private key *は、CSRに署名したSSH秘密鍵です。 csrリクエストを作成するためにユーザーが使用するサーバー上に存在します。私の場所は、nginx構成ファイルを見て、ローカルドライブにコピーすることでわかりました。

最後のフィールドCertificate chainは、3つのエントリを持つファイルで、Gd_bundle-g2-g1.crtのようになります。

5
whoacowboy

以下は、Amazon Elastic Load Balancer(ELB)で動作するGodaddy ssl証明書を取得する方法のガイドです http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide -pem-encoded-csr /#。UKFla2nGU_8

1
jimmyboyb

Windowsを使用している場合IISサーバー:

秘密鍵

  • こちら の指示に従って、秘密鍵を取得します。基本的に(スクリーンショットなし):
    • mmc.exeを実行します
    • FileメニューからAdd/Remove Snap-inを選択します。
    • 表示される新しいウィンドウで、Addをクリックします。
    • Certificatesを選択し、Addをクリックします。
    • [コンピューターアカウント]オプションを選択し、次へをクリックします。
    • Local Computerを選択し、Finishをクリックします。
    • 閉じるをクリックし、[〜#〜] ok [〜#〜]をクリックします。証明書(ローカルコンピューター)のスナップインがコンソールに表示されます。
    • 左側のプレビューパネルでCertificates(Local Computer)ツリーを展開します。
    • Personalを右クリックし、All Tasks> Importを選択します。証明書のインポートWizardが表示されます。Nextをクリックします。
    • サーバー証明書ファイルの場所を参照し、Nextをクリックします。
    • を選択しますすべての証明書を次のストアに配置しますをクリックして次へ.
    • Finishをクリックして、証明書のインポートウィザードを完了します。
    • インポートが成功したことを示すダイアログボックスが表示されます。 OKをクリックします。
  • ツリーで、Personalを展開し、Certificatesをクリックします。証明書をダブルクリックします。
  • 証明書ポップアップの詳細タブからファイルにコピーをクリックし、.pfxファイルを作成します。
  • ここ に移動して、PEM形式に変換します。
  • -----BEGIN PRIVATE KEY-----から-----END PRIVATE KEY-----までの部分を貼り付けます。
    • -----BEGIN PRIVATE KEY-----の上にある行と-----END PRIVATE KEY-----の下にある行は不可

公開キー

  • GoDaddyが提供する.crtファイルを、ダウンロードしたZipファイルで使用します。

証明書チェーン

  • ダウンロードしたZipファイルでGoDaddyから提供されたGd_bundle-g2-g1.crtを使用します。
0
Danny Schoemann

Mydomain.crtをmydomain.pemに変換します(他の2つのファイルは信頼チェーンファイルです)。 UNIXまたはLinuxシステムでopensslを使用して、CRTからPEMファイルを生成できます。

証明書発行者は秘密鍵を持っているため、秘密鍵を要求する唯一の理由は、証明書を生成しようとしている場合です。すでに証明書がある場合は、それを使用する必要があります。 ドキュメント を確認してください

0
stark