server.csr は通常、認証局に証明書の発行を求める要求です。プロキシの証明書オプションをそこへ向けても、その処理は完了しません。

PEM ファイルの中身を見てください:

-----BEGIN CERTIFICATE REQUEST-----
-----BEGIN CERTIFICATE-----
-----BEGIN PRIVATE KEY-----

これらのラベルはそれぞれ別のオブジェクトを表します。要求は発行済みの証明書ではなく、その秘密鍵でもありません。ファイル名を .pem に変えても、どれも変わりません。

プロキシを識別する TLS リスナーには、そのプロキシ名に対して発行された証明書と対応する鍵を、ソフトウェアが文書化している配置で使います。openssl req は証明書要求を検査し、openssl x509 は証明書を検査します。手元にあるオブジェクトに合ったパーサーを使ってください。Squid 6.13 では、その TLS リスナーで発行済みの証明書と対応する鍵を使ってください。

通常のサーバー証明書は、許可された傍受に使う CA とも異なります。無関係なウェブサイトの証明書に署名する権限は与えません。

ホスト名の検査やネットワーク到達性を調べる前に、オブジェクトの種類と鍵の対応を確認してください。TLS は提供されたことのない証明書を使えません。

関連記事