PEM証明書を使用してSSLでプロキシサーバーを設定しました。さて、この証明書を自動的に信頼したいマシンがいくつかあります(Webブラウザーからの不満はありません)。各マシンにPEM証明書をインストールするにはどうすればよいですか?
また、より推奨されるのは、自己署名証明書を生成するか、snakeoil証明書を連結するかです。
ブラウザーには、信頼できる「認証局」(CA)証明書のリストがあります。サーバーの証明書がこれらのCA証明書のいずれかによって署名され、適切に形成されている場合、SSL警告は表示されません。
多くのブラウザには、Verisign、Thawteなどの多くの一般的なCA証明書が付属しています。ほとんどのブラウザでは、信頼できるCAのリストに新しいCAをインポートできます。
独自の自己署名サーバー証明書を作成するように、独自の自己署名CA証明書を作成できます。その後、それを使用してサーバー証明書に署名できます。 CAが有名な会社によって提供されていない場合、それがあなたが作成したものではない場合、サーバー側で明示的にインポートする必要があります。
以前、これを行うためにxca
を使用しました。 CAとHTTPサーバー用のテンプレートがあります。手順はこれです:
次に、CA証明書を(xca
を使用する場合はファイルとして)エクスポートする必要があります(もちろん、秘密鍵は含めないでください)。 .pem
が生成されますが、拡張子を.crt
に変更できます。ユーザーがそれをクリックすると、FirefoxとInternet Explorer、およびおそらく他の主要なブラウザーにインストールするように提案されます。この.crtの自動インストールに関しては、次のことができます。
次に、HTTPサーバー証明書のエクスポート機能を使用して(サーバー側の秘密キーと証明書の両方をエクスポート)、プロキシサーバーに配置できます。
証明書をターゲットシステムの/etc/ssl/certs
にコピーします。次に、コマンドopenssl x509 -noout -hash -in ca-certificate-file
で生成されたハッシュを使用してシンボリックリンクを作成し、ca-certificate-file
を証明書名に置き換えます。証明書は、独自の証明書ストアを持たないすべてのプログラムで受け入れられるはずです。
独自の証明書ストア(ブラウザー、Javaなど)を備えたプログラムの場合は、証明書をインポートする必要があります。
独自の自己署名証明書または署名付き証明書を生成するのが最適です。
tinyca2
をインストールして、独自の認証局を生成することができます。上記の手順で説明されているように、認証局証明書をインポートできます。アプリケーションの署名付き証明書を生成してデプロイします。
証明書を信頼する必要があるユーザーにCA証明書を配布します。証明書をインポートする方法に関する情報を提供する必要がある場合があります。警告:彼らがこれを行う場合、あなたは彼らにとって別の信頼できるCAになるので、それに応じてCAを保護してください。
多くのツールは、自己署名証明書または信頼されていないCAの証明書を信頼するように構成することもできます。これは通常、1回限りのアクションです。これは、安全でない機関からCA証明書を受け入れるよりも安全であり、受け入れられた証明書のみが信頼されます。
DebianとUbuntuでは、certificate.pem
を/usr/local/share/ca-certificates/certificate.crt
にコピーしてから、dpkg-reconfigure ca-certificates
を実行する必要があります。 /etc/ssl/certs
はそのコマンドによって管理されます。