web-dev-qa-db-ja.com

証明書の基本的な制約のパスの長さ

パスの長さが0であり、NoneはCAタイプの基本制約と同じですか?明確にするために、パスの長さが0の場合、CAは証明書を発行できないことを意味しますが、パスの長さがnoneの場合、CAは無限の量の証明書を発行できることを意味しますか?

30
Matt

RFC 528 、セクション4.2.1.9から取得:

PathLenConstraintがゼロの場合は、有効な証明書パスで非自己発行の中間CA証明書を追跡できないことを示します。表示される場合、pathLenConstraintフィールドはゼロ以上でなければなりません。 pathLenConstraintが表示されない場合、制限はありません。

つまりa pathLenConstraintof 0でもCAは証明書を発行できますが、これらの証明書はエンドエンティティ証明書である必要があります(BasicConstraintsのCAフラグはfalseです-これらは、人または組織に発行される「通常の」証明書です)。

また、この証明書では、CAが中間CA証明書を発行してはならないことも意味します(CAフラグが再び真である場合-これらは、さらに証明書を発行する可能性があるため、pathLenが1増える可能性があります)。

一方、pathLenConstraintがない場合は、CA証明書の例に至るエンドエンティティ証明書から構築された証明書パスの長さを考慮した制限がないことを意味します。これは、CAがサブCAの中間証明書を発行でき、このサブCAが再び中間証明書を発行でき、このサブCAが再び...最終的に1つのサブCAがエンドエンティティ証明書を発行できるようになることを意味します。

特定のCA証明書のpathLenConstraintが0より大きい場合、エンドエンティティ証明書からCA証明書までのパスで構築された中間CA証明書の数を表します。 CA XのpathLenConstraintが2であるとしましょう。エンドエンティティ証明書はEEに発行されます。次に、以下のシナリオが有効です(私は中間CA証明書を示します)

X - EE
X - I1 - EE
X - I1 - I2 - EE

しかし、これとさらに多くの中間CAがあるシナリオは、

X - I1 - I2 - I3 - EE
...
47
emboss