B.3.8. keyUsage

Key Usage 拡張機能は、証明書に含まれるキーの目的を定義します。Key Usage、Extended Key Usage、および Basic Constraints 拡張機能は連携して機能し、証明書を使用できる目的を指定します。
この拡張機能が全く含まれる場合は、以下のようにビットを設定します。
  • SSL クライアント証明書、S/MIME 署名証明書、およびオブジェクト署名証明書用の digitalSignature (0)。
  • 一部の S/MIME 署名証明書およびオブジェクト署名証明書用の nonRepudiation (1)
    警告
    このビットの使用は議論の的になっています。証明書に設定する前に、その使用による法的影響を慎重に検討してください。
  • これは、SSL サーバー証明書および S/MIME 暗号化証明書の keyEncipherment (2) に設定されます。
  • dataEncipherment (3) サブジェクトの公開鍵を使用して、鍵情報ではなくユーザーデータを暗号化するとき。
  • keyAgreement (4) サブジェクトの公開鍵がキー合意に使用される場合。
  • すべての CA 署名証明書用の keyCertSign (5)。
  • CRL の署名に使用される CA 署名証明書の cRLSign (6)。
  • encipherOnly (7) 公開鍵がデータの暗号化にのみ使用される場合。このビットが設定されている場合 、keyAgreement も設定する必要があります。
  • decipherOnly (8) 公開鍵がデータの暗号化にのみ使用される場合。このビットが設定されている場合 、keyAgreement も設定する必要があります。
表B.38「証明書の使用とそれに対応する鍵の使用方法」 は、通常の証明書使用ガイドラインをまとめています。
keyUsage 拡張機能が存在してクリティカルとマークされる場合は、証明書とキーの使用を強制するために使用されます。拡張機能は、キーの使用を制限するために使用されます。拡張機能が存在しないか非クリティカルな場合は、すべてのタイプの使用が許可されます。
keyUsage 拡張機能が存在する場合、クリティカルかどうかに関係なく、特定の操作に対して複数の証明書から選択するために使用されます。たとえば、操作用に個別の証明書とキーペアを持っているユーザーの個別の署名証明書と暗号化証明書を区別するために使用されます。

OID

2.5.29.15

Criticality

この拡張機能は、重要な場合と重要でない場合があります。PKIX Part 1 を使用する場合は、クリティカルなマークを付けることが推奨されます。

表B.38 証明書の使用とそれに対応する鍵の使用方法

証明書の目的 必要な鍵使用量のビット
CA 署名
  • keyCertSign
  • cRLSign
SSL クライアント digitalSignature
SSL Server keyEncipherment
S/MIME 署名 digitalSignature
S/MIME 暗号化 keyEncipherment
証明書の署名 keyCertSign
オブジェクトの署名 digitalSignature