GoDaddy の証明書を使用した HTTP SSL: 不完全な証明書チェーン
GoDaddy 証明書を使用して Go 内で SSL 暗号化を利用すると、次のような一般的なエラーが発生します。証明書チェーンが不完全なため、SSL テスト分析でグレード キャップ B が発生しました。
エラーの理由
Go の公式ドキュメントによると、証明書が不完全ですチェーンは、提供された証明書にルート認証局の証明書が含まれていない場合に発生します。 Web サーバーがクライアントに証明書を提示するとき、Web サーバーは信頼されたルート認証局に至る証明書チェーン全体を受信することを期待します。中間証明書またはルート証明書が欠落している場合、クライアントはサーバーの ID を検証できず、証明書チェーンは不完全とみなされます。
提案された解決策- 修正するにはこの問題については、次の手順を参照してください:
-
中間証明書とルート証明書を取得します: 証明書プロバイダー (この場合は GoDaddy) に連絡して、関連する中間証明書とルート証明書を取得します。メインの証明書ファイル。中間証明書はルート CA によって発行され、サーバー証明書に署名しますが、ルート証明書は Web ブラウザによって認識される信頼できる機関です。
-
証明書の連結: メイン証明書とすべての中間証明書を結合します。証明書とルート証明書を 1 つのファイルにまとめます。このファイルは、Web サーバーで使用される完全な証明書チェーンとして機能します。
-
完全な証明書ファイルで Go コードを更新する: Go サーバー コードを変更して、完全な証明書チェーン。証明書ファイルへのパスが正しいこと、および LoadX509KeyPair 関数を使用して証明書ファイルが適切にロードされていることを確認します。
テストと検証:
Web サーバーを再起動し、ツールを使用して SSL テストを実行します。 SSL Labs (https://www.ssllabs.com/ssltest/) などにアクセスして、問題が解決されたかどうかを確認してください。完全な証明書チェーンにより、検証が成功し、SSL テストのグレードが向上します。
gt;追加の考慮事項
-
- 証明書ファイルを連結する際、ファイル内に余分な改行文字やスペースがないことを確認してください。フォーマットにエラーがあると、解析の問題が発生する可能性があります。
セキュリティを強化するために、TLS 構成に追加の暗号スイートを含めることを検討してください。Go ドキュメントで示されているように、証明書チェーンにルート証明書を含めます。はオプションです。システムによっては、ルート証明書の存在を期待する場合もありますが、そうでない場合もあります。
以上がGoDaddy の SSL 証明書が原因で Go アプリケーションで不完全な証明書チェーンが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。