本文へスキップ
ecdsa.com

基本制約(basicConstraints)

証明書が他の証明書への署名を許された CA のものかどうかを cA フラグで示す X.509 の証明書拡張(OID 2.5.29.19)で、任意の pathLenConstraint によって、その下に続けられる CA の数を制限できます。
別表記basicConstraintscA flagpathLenConstraintpath length constraint

CA 証明書はこの拡張を必ず含み、クリティカルとしてマークし、cA を true に設定しなければなりません(RFC 5280 §4.2.1.9)。エンドエンティティ証明書は、この拡張を省略するか cA を false に設定します。pathLenConstraint: 0 は、その CA がエンドエンティティ証明書しか発行できないことを意味します。

この拡張を無視していた検証者では、どのリーフ証明書でも CA として振る舞えてしまいました。2002年に Moxie Marlinspike が公開した sslsniff は、Internet Explorer が通常のサイト証明書で署名された証明書を受け入れることを示しました。同種のバグはその後も組み込み向けの TLS スタックで繰り返し見つかっています。リソースの限られたデバイス向けに TLS ライブラリを選ぶときに確認すべき項目の 1 つです。

規格と参考文献

すべての用語