web-dev-qa-db-ja.com

自己署名証明書と独自のCAによって署名された証明書に違いはありますか?

機密性の高いいくつかのアプリケーションでは、内部ネットワークでSSLを使用する必要があります。自己署名証明書と、セットアップしたWindows Server CAによって署名された証明書に違いがあるかどうかを知る必要がありますか? CAをセットアップする必要がありますか?

11
Max Schmeling

単一のサービスの短期的には、それほど大きな違いはありません。

SSLを使用するサービスをさらにセットアップする必要があると判断した場合は、CAをセットアップする方が適切な選択であることがわかります。

CAをセットアップすると、クライアントにCAを信頼させ、それによって署名されたすべての証明書を信頼できるようになります。 CAが立ち上がったら、追加のサービスを追加するのは簡単です。多数の自己署名証明書がある場合、ユーザーは各証明書を個別に受け入れる必要があります。

あなたはあなたがWindows CAを持っていると言っていますか?すでにお持ちの場合は、それを使用します。まだお持ちでない場合は、VMまたはUSBディスク上のLinux以外で実行できるTinyCAのような軽量システムを使用したくなるでしょう。

10
Zoredache

証明書には、他の公開鍵証明書への署名に使用することが許可されているかどうか、CA証明書であるかどうかなど、証明書が許可されている用途に関する情報が含まれている場合があります。一部の実装では、この種の情報を確認し、特定の目的のために正しい情報がないと証明書の受け入れを拒否する場合があります。

これらの追加情報の例は次のとおりです。

  • 「キー使用法」拡張(OID 2.5.29.15)。この証明書をキー証明書の署名に使用できるかどうかを指定します。
  • これがCA証明書であるかどうかを指定する「基本制約」拡張(OID 2.5.29.19)。

独自の自己署名証明書を作成していて、それをCA証明書として使用し、それを使用するすべてのソフトウェアによって受け入れられる可能性を高めたい場合は、おそらく確認する必要があります上記の2つの拡張機能に対して適切に構成された値が含まれています。

これらの2つの拡張機能を省略しても、多くの実装はそれをCA証明書として尊重する可能性がありますが、一部の実装はそうしない場合があります。

2
Spiff

独自の証明書に署名する場合は、CAが必要です(それが自分のものか公式のものか)。ただし、複数の証明書に署名することを計画していて、ユーザーに1つだけ受け入れてもらいたい場合を除いて、CAをユーザーにプッシュする必要はありません(つまり、ユーザーがCAをインストールすると、発行したすべての証明書が受け入れられます)。長期的にはCAをプッシュする方がよい場合があります。

0
Jay