GoDaddy発行の証明書を使用する場合の「公開鍵証明書と秘密鍵が一致しない」[クローズ]


86

AmazonAWSでセットアップしている新しいロードバランサーにGoDaddySSL証明書をインストールしようとしています。私はもともと、Glassfish 3.1サーバー(Amazon linux ami)に直接インストールするためのkeytoolプログラムを使用してGodaddyで証明書を作成しました。そのセットアップをサーバーに直接取得することに問題はありませんでした。次に、証明書をWebサーバーから新しいロードバランサーに移動する必要があります。Amazonでは秘密鍵と証明書がPEM形式である必要があるため、GoDaddyの「キーの再生成」ツールを使用して新しい証明書を作成しました。AWS Mgmt Consoleのロードバランサー設定画面でそれらをロードすると、「公開鍵証明書と秘密鍵が一致しません」というエラーメッセージが表示されます。

キーの作成方法は次のとおりです。

$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr

次に、「キーの再生成」プロセス中に.csrファイルをGoDaddyに送信します。キーの再生成が完了したら、新しく作成した2つの証明書(apps.mydomain.com.crt&gd_bundle.crt)をダウンロードします。サーバーの種類として(Apache)を選択してダウンロードします(「other」と「Cpanel」も試しましたが、すべて同じように見えます)。

この時点で、次のコマンドを使用して、private.keyファイルから暗号化を削除します。

$ openssl rsa -in private.key -out private.pem

この時点で、AWS Mgmtコンソールに戻り、ロードバランサーを作成し、セキュアサーバーリダイレクトを追加して、次のファイルの内容を、ssl証明書のセットアップを求める画面のそれぞれのフィールドに入力します。

private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain

「続行ボタン」をクリックすると、「エラー:公開鍵証明書と秘密鍵が一致しません」というエラーが表示されます。

-Amazonから有効なエラーメッセージが表示されていることをテストする方法はありますか?GoDaddyの指示に非常に厳密に従っていると、キーが一致しないのは奇妙に思えます。

.csrを作成する前にRSA暗号化なしでprivate.keyファイルを作成しようとしましたが、違いはないようです。

また、GoDaddyからダウンロードしている.crtファイルは.PEM形式であると想定していますが、これを確認する方法がわかりません。

何か案は?


1
Stack Overflowは、プログラミングと開発に関する質問のサイトです。この質問はプログラミングや開発に関するものではないため、トピックから外れているようです。ヘルプセンターで、ここ質問できるトピックを参照してください。おそらく、スーパーユーザーが質問するのに適した場所でしょう。DevOpsに関する質問どこに投稿すればよいですか?も参照してください
jww 2015年

この投稿は3年以上前のものですが、なぜ今移動する必要があるのでしょうか。
フェルビー2015年

1
フェルビー-人々はよく「...でもこの投稿とその投稿を見てください」と言います。したがって、新しい投稿を整理するのに十分ではありません。少なくとも古い投稿についてもメッセージを受け取る必要があります。そして、その価値については、私はそうは思いません。それは悪い質問ではないと思います。StackOverflowのトピックから少し外れています。
jww 2015年

@Felbyあなたは受け入れのためにこの答えを考慮する必要があります。これは、この問題がAWSで発生したときに、ほとんどの開発者が探しているものです。
ノエルバロン

回答:


61

私にとって、それは簡単な2つのステップでした。

  1. 秘密鍵をPEMに変換します。

    openssl rsa -in yourdomain.key -outform PEM

  2. 証明書と証明書バンドルをPEMに変換します

    openssl x509 -inform PEM -in yourdomain.crt

    openssl x509 -inform PEM -in bundle.crt


1
この特定の答えは本当に私を助けました。ジョナサンに感謝します。ちなみに、yourdomain.crtは公開鍵であり、プロバイダーから取得した証明書です(.cerの場合もあります)
user_v 2013年

エラーが発生し続けるWARNING: can't open config file: /etc/pki/tls/openssl.cnf
tq 2014年

