回答:
ブラウザには、信頼できる「認証局」(CA)証明書のリストがあります。サーバーの証明書がこれらのCA証明書のいずれかによって署名され、適切に形成されている場合、SSL警告は表示されません。
多くのブラウザには、Verisign、Thawteなどの多くの一般的なCA証明書が付属しています。ほとんどのブラウザでは、この信頼できるCAのリストに新しいCAをインポートできます。
独自の自己署名サーバー証明書を作成するように、独自の自己署名CA証明書を作成できます。その後、それを使用してサーバー証明書に署名できます。CAが有名な会社によって提供されていない場合(作成した会社ではない場合)、サーバー側で明示的にインポートする必要があります。
私はxca
以前これをやったことがあります。CAおよびHTTPサーバー用のテンプレートがあります。手順は次のとおりです。
次にxca
、CA証明書を(使用する場合はファイルとして)エクスポートする必要があります(もちろん秘密鍵は含めないでください)。Aが.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証明書を受け入れるよりも安全であり、受け入れられた証明書のみが信頼されます。
/etc/ssl/certs/ssl-cert-snakeoil.pem
(これはDebianパッケージssl-cert
が作成するものです)。これをホストAにコピーして呼び出します/etc/ssl/certs/host-B.pem
(このホストには既にがあるためssl-cert-snakeoil.pem
)。次に実行しln -s /etc/ssl/certs/host-B.pem $(openssl x509 -noout -hash -in /etc/ssl/certs/host-B.pem)
ます。