Googleで安全なプロキシを使用するときはいつでもChrome ERR_PROXY_CERTIFICATE_INVALID
を取得します)、さまざまなシナリオとバージョンを試しました。
自己署名証明書を使用しています:
openssl genrsa -out key.pem 1024
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem
注:この証明書は、単純なHTTPSサーバーをセットアップしようとすると機能します(自己署名であるため警告が表示されます)。
次に、localhost:8080
でセキュアプロキシを開始します。これを達成するためのいくつかの方法があります、私は試しました:
次に、Google Chrome with:
google-chrome --proxy-server=https://localhost:8080 http://superuser.com
たとえば、http://superuser.com
をロードします。
私が得るのは:
Error 136 (net::ERR_PROXY_CERTIFICATE_INVALID): Unknown error.
ウィンドウ内、および次のようなもの:
[13633:13639:1017/182333:ERROR:cert_verify_proc_nss.cc(790)] CERT_PKIXVerifyCert for localhost failed err=-8179
コンソールで。
注:これは、安全でない証明書について不平を言う大きな赤い警告ではありません。
さて、私は証明書などに関係することについてかなりn00bであることを認めなければなりません。いくつかの基本的なポイントが欠けている場合は、私に知らせてください。
たぶん、その証明書をシステムの証明書ストアにインポートして、それを信頼してみてください。 ChromeはOSを使用してセキュリティ証明書を検証します。
Chromeは、プロキシ機能がネットワークコンポーネントへの透過的なアドオンとして実装されている可能性があるため、プロキシの証明書が無効な場合に警告の代わりにエラーを表示することは非常に理解できると思います。プロキシの証明書を確認するための追加のUIは、便利な機能ではないようです。
次の手順でうまくいきます。
キーと証明書を生成します。
openssl genrsa -out key.pem 1024
openssl req -new -key key.pem -subj "/CN=localhost" -out req.pem
openssl x509 -req -days 30 -in req.pem -signkey key.pem -out cert.pem
必須フィールドはCN
(CommonName
)のみであり、必須はプロキシの1つの同じドメインであることに注意してください。
certutil
(Debianのパッケージlibnss3-tools
から)を使用して、証明書をシステムデータベースに追加します。
certutil -d "sql:$HOME/.pki/nssdb" -A -n dummy -i cert.pem -t C
dummy
は単なるニックネームであり、何でもかまいませんが、必ず-t C
オプションを指定してください。