自己署名CAと自己署名証明書の違い


81

CAキーと証明書の違いがわかりません。CAキーは単なる証明書ではありませんか?例を挙げて明確にしてみましょう。

クライアントとサーバーがあります。私は自分のサーバーへの接続を検証しようとしているだけで、他の人への信頼を確立しようとはしていないので、実際のCAで署名する必要はありません。

オプション1:自己署名CA(ssCA)を生成し、それを使用して証明書(C)に署名します。次に、ssCAをクライアントのルートキーストアにインストールし、証明書Cを使用するようにサーバーをセットアップします。

オプション2:自己署名証明書(SSC)を生成します。SSCをクライアントのルートキーストアにインストールします。証明書SSCを使用するようにサーバーをセットアップします。

2番目のオプションは、はるかに単純なプロセスのようです。それでも機能するはずですか?

回答:


62

どちらのオプションも有効で、オプション2の方が簡単です。

複数の証明書が必要な場合は、オプション1(独自のCAを設定する)をお勧めします。企業では、独自のCAを設定し、そのCAの証明書をすべてのクライアントのルートキーストアにインストールする場合があります。これらのクライアントは、CAによって署名されたすべての証明書を受け入れます。

オプション2(CAなしで証明書に自己署名する)の方が簡単です。証明書が1つだけ必要な場合は、これで十分です。クライアントのキーストアにインストールすれば完了です。ただし、2つ目の証明書が必要な場合は、それをすべてのクライアントに再度インストールする必要があります。

詳細情報へのリンクは次のとおりです。認証局と自己署名SSL証明書の作成


CAが証明書に署名した場合でも、CAからの1つの証明書ではなく、生成されたすべての証明書を信頼する必要があることを知って、生成された証明書(この場合はC)を個別に信頼できますか?
ivandov

65

まず、鍵と証明書(「CA鍵」に関して)の違いについて、公開鍵証明書(通常はX.509)について話すときに使用されるのは、公開鍵、秘密鍵、および証明書の3つです。公開鍵と秘密鍵はペアを形成します。秘密鍵を使用して署名および復号化し、(署名)を検証して、公開鍵を使用して暗号化することができます。公開鍵は配布されることを目的としていますが、秘密鍵は秘密に保つことを目的としています。

公開鍵証明書は、公開鍵とさまざまな情報(主に、秘密鍵を制御する鍵ペアの所有者のIDに関するもの)の組み合わせであり、この組み合わせは、の発行者の秘密鍵を使用して署名されます。証明書。X.509証明書には、サブジェクト識別名と発行者識別名があります。発行者名は、証明書を発行するエンティティの証明書のサブジェクト名です。自己署名証明書は、発行者とサブジェクトが同じである特殊なケースです。証明書の内容に署名する(つまり、証明書を発行する)ことにより、発行者はその内容、特に、キー、ID(サブジェクト)、およびさまざまな属性(の使用目的または使用範囲を示す場合がある証明書)。

さらに、PKIX仕様では、証明書をCA証明書として使用できるかどうか、つまり、別の証明書の発行者として使用できるかどうかを示す拡張機能(特定の証明書の一部)が定義されています。

これから、エンドエンティティ証明書(ユーザーまたはサーバーに対して検証する証明書)と信頼するCA証明書の間に証明書のチェーンを構築します。サービスのエンドエンティティ証明書と信頼できるCA証明書の間に、(他のCA証明書によって発行された)中間CA証明書が存在する場合があります。上部にルートCA(自己署名CA証明書)が厳密に必要なわけではありませんが、多くの場合そうです(必要に応じて、中間CA証明書を直接信頼することを選択できます)。

ユースケースでは、特定のサービスの自己署名証明書を生成する場合、そのサービスにCAフラグ(基本的な制約拡張)があるかどうかは実際には重要ではありません。他の証明書を発行できるようにするには、CA証明書である必要があります(独自のPKIを構築する場合)。このサービス用に生成する証明書がCA証明書である場合、害はありません。さらに重要なのは、この特定のサーバーの証明書を信頼するようにクライアントを構成する方法です(たとえば、ブラウザーを使用すると、明示的な例外を非常に簡単に作成できます)。構成メカニズムが(特定の例外を使用せずに)PKIモデルに従っている場合、チェーンを構築する必要がないため(証明書が1つだけ)、のトラストアンカーの一部として証明書を直接インポートできるはずです。あなたのクライアント、それが


1
情報のおかげで。ヘルゲの方が早くて短いので、正解をあげます。しかし、これは知っておくと良かったです。
ペース

8

openssl x509 -noout -text -in $YOUR_CERTファイルの内容の違いを確認できます。

自己署名CAでは、次のことがわかります。

    X509v3 extensions:                                                          
        X509v3 Basic Constraints:
            CA:TRUE, pathlen:0

そして、自己署名証明書では、次のようになります。

    X509v3 extensions:                                                          
        X509v3 Basic Constraints:
            CA:FALSE

0

常にルートCAが必要です。CAには、下位レベルの証明書に署名するために使用できるキーと、クライアントで受け入れられたルート証明書に埋め込むことができ、下位の証明書を検証して確認するために使用されるルート証明書があります。有効です。自己署名は、あなたがあなた自身のCAであることを意味します。自己署名証明書を作成するときはいつでも、CAを作成してから、そのCAでサイト証明書に署名します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.