2
@ tq-一部のOpenSSLコマンドにも-configオプションがあります。これを使用して、使用している構成ファイルへのパスを指定します。
jww 2015年

@felbyこれを承認済みの回答としてマークする必要があります。これは、iOSデバイスでSSL信頼の問題を引き起こさない唯一の答えです。
ノエルバロン

この回答は、ワイルドカードSSLで非常に役立ちます。domain.crtファイルとgd_bundle.crtファイルの両方を変換する必要があります。
Ducle 2016

40

記録とそれを理解しようとしている他の人のためだけに:

yourdomain.key->ターミナルコマンド:sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem ->秘密鍵

yourdomain.crt->公開鍵

gd_bundle.crt->証明書チェーン

そして、あなたは行ってもいいです:)


2
OMG、私は問題で何時間も失いました、あなたは私を救っただけです!RapidSSL証明書を購入しました。秘訣は、1)ここで提案するように秘密鍵を変換し、2)RapidSSLによって提供される証明書チェーン内の証明書の順序を逆にすることでした。ありがとう!
miniQuark 2014年

パスワードの入力を求め続けるが、私のRapidSSLの証明書のは、一つせずに作られた
TQ

アカウントがいくつかの異なる方法でパスワードを必要としないように設定されていない限り、sudoコマンドは管理者パスワードを要求します。それもあなたが参照しているパスワードですか?
クリスJ

必要な人が見つけられる可能性のあるものを追加するために、クライアントからHost Gator証明書を取得しましたが、かなりうまく設定されているようで、pem変換はなく、CAバンドルはすでに連結されていました。ただし、Amazonには入りません。バンドル内の証明書の順序も同じでした。順序を逆にすることで、それは入り、機能しました。
CargoMeister 2015年

23

問題は、キーと証明書の内容をAWSマネジメントコンソールにコピーする方法にあったようです。私はWindows7デスクトップのVirtualBoxで実行されているUbuntuデスクトップを使用していました。gedit画面からWindowsボックスで実行されているブラウザに値をコピーして貼り付けます。Webブラウザ(この場合はWindows)と同じボックスでキーファイルと証明書ファイルを開くと、証明書は問題なく通過しました。Virtual Boxクライアントとホストの間で共有クリップボードを使用すると、ファイルの一部が正しく処理されないようです。名探偵コナン。


あなたはあなたの答えを受け入れて、これが解決されたことを人々に知らせることができますか?
Phil Sturgeon

2
奇妙なことに、私はずっと前にすでにそれを受け入れていたと思っていました...
フェルビー2012年

7

この問題の代替ソリューションを見つけました。同じ症状で同じエラーが発生していました。

次に、もう一度pemコードを再入力しようとしましたが、今回は必ずEnterキーを押して、各ウィンドウの最後の空白行にカーソルがあることを確認しました。それから私たちはそれを保存しました。出来た。

これは私たちの問題を解決したので、他の人のためにそれを解決するかもしれません。


1

1つの小さな落とし穴。Windowsボックス(Win 7 Pro)を使用していて、OpenSSLのWindowsポートを使用した場合、出力されたファイルにはUnixスタイルの行末文字(LF)が含まれていました。

秘密鍵をアップロードするには、ファイルをWindowsスタイル(CRLF)に変換する必要がありました。


0

私はあなたの人々に代替の解決策と情報を提案することができます。通常、すべての証明書はPEMファイル形式です。メモ帳または任意のテキストエディタを開いて、受け取ったファイルを.crtファイル形式でドラッグするだけです。これは通常.PEMファイルと呼ばれます。証明書がkeytoolにロードされている場合は、keytoolから証明書をpfxファイルとしてエクスポートできます。次に、pfxファイルをpfxファイルの秘密鍵から分離できます。pfxファイルは証明書と秘密鍵の組み合わせであるため、秘密鍵ファイルを個別に取得して、Amazonawsで使用できます。

証明書をインストールする別の方法があるのではないかと思います。認証局に連絡して、証明書を再発行する方法はありますか。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.