SSL の問題に 1 か月以上悩まされています。
openssl を使用して、独自の CA、サーバー、およびクライアント証明書を生成しました。また、Apache Web サーバーで「SSLrequire」を有効にしました (htaccess では、これは間違っている可能性があります)。つまり、サーバーで https 経由で接続しようとする人は、有効な証明書を提示する必要があります。
手順は次のとおりです。
- CA キーを生成する
- CA CSR を生成する
- CA キーで CA CSR に署名する
そのため、サーバーとクライアントの証明書に署名するために使用される独自の CA があります。
次のステップ
- サーバーキーを生成する
- サーバー CSR を生成する
- CA キーでサーバー CSR に署名する
これで、サーバー証明書とサーバー秘密鍵がサーバーに正常にインストールされました
次は
- クライアントキーを生成する
- クライアント CSR を生成する
- CA キーでクライアント CSR に署名する
次に、クライアント証明書を CA 証明書と共にユーザーに配布します。どちらもブラウザにインストールされていました。
接続しようとすると、「証明書を発行した CA をピアが認識せず、信頼していません。」というエラーが表示されました。
自己署名 CA 証明書がサーバーにインストールされていないという問題を特定しました。通常、サーバーは信頼できる CA のリストをデバイスに接続しようとして提示し、デバイスはサーバーが提示したいずれかの CA によって署名された証明書を送信する必要があります。しかし、自己署名 CA 証明書がサーバーにインストールされていなかったため、ブラウザーはサーバーが受け入れる証明書を提示できました。
そこで、サーバー - コントロール パネル Hsphere に CA 証明書をインストールしました。
CA 証明書の内容を取得し、サーバーの「認証局ファイル」テキスト領域にコピーしましたが、サーバーは「SSL 構成の更新に失敗しました。キーと証明書が異なります」と不平を言うたびにそれを受け入れませんでした。
CA証明書はそれ自体で署名されているため、サーバーは証明書とキーが異なるとどのように言うことができますか.
また、CA 証明書ファイルと CA キー ファイルの両方の内容を「Certificate Authority File」テキスト領域にコピーしようとしましたが、これもうまくいきませんでした。
私が言ったように、私たちは1か月以上それと格闘してきました. 誰かがそれを助けることができれば、本当に感謝しています。サービスの料金を支払う必要がある場合は、お知らせください。
前もって感謝します。