
Windows XP は、これまでどの仮想ホストでも使用されたことがないにもかかわらず、Ubuntu に同梱されていた怪しげな証明書を使い続けています。
証明書は次の場所にあります
/etc/ssl/certs/ssl-cert-snakeoil.pem
鍵がどこにあるかはわかりません。唯一ありそうなのは
/etc/ssl/private/ssl-cert-snakeoil.key
CA証明書は
/etc/ssl/certs/ca-certificates.crt
でもよく分からないんです。
これまで私はさまざまなopensslコマンドを試してきました。
openssl ca -keyfile /etc/ssl/private/ssl-cert-snakeoil.key \
-revoke /etc/ssl/certs/ssl-cert-snakeoil.pem \
-cert /etc/ssl/certs/ca-certificates.crt
その出力は
Using configuration from /usr/lib/ssl/openssl.cnf
CA certificate and CA private key do not match
14805:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:406:
アイデアが全く出てきません。どんな助けでも大歓迎です。
編集
何が起こったかは以下の通りです:
GeoTrust から証明書を購入し、インストールし、その証明書を使用して新しい仮想ホストをアクティブ化し、apache2 を再起動しました。このサーバーの存続期間中、Web トラフィックのセキュリティ保護に他の証明書が使用されたことはありません。スネークオイル証明書は言うまでもありません。Windows Vista 以降、および私がテストした OSX とすべての Linux ディストリビューションでは、正しい証明書が使用されています。Windows XP では、スネークオイル証明書が使用されます (IE で。その VM 上の他のブラウザーは使用されません)。スクリーンショットをいくつか示します。
答え1
あなたが提供してくれた追加情報を考慮すると、私にとっては別の回答を始めるのがおそらく簡単になるでしょう。
ダミーの「snakeoil」証明書が Windows クライアントに提示されているようには見えません。「snakeoil」証明書は という件名で生成されますCN=Ubuntu
が、Windows ボックスに提示されている証明書の件名は ですCN=Production
。つまり、ここでは 3 番目の証明書を見ていることになります。
OpenSSL を使用してサーバーに接続すると、同じ証明書が表示されますs_client
。
$ openssl s_client -connect portal.avendimedia.com:443
...
Certificate chain
0 s:/CN=Production
i:/CN=Production
...
私が思うに、ウェブサーバーを次のように設定しているのが原因だと思います。サーバー名の表示拡張機能。この拡張機能は、クライアントが接続するホスト名に応じてサーバーが異なる証明書を提示できるように設計されています。
これは、ほとんどの最新ブラウザでは問題なく動作しますが、Vista より前のバージョンの Windows 上の Internet Explorer では動作しません。現時点では、Microsoft が Windows XP 上の SSL ライブラリを更新して SNI 拡張機能をサポートする可能性は非常に低いと思われます。
サイトを XP 上の Internet Explorer で動作させる必要がある場合は、同じ IP アドレスで実行されている他の SSL ホストへの参照を Apache 構成から削除できるかどうかを確認してください。
答え2
パッケージがインストールされると、「snakeoil」証明書が自動的に生成されますssl-cert
。
これは自己署名証明書なので、取り消すことはあまり意味がありません。ただし、新しい証明書は簡単に生成できます。
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
変更を有効にするには、その証明書を使用していたすべてのサービスを再起動する必要がある可能性があります。
Windows XP が証明書を使い続けると言うとき、それは正確にはどういう意味ですか? そのコンピューターの Web ブラウザーに、Ubuntu システムによって生成された特定の怪しげな証明書を信頼するように指示した場合、ブラウザーの証明書管理インターフェイスでその信頼を取り消すのは簡単なはずです。