付録B 証明書および CRL のデフォルト、制約、および拡張

この付録では、X.509 v3 で定義された標準の証明書拡張機能と、X.509 v3 が完成する前にリリースされた製品のバージョンで使用された Netscape で定義された拡張機能の両方を説明します。PKIX Part 1 の推奨事項など、特定の種類の証明書で使用する拡張機能の推奨事項を提供します。
重要
この付録は、Red Hat Certificate System で使用または設定可能なデフォルト、制約、証明書および CRL 拡張機能のリファレンスです。証明書および CRL 拡張の詳細な参照および説明は、RFC 3280 を参照してください。
この付録には以下のセクションが含まれます。

B.1. デフォルトの参照

デフォルトでは、証明書の内容の定義に使用されます。このセクションでは、事前定義されたデフォルト値を一覧表示し、定義します。

B.1.1. Authority Info Access 拡張のデフォルト

デフォルトでは、Authority Info Access 拡張をアタッチします。この拡張機能は、証明書を検証するアプリケーションが、証明書を発行した CA に関するオンライン検証サービスや CA ポリシーデータなどの情報にアクセスする方法を指定します。この拡張機能は、CA によって維持されている CRL の場所を直接指すために使用しないでください。CRL Distribution Points 拡張 「CRL Distribution Points 拡張機能のデフォルト」 は、CRL の場所への参照を提供します。
この拡張機能に関する一般的な情報は、「authorityInfoAccess」を参照してください。
次の制約は、このデフォルトで定義できます。
このデフォルトは、各場所のパラメーターを指定して最大 5 つの場所を定義できます。パラメーターには、パラメーターが関連付けられる場所を表示するために、表で n のマークが付いています。

表B.1 Authority Info Access Extension のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
Method_n
拡張機能が表示されている証明書を発行した CA に関する追加情報を取得するアクセス方法を指定します。以下の値のいずれかになります。
  • ocsp (1.3.6.1.5.5.7.48.1).
  • caIssuers (1.3.6.1.5.5.7.48.2)
  • renewal (2.16.840.1.113730.16.1)
LocationType_n 証明書を発行した CA に関する追加情報を含む場所の一般名タイプを指定します。これは以下のいずれかのタイプになります。
  • DirectoryName
  • DNSName
  • EDIPartyName
  • IPAddress
  • OID
  • RFC822Name
  • URIName
Location_n
証明書を発行した CA に関する追加情報を取得するためのアドレスまたは場所を指定します。
  • directoryName の場合は、証明書のサブジェクト名と同様に、値は X.500 名の文字列形式である必要があります。例: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • dNSName の場合、値は有効な完全修飾ドメイン名である必要があります。例: testCA.example.com
  • EDIPartyName の場合、値は IA5String である必要があります。例: Example Corporation
  • iPAddress の場合、値は有効な IP アドレスでなければなりません。IPv4 アドレスは、n.n.n.n または n.n.n.n,m.m.m.m の形式にする必要があります。たとえば、128.21.39.40 または 128.21.39.40,255.255.255.00 です。IPv6 アドレスは 128 ビット名前空間を使用します。IPv6 アドレスはコロンで区切られ、ネットマスクはピリオドで区切られます。たとえば、0:0:0:0:0:0:13.1.68.3FF01::430:0:0:0:0:0:13.1.68.3,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0、および FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000 になります。
  • OID の場合、この値は、ドットで区切られた数値コンポーネント表記で指定された一意の有効な OID である必要があります。たとえば、1.2.3.4.55.6.5.99 です。
  • RFC822Name の場合、値は有効なインターネットメールアドレスである必要があります。
  • URIName の場合、値は、URL 構文およびエンコード規則に従った非相対ユニバーサルリソース識別子 (URI) である必要があります。名前には、http などのスキームと、ホストの完全修飾ドメイン名または IP アドレスを含める必要があります。例: http://ocspResponder.example.com:8000Certificate System は、IPv4 と IPv6 の IP アドレスの両方を許可します。
Enable_n この場所を有効にするかどうかを指定します。true を選択してセットとしてマークします。false を選択して無効にします。

B.1.2. Authority Key Identifier 拡張機能のデフォルト

デフォルトでは、認証局キー識別子の拡張子が証明書に接続されます。拡張機能は、CA が証明書に署名するために使用する秘密鍵に対応する公開鍵を識別します。このデフォルトにはパラメーターがありません。この拡張を使用すると、公開鍵情報とともに証明書に含まれます。
このデフォルトには、次の制約があります。
この拡張機能に関する一般的な情報は、「authorityKeyIdentifier」 を参照してください。

B.1.3. 認証トークンサブジェクト名のデフォルト

このプロファイルのデフォルトでは、認証トークン (AuthToken) オブジェクトの属性値に基づいてサブジェクト名が入力されます。
このデフォルトのプラグインは、ディレクトリーベースの認証マネージャーと動作します。Directory-Based User Dual-Use Certificate Enrollment 証明書登録証明書プロファイルには、UID とパスワードの 2 つの入力パラメーターがあります。ディレクトリーベースの認証マネージャーは、所定の UID とパスワードが正しいかどうかを確認します。
さらに、ディレクトリーベースの認証マネージャーは、発行する証明書のサブジェクト名を作成します。これは、AuthToken からのユーザーの DN 値を使用してサブジェクト名を形成します。
このデフォルトは、AuthToken からサブジェクト名を読み取り、それを証明書要求に配置して、最終的な証明書にサブジェクト名が含まれるようにするロールを果たします。
次の制約は、このデフォルトで定義できます。

B.1.4. 基本的な制約拡張機能のデフォルト

デフォルトでは、基本制約の拡張を証明書にアタッチします。拡張機能は、証明書マネージャーが CA であるかどうかを特定します。この拡張機能は、証明書チェーンの検証プロセス中に、CA 証明書を識別し、証明書チェーンパスの長さの制約を適用するためにも使用されます。
この拡張機能に関する一般的な情報は、「basicConstraints」 を参照してください。
次の制約は、このデフォルトで定義できます。

表B.2 基本的な制約エクステンションのデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
IsCA 証明書サブジェクトが CA であるかどうかを指定します。true の場合、サーバーは PathLen パラメーターをチェックして、証明書に指定したパスの長さを設定します。false の場合、サーバーは証明書のサブジェクトを CA 以外として処理し、PathLen パラメーターに指定された値を無視します。
PathLen
パスの長さ、つまり発行されている従属 CA 証明書の下 (従属) にチェーンできる CA 証明書の最大数を指定します。パスの長さは、証明書の検証時に使用する CA 証明書の数に影響します。このチェーンは、チェーンを検証して上に移動させるエンドエンティティー証明書で始まります。
拡張がエンドエンティティー証明書に設定されている場合、maxPathLen パラメーターは機能しません。
許容値は 0 または n です。値は、CA 署名証明書の Basic Constraint 拡張で指定されたパスの長さよりも短くする必要があります。0 は、従属 CA 証明書の下に従属 CA 証明書を許可しないことを指定します。パスをたどることができるのは、エンドエンティティー証明書のみです。n は、ゼロよりも大きい整数でなければなりません。従属 CA 証明書の下で許可される従属 CA 証明書の最大数を指定します。
フィールドが空白の場合、パスの長さはデフォルトで、発行者の証明書の Basic Constraint 拡張機能で設定されたパスの長さによって決定されます。発行者のパスの長さが無制限の場合は、下位 CA 証明書のパスの長さも無制限になります。発行者のパス長がゼロより大きい整数の場合、下位 CA 証明書のパス長は、発行者のパス長より 1 小さい値に設定されます。たとえば、発行者のパス長が 4 の場合、下位 CA 証明書のパス長は 3 に設定されます。

B.1.5. CA 有効性のデフォルト

このデフォルトでは、CA 証明書の登録または更新プロファイルにオプションが追加され、CA の署名証明書の有効期限の制約がバイパスされます。これは、発行された CA 証明書の有効期限が、発行された C A 署名証明書の有効期限よりも遅い可能性があることを意味します。
次の制約は、このデフォルトで定義できます。

表B.3 CA 有効性のデフォルトパラメーター

パラメーター 説明
bypassCAnotafterrange 要求側の CA が、発行側の CA の有効期間を超えて有効期間が延長された証明書を要求できるかどうかのデフォルト値を設定します。
range この証明書の絶対有効期間を日数で指定します。
startTime 現在の時間に基づいて有効期間が始まるタイミングを設定します。

B.1.6. 証明書ポリシーの拡張機能のデフォルト

デフォルトでは、Certificate Policy Mappings の拡張を証明書テンプレートに割り当てます。この拡張機能は、証明書が発行されたポリシーと証明書を使用できる目的を示す 1 つ以上のポリシーを定義します。デフォルトでは、最大 5 つのポリシーが定義されますが、値を変更できます。
この拡張機能に関する一般的な情報は、「certificatePoliciesExt」 を参照してください。

表B.4 証明書ポリシー拡張のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
numCertPolicies 定義できるポリシーの数を指定します。デフォルトは 5 です。
enable true を選択してポリシーを有効にします。false を選択してポリシーを無効にします。
policyId ポリシーの OID 識別子を指定します。
cpsURI.enable 拡張機能には、発行者 Certificate Practice Statement への URI を含めることができます。true を選択して URI を有効にします。false を選択して URI を無効にします。
CPSURI.value この値は、CA によって公開される Certification Practice Statement (CPS) へのポインターです。ポインターは URI の形式になります。
usernotice.enable 拡張機能には、発行者の Certificate Practice Statement への URI を含めることも、ユーザー通知などの発行者情報をテキスト形式で埋め込むこともできます。ユーザー通知を有効にするには true を選択します。ユーザー通知を無効にするには、false を選択します。
usernotice.noticeReference.noticeNumbers この任意のユーザー通知パラメーターは、他の場所に保存されているメッセージを指す一連の番号です。
usernotice.noticeReference.organization このオプションのユーザー通知パラメーターは会社名を指定します。
usernotice.explicitText.value この任意のユーザー通知パラメーターには、証明書内のメッセージが含まれます。

B.1.7. CRL Distribution Points 拡張機能のデフォルト

デフォルトでは、CRL Distribution Points の拡張を証明書に割り当てます。この拡張機能は、証明書を検証しているアプリケーションが CRL 情報を取得して、証明書の失効ステータスを検証できる場所を識別します。
この拡張機能に関する一般的な情報は、「CRLDistributionPoints」 を参照してください。
次の制約は、このデフォルトで定義できます。
このデフォルトは、各場所のパラメーターを指定して最大 5 つの場所を定義できます。パラメーターには、パラメーターが関連付けられる場所を表示するために、表で n のマークが付いています。

表B.5 CRL Distribution Points 拡張設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
Type_n CRL ディストリビューションポイントのタイプを指定します。許容値は DirectoryNameURIName、または RelativeToIssuer です。型は、Name フィールドの値に対応する必要があります。
Name_n
CRL 配布ポイントの名前を指定します。名前は次のいずれかの形式にすることができます。
  • RFC 2253 構文の X.500 ディレクトリー名。名前は、cn=CA Central, ou=Research Dept, o=Example Corporation, c=US のように、証明書のサブジェクト名に似ています。
  • URIName (http://testCA.example.com:80 など)。
  • CRL 発行者に対して相対的な場所を指定する RDN。この場合、Type 属性の値は RelativeToIssuer である必要があります。
Reasons_n
配布ポイントで保持される CRL で想定される失効理由を指定します。次の定数のコンマ区切りリストを提供します。
  • unused
  • keyCompromise
  • cACompromise
  • affiliationChanged
  • superseded
  • cessationOfOperation
  • certificateHold
IssuerType_n
ディストリビューション中に保持される CRL を署名した発行者の命名タイプを指定します。発行者名は以下のいずれかの形式になります。
  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • OtherName
IssuerName_n
CRL に署名した CRL 発行者の名前を指定します。許容値は次のとおりです。
  • RFC822Name の場合、値は有効なインターネットメールアドレスである必要があります。例: testCA@example.com
  • DirectoryName の場合は、証明書のサブジェクト名と同様に、値は X.500 名の文字列形式である必要があります。例: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • DNSName の場合、値は有効な完全修飾ドメイン名である必要があります。例: testCA.example.com
  • EDIPartyName の場合、値は IA5String である必要があります。例: Example Corporation
  • URIName の場合、値は URL 構文およびエンコーディングルールに続く非相対的な URI である必要があります。名前には、http などのスキームと、ホストの完全修飾ドメイン名または IP アドレスを含める必要があります。例: http://testCA.example.com。証明書システムは、IPv4 アドレスと IPv6 アドレスの両方をサポートします。
  • iPAddress の場合、値は有効な IP アドレスでなければなりません。IPv4 アドレスは、n.n.n.n または n.n.n.n,m.m.m.m の形式にする必要があります。たとえば、128.21.39.40 または 128.21.39.40,255.255.255.00 です。IPv6 アドレスは 128 ビット名前空間を使用します。IPv6 アドレスはコロンで区切られ、ネットマスクはピリオドで区切られます。たとえば、0:0:0:0:0:0:13.1.68.3FF01::430:0:0:0:0:0:13.1.68.3,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0、および FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000 になります。
  • OIDName の場合、この値は、ドットで区切られた数値コンポーネント表記で指定された一意の有効な OID である必要があります。たとえば、1.2.3.4.55.6.5.99 です。
  • OtherName は他の形式の名前に使用されます。これは、PrintableStringIA5StringUTF8StringBMPStringAny、および KerberosName をサポートします。KerberosName には、realm1|0|userID1,userID2 などの Realm|NameType|NameStrings 形式になります。
    OtherName の形式は (type)oid,string にする必要があります。例: (IA5String)1.2.3.4,MyExample
このパラメーターの値は、issuerName フィールドの値に対応している必要があります。

B.1.8. Extended Key Usage 拡張機能のデフォルト

デフォルトでは、Extended Key Usage の拡張を証明書に登録します。
この拡張機能に関する一般的な情報は、「extKeyUsage」 を参照してください。
この拡張機能は、Key Usage 拡張機能に示されている基本的な目的に加えて、認証された公開鍵を使用できる目的を識別します。たとえば、Extended Key Usage 拡張が署名キーを特定した場合、Extended Key Usage の拡張では、キーの使用法を OCSP 応答のみに署名したり、Java™ アプレットだけに署名するのに絞り込むことができます。

表B.6 Extended Key Usage 拡張機能の PKIX 使用定義

使用方法 OID
サーバー認証 1.3.6.1.5.5.7.3.1
クライアント認証 1.3.6.1.5.5.7.3.2
コード署名 1.3.6.1.5.5.7.3.3
Email 1.3.6.1.5.5.7.3.4
IPsec エンドシステム 1.3.6.1.5.5.7.3.5
IPsec トンネル 1.3.6.1.5.5.7.3.6
IPsec ユーザー 1.3.6.1.5.5.7.3.7
タイムスタンプ 1.3.6.1.5.5.7.3.8
Windows 2000 は、暗号化されたファイルシステム (EFS) と呼ばれる機能を使用して、ハードディスク上のファイルを暗号化できます。以下の 2 つの OID を持つ Extended Key Usage が含まれる証明書を使用します。
1.3.6.1.4.1.311.10.3.4 (EFS 証明書)
1.3.6.1.4.1.311.10.3.4.1 (EFS リカバリー証明書)
EFS リカバリー回復証明書は、ユーザーが秘密鍵を紛失し、その鍵で暗号化されたデータを使用する必要がある場合に、復元エージェントによって使用されます。Certificate System は、これら 2 つの OID をサポートし、これらの OID を含む Extended Key Usage 拡張機能を含む証明書を発行できるようにします。
通常のユーザー証明書は、リカバリー OID ではなく、EFS OID のみで作成する必要があります。
次の制約は、このデフォルトで定義できます。

表B.7 Extended Key Usage 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
OID キー使用目的を識別する OID を指定します。許容値は、ドットで区切られた数値コンポーネント表記で指定された一意の有効な OID です。たとえば、2.16.840.1.113730.1.99 です。キーの使用目的に応じて、OID は PKIX (表B.6「Extended Key Usage 拡張機能の PKIX 使用定義」 にリストされている) またはカスタム OID で指定できます。カスタム OID は、会社で使用するために予約された ID の登録済みサブツリーである必要があります。Certificate System の評価とテストにカスタム OID を使用することは可能ですが、実稼働環境では、OID の定義と ID のサブツリーの登録に関する ISO 規則に準拠しています。

B.1.9. Freshest CRL 拡張機能のデフォルト

デフォルトでは、Freshest CRL 拡張を証明書に割り当てます。
次の制約は、このデフォルトで定義できます。
このデフォルトは、各場所のパラメーターを指定して最大 5 つの場所を定義できます。パラメーターには、パラメーターが関連付けられる場所を表示するために、表で n のマークが付いています。

表B.8 Freshest CRL 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
PointEnable_n true を選択してこのポイントを有効にします。false を選択してこのポイント を無効にします。
PointType_n DirectoryName または URIName のいずれかの発行ポイントのタイプを指定します。
PointName_n
  • pointTypedirectoryName に設定されている場合、この値は証明書のサブジェクト名と同様に X.500 名である必要があります。たとえば、cn=CACentral,ou=Research Dept,o=Example Corporation,c=US となります。
  • pointTypeURIName に設定されている場合、名前は URI であるホストを指定する絶対パス名である必要があります。例: http://testCA.example.com/get/crls/here/
PointIssuerName_n
CRL に署名した発行者の名前を指定します。名前は以下のいずれかの形式になります。
  • RFC822Name の場合、値は有効なインターネットメールアドレスである必要があります。例: testCA@example.com
  • DirectoryName の場合は、証明書のサブジェクト名と同様に、値は X.500 名の文字列形式である必要があります。例: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • DNSName の場合、値は有効な完全修飾ドメイン名である必要があります。例: testCA.example.com
  • EDIPartyName の場合、値は IA5String である必要があります。例: Example Corporation
  • URIName の場合、値は URL 構文およびエンコーディングルールに続く非相対的な URI である必要があります。名前には、http などのスキームと、ホストの完全修飾ドメイン名または IP アドレスを含める必要があります。例: http://testCA.example.com。証明書システムは、IPv4 アドレスと IPv6 アドレスの両方をサポートします。
  • iPAddress の場合、値は有効な IP アドレスでなければなりません。IPv4 アドレスは、n.n.n.n または n.n.n.n,m.m.m.m の形式にする必要があります。たとえば、128.21.39.40 または 128.21.39.40,255.255.255.00 です。IPv6 アドレスは 128 ビット名前空間を使用します。IPv6 アドレスはコロンで区切られ、ネットマスクはピリオドで区切られます。たとえば、0:0:0:0:0:0:13.1.68.3FF01::430:0:0:0:0:0:13.1.68.3,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0、および FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000 になります。
  • OIDName の場合、この値は、ドットで区切られた数値コンポーネント表記で指定された一意の有効な OID である必要があります。たとえば、1.2.3.4.55.6.5.99 です。
  • OtherName は他の形式の名前に使用されます。これは、PrintableStringIA5StringUTF8StringBMPStringAny、および KerberosName をサポートします。KerberosName には、realm1|0|userID1,userID2 などの Realm|NameType|NameStrings 形式になります。
    OtherName の形式は (type)oid,string にする必要があります。例: (IA5String)1.2.3.4,MyExample
name の値は、PointType_ で指定した形式に準拠する必要があります。
PointType_n CRL に署名した CRL 発行者の一般的な名前タイプを指定します。許容値は次のとおりです。
  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • OtherName
このパラメーターの値は、PointIssuerName フィールドの値に対応している必要があります。

B.1.10. 一般的な拡張機能のデフォルト

この拡張により、ユーザーが決定したデータで汎用拡張を作成できます。デフォルトでは、汎用拡張が正しく設定されます。

表B.9 一般的な拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
genericExtOID 拡張 OID 識別子を指定します。
genericExtData 拡張に含まれるバイナリーデータ。

B.1.11. Inhibit Any-Policy 拡張機能のデフォルト

CA に発行される証明書には、inhibit any-policy 拡張を使用できます。禁止ポリシー拡張は、値が { 2 5 29 32 0 } の特別な anyPolicy OID が、他の証明書ポリシーに対する明示的な一致とは見なされていないことを示します。

表B.10 Inhibit Any-Policy 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical このポリシーは Critical とマークする必要があります。この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
SkipCerts このパラメーターで any-policy ポリシーが許可されなくなる前に、パスに表示される追加証明書の数を示します。1 の値は、any-policy は、この証明書のサブジェクトによって発行された証明書で処理できますが、パス内の追加の証明書では処理できないことを示します。

B.1.12. Issuer Alternative Name 拡張機能のデフォルト

このデフォルトは、Issuer Alternative Name 拡張を証明書に割り当てます。Issuer Alternative Name 拡張は、インターネットスタイルのアイデンティティーを証明書発行者に関連付けるために使用されます。
次の制約は、このデフォルトで定義できます。
このデフォルトは、各場所のパラメーターを指定して最大 5 つの場所を定義できます。パラメーターには、パラメーターが関連付けられる場所を表示するために、表で n のマークが付いています。

表B.11 Issuer Alternative Name 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
issuerAltExtType これにより、使用する名前拡張のタイプが設定されます。これは以下のいずれかになります。
  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
issuerAltExtPattern
拡張に追加する要求属性値を指定します。属性の値は、サポートされる一般名のタイプに準拠する必要があります。許容値は、証明書要求に含まれる要求属性です。
サーバーがリクエストの属性を見つけると、拡張に属性値を設定し、その拡張を証明書に追加します。複数の属性が指定され、リクエストに属性が存在しない場合、サーバーは Issuer Alternative Name 拡張を証明書に追加しません。リクエストから適切な属性を使用して issuerAlternativeName を形成することができない場合は、トークン式なしでリテラル文字列を使用できます。たとえば、認証局 です。

B.1.13. Key Usage 拡張機能のデフォルト

デフォルトでは、Key Usage 拡張機能が証明書に接続されます。拡張機能は、データ署名、キー暗号化、データ暗号化など、証明書に含まれるキーを使用する目的を指定します。これにより、キーペアの使用が所定の目的に制限されます。
この拡張機能に関する一般的な情報は、「keyUsage」 を参照してください。
次の制約は、このデフォルトで定義できます。

表B.12 Key Usage 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
digitalSignature SSL クライアント証明書と S/MIME 署名証明書を許可するかどうかを指定します。true を選択して設定します。
nonRepudiation S/MIME 署名証明書に使用するかどうかを指定します。true を選択して設定します。
警告
このビットの使用は議論の的になっています。証明書に設定する前に、その使用による法的影響を慎重に検討してください。
keyEncipherment サブジェクトの公開鍵を使用して秘密鍵と秘密鍵のどちらを暗号化するかを指定します。これは、SSL サーバー証明書および S/MIME 暗号化証明書に設定されます。true を選択して設定します。
dataEncipherment サブジェクトの公開鍵を使用して、キー資料とは対照的に、拡張を設定するかどうかを指定します。true を選択して設定します。
keyAgreement サブジェクトの公開鍵がキー合意に使用されるたびに拡張を設定するかどうかを指定します。true を選択して設定します。
keyCertsign 公開鍵を使用して他の証明書の署名を検証するかどうかを指定します。この設定は CA 証明書に使用されます。true を選択してオプションを設定します。
cRLSign CRL に署名する CA 署名証明書の拡張を設定するかどうかを指定します。true を選択して設定します。
encipherOnly 公開鍵が鍵共有の実行中にデータを暗号化するためだけのものである場合に、拡張子を設定するかどうかを指定します。このビットが設定されている場合 、keyAgreement も設定する必要があります。true を選択して設定します。
decipherOnly 公開鍵が鍵共有の実行中にデータを暗号化するためだけのものである場合に、拡張子を設定するかどうかを指定します。このビットが設定されている場合 、keyAgreement も設定する必要があります。true を選択して設定します。

B.1.14. Name Constraints 拡張機能のデフォルト

このデフォルトでは、Name Constraints 拡張を証明書に割り当てます。この拡張機能は CA 証明書で使用され、証明書チェーン内の後続の証明書のサブジェクト名またはサブジェクト代替名を配置するネームスペースを示します。
この拡張機能に関する一般的な情報は、「nameConstraints」 を参照してください。
次の制約は、このデフォルトで定義できます。
このデフォルトでは、許可されたサブツリーと除外されたサブツリーの両方に最大 5 つの場所が定義され、場所ごとにパラメーターが設定されます。パラメーターには、パラメーターが関連付けられる場所を表示するために、表で n のマークが付いています。

表B.13 Name Constraints 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
PermittedSubtreesn.min
許可されるサブツリーの最小数を指定します。
  • -1 は、拡張機能でフィールドを設定すべきではないことを指定します。
  • 0 は、サブツリーの最小数がゼロであることを指定します。
  • n は、ゼロより大きい整数である必要があります。サブツリーの最小数を設定します。
PermittedSubtreesmax_n
許可されるサブツリーの最大数を指定します。
  • -1 は、拡張機能でフィールドを設定すべきではないことを指定します。
  • 0 は、サブツリーの最大数がゼロであることを指定します。
  • n は、ゼロより大きい整数である必要があります。許可されるサブツリーの最大数を設定します。
PermittedSubtreeNameChoice_n 拡張に含める許可されるサブツリーの一般な名前タイプを指定します。許容値は次のとおりです。
  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • OtherName
PermittedSubtreeNameValue_n
拡張に含める許可されるサブツリーの汎用名を指定します。
  • RFC822Name の場合、値は有効なインターネットメールアドレスである必要があります。例: testCA@example.com
  • DirectoryName の場合は、証明書のサブジェクト名と同様に、値は X.500 名の文字列形式である必要があります。例: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • DNSName の場合、値は有効な完全修飾ドメイン名である必要があります。例: testCA.example.com
  • EDIPartyName の場合、値は IA5String である必要があります。例: Example Corporation
  • URIName の場合、値は URL 構文およびエンコーディングルールに続く非相対的な URI である必要があります。名前には、http などのスキームと、ホストの完全修飾ドメイン名または IP アドレスを含める必要があります。例: http://testCA.example.com。証明書システムは、IPv4 アドレスと IPv6 アドレスの両方をサポートします。
  • IPAddress の場合、Classless Inter-Domain Routing (CIDR) 表記に準拠する有効な IP アドレスを指定する必要があります。IPv4 アドレスは、n.n.n.n 形式、またはネットマスクを使用した n.n.n.n/m である必要があります (10.34.3.133 または 110.34.3.133/24 など)。IPv6 アドレスも CIDR 表記に準拠する必要があります。ネットマスクには、2620:52:0:2203:527b:9dff:fe56:4495/64 または 2001:db8::/64 があります。
  • OIDName の場合、この値は、ドットで区切られた数値コンポーネント表記で指定された一意の有効な OID である必要があります。たとえば、1.2.3.4.55.6.5.99 です。
  • OtherName は他の形式の名前に使用されます。これは、PrintableStringIA5StringUTF8StringBMPStringAny、および KerberosName をサポートします。KerberosName には、realm1|0|userID1,userID2 などの Realm|NameType|NameStrings 形式になります。
    OtherName の形式は (type)oid,string にする必要があります。例: (IA5String)1.2.3.4,MyExample
PermittedSubtreeEnable_n true を選択して、このサブツリーエントリーを許可します。
ExcludedSubtreesn.min
除外されたサブツリーの最小数を指定します。
  • -1 は、拡張機能でフィールドを設定すべきではないことを指定します。
  • 0 は、サブツリーの最小数がゼロであることを指定します。
  • n は、ゼロより大きい整数である必要があります。これにより、必要なサブツリーの最小数が設定されます。
ExcludedSubtreeMax_n
除外されたサブツリーの最大数を指定します。
  • -1 は、拡張機能でフィールドを設定すべきではないことを指定します。
  • 0 は、サブツリーの最大数がゼロであることを指定します。
  • n は、ゼロより大きい整数である必要があります。これにより、許可されるサブツリーの最大数が設定されます。
ExcludedSubtreeNameChoice_n 拡張に追加する除外されたサブツリーの一般名を指定します。許容値は次のとおりです。
  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • OtherName
ExcludedSubtreeNameValue_n
拡張に含める許可されるサブツリーの汎用名を指定します。
  • RFC822Name の場合、値は有効なインターネットメールアドレスである必要があります。例: testCA@example.com
  • DirectoryName の場合は、証明書のサブジェクト名と同様に、値は X.500 名である必要があります。例: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • DNSName の場合、値は有効な完全修飾ドメイン名である必要があります。例: testCA.example.com
  • EDIPartyName の場合、値は IA5String である必要があります。例: Example Corporation
  • URIName の場合、値は URL 構文およびエンコーディングルールに続く非相対的な URI である必要があります。名前には、http などのスキームと、ホストの完全修飾ドメイン名または IP アドレスを含める必要があります。例: http://testCA.example.com。証明書システムは、IPv4 アドレスと IPv6 アドレスの両方をサポートします。
  • IPAddress の場合、Classless Inter-Domain Routing (CIDR) 表記に準拠する有効な IP アドレスを指定する必要があります。IPv4 アドレスは、n.n.n.n 形式、またはネットマスクを使用した n.n.n.n/m である必要があります (10.34.3.133 または 110.34.3.133/24 など)。IPv6 アドレスも CIDR 表記に準拠する必要があります。ネットマスクには、2620:52:0:2203:527b:9dff:fe56:4495/64 または 2001:db8::/64 があります。
  • OIDName の場合、この値は、ドットで区切られた数値コンポーネント表記で指定された一意の有効な OID である必要があります。たとえば、1.2.3.4.55.6.5.99 です。
  • OtherName の場合、値は他の形式の名前です。これは、PrintableStringIA5StringUTF8StringBMPStringAny、および KerberosName をサポートします。KerberosName には、realm1|0|userID1,userID2 などの Realm|NameType|NameStrings 形式になります。
    OtherName の形式は (type)oid,string にする必要があります。例: (IA5String)1.2.3.4,MyExample
ExcludedSubtreeEnable_n true を選択して、この除外されたサブツリーエントリーを有効にします。

B.1.15. Netscape Certificate Type 拡張機能のデフォルト

警告
この拡張機能は廃止されています。代わりに、Key Usage または Extended Key Usage による証明書拡張を使用してください。
デフォルトでは、Netscape Certificate Type 拡張を証明書に割り当てます。拡張機能は、CA 証明書、サーバー SS L 証明書、クライアント SSL 証明書、S/MIME 証明書などの証明書タイプを識別します。これにより、証明書の使用が事前に決定された目的に制限されます。

B.1.16. Netscape Comment 拡張機能のデフォルト

警告
この拡張機能は廃止されています。
デフォルトでは、Netscape Comment 拡張機能が証明書にアタッチされます。拡張機能を使用して、証明書にテキスト形式のコメントを含めることができます。コメントを解釈できるアプリケーションは、証明書が使用または表示されるときにコメントを表示します。
この拡張機能に関する一般的な情報は、「netscape-comment」 を参照してください。
次の制約は、このデフォルトで定義できます。

表B.14 Netscape Comment 拡張機能の設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
CommentContent 証明書に表示するコメントの内容を指定します。

B.1.17. デフォルト拡張機能なし

デフォルトを使用しない場合は、このデフォルトを使用して制約を設定できます。このデフォルトには設定がなく、デフォルトも設定されていませんが、使用可能なすべての制約を設定できます。

B.1.18. OCSP No Check 機能拡張のデフォルト

デフォルトでは、OCSP No Check 拡張機能が証明書に割り当てられます。拡張機能は、OCSP レスポンダー証明書でのみ使用する必要があり、OCSP 準拠のアプリケーションが、承認された OCSP レスポンダーが OCSP 応答に署名するために使用する証明書の失効ステータスを確認する方法を示します。
この拡張機能に関する一般的な情報は、「OCSPNocheck」 を参照してください。
次の制約は、このデフォルトで定義できます。

表B.15 OCSP No Check 機能拡張のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。

B.1.19. Policy Constraints 拡張機能のデフォルト

このデフォルトでは、Policy Constraints 拡張を証明書に割り当てます。拡張機能は CA 証明書でのみ使用でき、パス検証を 2 つの方法で制限します。ポリシーマッピングを禁止するか、パス内の各証明書に受け入れ可能なポリシー識別子が含まれていることを要求します。デフォルトでは、Req ExplicitPolicyInhibitPolicy Mapping の両方を指定できます。PKIX 標準では、証明書に存在する場合、拡張子が null シーケンスで設定されてはならないことが要求されています。少なくとも 2 つの指定されたフィールドが存在する必要があります。
この拡張機能に関する一般的な情報は、「policyConstraints」 を参照してください。
次の制約は、このデフォルトで定義できます。

表B.16 Policy Constraints 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
reqExplicitPolicy
明示的なポリシーが必要になる前に、パスで許可される証明書の総数を指定します。これは、受け入れ可能なポリシーが必要になる前に、下位 CA 証明書の下にチェーンできる CA 証明書の数です。
  • -1 は、拡張機能でフィールドを設定すべきではないことを指定します。
  • 0 は、明示的なポリシーが必要になる前に、パスで従属 CA 証明書を許可しないことを指定します。
  • n は、ゼロより大きい整数である必要があります。明示的なポリシーが必要になる前に、パスで許可される従属 CA 証明書の最大数を指定します。
この数は、証明書の検証中に使用される CA 証明書の数に影響します。このチェーンは、チェーンを検証して移動させるエンドエンティティー証明書で始まります。このパラメーターは、拡張がエンドエンティティーの証明書に設定されている場合は有効ではありません。
inhibitPolicyMapping
ポリシーマッピングが許可されなくなる前に、パスで許可される証明書の総数を指定します。
  • -1 は、拡張機能でフィールドを設定すべきではないことを指定します。
  • 0 は、ポリシーマッピングが許可されなくなる前に、パスで従属 CA 証明書が許可されないことを指定します。
  • n は、ゼロより大きい整数である必要があります。ポリシーマッピングが許可されなくなる前に、パスで許可される従属 CA 証明書の最大数を指定します。たとえば、値を 1 にすると、ポリシーマッピングは、この証明書のサブジェクトによって発行された証明書で処理できますが、パス内の追加の証明書では処理できないことを示します。

B.1.20. Policy Mappers 拡張機能のデフォルト

このデフォルトでは、Policy Mappings の拡張を証明書にアタッチします。拡張機能は OID のペアを一覧表示し、それぞれのペアが 2 つの CA のポリシーステートメントを識別します。ペアリングは、ある CA の対応するポリシーが別の CA のポリシーと同等であることを示します。この拡張は、クロス証明書のコンテキストで役に立ちます。サポートされる場合、拡張は CA 証明書のみに含まれます。デフォルトでは、ポリシーステートメントに割り当てられた OID をペアにすることにより、ある CA のポリシーステートメントを別の CA のポリシーステートメントにマップします。
各ペアは、issuerDomainPolicysubjectDomainPolicy の 2 つのパラメーターで定義されます。ペアは、発行した CA が、サブジェクト CA の subjectDomainPolicy と同等の issuerDomainPolicy を考慮することを意味します。CA の発行元のユーザーは、特定のアプリケーションの issuerDomainPolicy を受け入れる可能性があります。ポリシーマッピングは、サブジェクト CA に関連付けられているどのポリシーが受け入れたポリシーと同等であるかをこれらのユーザーに通知します。
この拡張機能に関する一般的な情報は、「policyMappings」 を参照してください。
次の制約は、このデフォルトで定義できます。

表B.17 Policy Mappers 拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
IssuerDomainPolicy_n 別の CA のポリシーステートメントとマッピングするために、発行元 CA のポリシーステートメントに割り当てられた OID を指定します。たとえば、1.2.3.4.5 です。
SubjectDomainPolicy_n 発行 CA のポリシーステートメントに対応するサブジェクト CA のポリシーステートメントに割り当てられた OID を指定します。たとえば、6.7.8.9.10 です。

B.1.21. Private Key Usage Period 拡張機能のデフォルト

Private Key Usage Period の拡張機能により、証明書発行者は、証明書自体に秘密鍵に異なる有効期間を指定できます。この拡張は、デジタル署名鍵の使用を目的としています。

表B.18 Private Key Usage Period の設定パラメーター

パラメーター 説明
Critical この拡張は、常にクリティカルではないはずです。
puStartTime このパラメーターは、開始時間を設定します。デフォルト値は 0 です。これは、拡張機能がアクティベートされた時点から有効期間を開始します。
puDurationDays このパラメーターは、使用状況の期間を設定します。デフォルト値は 365 です。これは、拡張機能がアクティブ化されてから 365 日に有効期間を設定します。

B.1.22. 署名アルゴリズムのデフォルト

デフォルトでは、証明書要求に署名アルゴリズムがアタッチされます。このデフォルトは、証明書の署名に使用できる可能なアルゴリズムをエージェントに提示します。
次の制約は、このデフォルトで定義できます。

表B.19 署名アルゴリズムのデフォルト設定パラメーターの署名

パラメーター 説明
signingAlg この証明書の作成に使用するデフォルトの署名アルゴリズムを指定します。signingAlgsAllowed パラメーターに含まれる値のいずれかを指定すると、エージェントはこの値をオーバーライドすることができます。
signingAlgsAllowed この証明書の署名に使用できる署名アルゴリズムを指定します。アルゴリズムは以下のいずれか 1 つになります。
  • MD2withRSA
  • MD5withRSA
  • SHA256withRSA
  • SHA512withRSA

B.1.23. サブジェクト代替名の拡張機能のデフォルト

このデフォルトは、Subject Alternative Name 拡張を証明書に割り当てます。拡張機能は、電子メールアドレス、DNS 名、IP アドレス (IPv4 と IPv6 の両方)、または URI などの追加の ID を証明書のサブジェクトにバインドします。標準では、証明書のサブジェクトフィールドに空のシーケンスが含まれている場合に、Subject Alternative 名の拡張子にサブジェクトの代替名が含まれている必要があり、拡張子にクリティカルのマークが付けられている必要があります。
ディレクトリーベースの認証方法の場合、Certificate System は任意の文字列およびバイト属性の値を取得し、それらを証明書要求に設定できます。これらの属性は、自動登録モジュールで定義された ldapStringAttributes および ldapByteAttributesフィールドに入力することで設定されます。
認証された属性 (LDAP データベースに格納されている属性を意味する) をこの拡張機能の一部にする必要がある場合は、$request.X$ トークンの値を使用します。
サブジェクトの代替名にユニバーサル一意識別子 (UUID) を挿入するための追加の属性があります。このオプションは、バージョン 4 UUID の乱数を生成します。パターンは、追加 subjAltExtSource パラメーターで番号を生成するサーバーを参照することによって定義されます。
この例では、基本的なサブジェクトの代替名拡張のデフォルトが設定されています。

例B.1 サブジェクト代替名の拡張機能のデフォルト設定

policyset.serverCertSet.9.constraint.name=No Constraint
policyset.serverCertSet.9.default.class_id=subjectAltNameExtDefaultImpl
policyset.serverCertSet.9.default.name=Subject Alternative Name Extension Default
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_0=true
policyset.serverCertSet.9.default.params.subjAltExtPattern_0=$request.requestor_email$
policyset.serverCertSet.9.default.params.subjAltExtType_0=RFC822Name
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_1=true
policyset.serverCertSet.9.default.params.subjAltExtPattern_1=$request.SAN1$
policyset.serverCertSet.9.default.params.subjAltExtType_1=DNSName
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_2=true
policyset.serverCertSet.9.default.params.subjAltExtPattern_2=http://www.server.example.com
policyset.serverCertSet.9.default.params.subjAltExtType_2=URIName
policyset.serverCertSet.9.default.params.subjAltExtType_3=OtherName
policyset.serverCertSet.9.default.params.subjAltExtPattern_3=(IA5String)1.2.3.4,$server.source$
policyset.serverCertSet.9.default.params.subjAltExtSource_3=UUID4
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_3=true
policyset.serverCertSet.9.default.params.subjAltExtType_4=RFC822Name
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_4=false
policyset.serverCertSet.9.default.params.subjAltExtPattern_4=
policyset.serverCertSet.9.default.params.subjAltNameExtCritical=false
policyset.serverCertSet.9.default.params.subjAltNameNumGNs=5
Subject Alternative Name 拡張機能のデフォルトは、プロファイル属性の証明書要求をチェックします。リクエストに属性が含まれる場合、プロファイルはその値を読み込み、拡張機能に設定します。LDAP ベースの認証が設定されている場合は、Subject Alternative Name 拡張機能のデフォルトで LDAP ディレクトリーから属性値を挿入することもできます。証明書に追加された拡張機能には、設定されたすべての属性が含まれています。
Subject Alternative Name 拡張機能のデフォルトで使用できる変数は、表B.20「サブジェクト代替名に値を挿入する変数」 に記載されています。

表B.20 サブジェクト代替名に値を挿入する変数

ポリシーセットトークン 説明
$request.auth_token.cn$ 証明書を要求したユーザーの LDAP 共通名 (cn) 属性。
$request.auth_token.mail$ 証明書を更新したユーザーの LDAP メール (mail) 属性の値。
$request.auth_token.tokenCertSubject$ 証明書サブジェクト名。
$request.auth_token.uid$ 証明書を要求したユーザーの LDAP ユーザー ID (uid) 属性。
$request.auth_token.user$
$request.auth_token.userDN$ 証明書を要求したユーザーのユーザー DN。
$request.auth_token.userid$ 証明書を要求したユーザーのユーザー ID 属性の値。
$request.uid$ 証明書を要求したユーザーのユーザー ID 属性の値。
$request.profileRemoteAddr$ 要求するユーザーの IP アドレス。これは、クライアントに応じて IPv4 アドレスまたは IPv6 アドレスになります。IPv4 アドレスは、n.n.n.n または n.n.n.n,m.m.m.m の形式にする必要があります。たとえば、128.21.39.40 または 128.21.39.40,255.255.255.00 です。IPv6 アドレスは 128 ビット名前空間を使用します。IPv6 アドレスはコロンで区切られ、ネットマスクはピリオドで区切られます。たとえば、0:0:0:0:0:0:13.1.68.3FF01::430:0:0:0:0:0:13.1.68.3,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0、および FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000 になります。
$request.profileRemoteHost$ ユーザーのマシンのホスト名または IP アドレス。ホスト名は、http://server.example.com などの完全修飾ドメイン名およびプロトコルになります。IPv4 アドレスは、n.n.n.n または n.n.n.n,m.m.m.m の形式にする必要があります。たとえば、128.21.39.40 または 128.21.39.40,255.255.255.00 です。IPv6 アドレスは 128 ビット名前空間を使用します。IPv6 アドレスはコロンで区切られ、ネットマスクはピリオドで区切られます。たとえば、0:0:0:0:0:0:13.1.68.3FF01::430:0:0:0:0:0:13.1.68.3,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0、および FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000 になります。
$request.requestor_email$ 要求を送信したユーザーのメールアドレス。
$request.requestowner$ 要求を送信した人。
$request.subject$ 証明書が発行されるエンティティーのサブジェクト名 DN。たとえば、uid=jsmith, e=jsmith@example.com です。
$request.tokencuid$ 登録の要求に使用されるスマートカードトークンのカード一意の ID (CUID)。
$request.upn$ Microsoft UPN。これには (UTF8String)1.3.6.1.4.1.311.20.2.3,$request.upn$ の形式があります。
$server.source$ サーバーに対し、サブジェクト名のバージョン 4 の UUID (乱数) コンポーネントを生成するように指示します。この値は常に (IA5String)1.2.3.4,$server.source$ 形式になります。
1 つのエクステンションに複数の属性を設定できます。subjAltNameNumGNs パラメーターは、一覧表示された属性のうち、証明書に追加する必要があるものの数を制御します。このパラメーターはカスタムプロファイルに追加する必要があり、必要な数の属性を含めるためにデフォルトプロファイルで変更する必要がある場合があります。例B.1「サブジェクト代替名の拡張機能のデフォルト設定」 で、subjAltNameNumGNs が、5 に設定され、RFC822NameDNSNameURINameOtherName、および RFC822Name 名 (一般名 _0_1_2_3、および _4) を挿入します。
次の制約は、このデフォルトで定義できます。

表B.21 サブジェクト代替名の拡張機能のデフォルト設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
Pattern 拡張に追加する要求属性値を指定します。属性の値は、サポートされる一般名のタイプに準拠する必要があります。サーバーがリクエストの属性を見つけると、拡張に属性値を設定し、その拡張を証明書に追加します。複数の属性が指定され、リクエストに属性が存在しない場合、サーバーは Subject Alternative Name 拡張を証明書に追加しません。許容値は、証明書要求に含まれる要求属性です。たとえば、$request.requestor_email$ です。
タイプ
request 属性の一般的な名前タイプを指定します。
  • request-attribute の値が local-part@domain 形式のメールアドレスの場合は RFC822Name を選択します。たとえば、jdoe@example.com です。
  • 証明書のサブジェクト名と同様に、request-attribute 値が X.500 ディレクトリー名の場合は DirectoryName を選択します。たとえば、cn=Jane Doe, ou=Sales Dept, o=Example Corporation, c=US です。
  • request-attribute の値が DNS 名である場合に DNSName を選択します。たとえば、corpDirectory.example.com です。
  • request-attribute の値が EDI party 名の場合は、EDIPartyName を選択します。例: Example Corporation
  • request-attribute 値が、http などの両方のスキームを含む非相対 URI である場合、およびホストの完全修飾ドメイン名または IP アドレスの場合は、URIName を選択します。例: http://hr.example.com です。証明書システムは、IPv4 アドレスと IPv6 アドレスの両方をサポートします。
  • request-attribute 値が、ドットで区切られた数値コンポーネント表記で指定された有効な IP アドレスである場合は、IPAddress を選択します。たとえば、128.21.39.40 です。IPv4 アドレスは、n.n.n.n または n.n.n.n,m.m.m.m の形式にする必要があります。たとえば、128.21.39.40 または 128.21.39.40,255.255.255.00 です。IPv6 アドレスは 128 ビット名前空間を使用します。IPv6 アドレスはコロンで区切られ、ネットマスクはピリオドで区切られます。たとえば、0:0:0:0:0:0:13.1.68.3FF01::430:0:0:0:0:0:13.1.68.3,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0、および FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000 になります。
  • request-attribute 値が、ドットで区切られた数値コンポーネント表記で指定された一意の有効な OID である場合は、OIDName を選択します。たとえば、1.2.3.4.55.6.5.99 です。
  • 他の形式の名前は OtherName を選択します。これは、PrintableStringIA5StringUTF8StringBMPStringAny、および KerberosName をサポートします。KerberosName には、realm1|0|userID1,userID2 などの Realm|NameType|NameStrings 形式になります。
    OtherName の形式は (type)oid,string にする必要があります。例: (IA5String)1.2.3.4,MyExample
ソース ID を生成するために使用する識別ソースまたはプロトコルを指定します。サポートされるソースは UUID4 で、UUID を作成する乱数を生成します。
コンポーネント数 (NumGN) サブジェクトの別名に含める必要がある名前コンポーネントの数を指定します。

B.1.24. サブジェクトディレクトリー属性の拡張機能のデフォルト

デフォルトでは、Subject Directory 属性の拡張が証明書に割り当てます。Subject Directory Attributes 機能拡張は、証明書の件名に必要なディレクトリー属性の値をすべて伝えます。
次の制約は、このデフォルトで定義できます。

表B.22 サブジェクトディレクトリー属性の拡張機能のデフォルトの設定パラメーター

パラメーター 説明
Critical この拡張機能に critical マークを付けるには true を選択してください。noncritical マークを付けるには false を選択してください。
名前 属性名。これは、cnmail などの LDAP ディレクトリー属性になります。
Pattern 拡張に追加する要求属性値を指定します。属性値は、属性の許可される値に準拠する必要があります。サーバーが属性を見つけると、拡張に属性値を設定し、その拡張を証明書に追加します。複数の属性が指定され、リクエストに属性が存在しない場合、サーバーは Subject Directory Attributes 拡張を証明書に追加しません。たとえば、$request.requestor_email$ です。
Enable その属性が証明書に追加できるかどうかを設定します。true を選択して属性を有効にします。

B.1.25. サブジェクト情報アクセス拡張機能のデフォルト

証明書テンプレートに Subject Information Access 拡張機能を設定する登録デフォルトポリシーを実装します。この拡張機能は、拡張機能が表示されている証明書のサブジェクトの情報とサービスにアクセスする方法を示します。
パラメーター 説明
Critical この拡張はクリティカルではないはずです。
subjInfoAccessNumADs 証明書に含まれる情報アクセスセクションの数。
subjInfoAccessADMethod_n アクセスメソッドの OID。
subjInfoAccessADMethod_n アクセスメソッドのタイプ。
  • URIName
  • ディレクトリー名
  • DNS 名
  • EID パーティー名
  • IP アドレス
  • OID 名
  • RFC822Name
subjInfoAccessADLocation_n
タイプ subjInfoAccessADMethod_n を元にした場所
つまり、URI 名の URL。
subjInfoAccessADEnable_n true を選択してこのエクステンションを有効にします。false を選択してこのエクステンションを無効にします。

B.1.26. Subject Key Identifier 拡張機能のデフォルト

デフォルトでは、サブジェクトキー識別子の拡張を証明書に割り当てます。この拡張機能は、特定の公開鍵を含む証明書を識別し、同じサブジェクト名を持つ複数の証明書の中から証明書を識別します。
この拡張機能に関する一般的な情報は、「subjectKeyIdentifier」 を参照してください。
有効にすると、拡張機能がまだ存在しない場合、プロファイルは登録要求に Subject Key Identifier Extensio 拡張機能を追加します。CRMF リクエストなど、リクエストに拡張機能が存在する場合は、デフォルトで拡張機能が置き換えられます。エージェントが手動登録要求を承認した後、プロファイルは、すでに存在する Subject Key Identifier Extension を受け入れます。
このデフォルトにはパラメーターがありません。この拡張を使用すると、公開鍵情報とともに証明書に含まれます。
次の制約は、このデフォルトで定義できます。

B.1.27. サブジェクト名のデフォルト

デフォルトでは、サーバー側の設定可能なサブジェクト名を証明書要求に割り当てます。静的サブジェクト名は、証明書のサブジェクト名として使用されます。
次の制約は、このデフォルトで定義できます。

表B.23 サブジェクト名のデフォルト設定パラメーター

パラメーター 説明
Name この証明書のサブジェクト名を指定します。
UidPwdDirAuth プラグインから DNPATTERN 値を使用する証明書サブジェクト名を取得する必要がある場合は、Subject Name Default プラグインを使用するようにプロファイルを設定し、以下に示すように、Name パラメーターを、AuthTokenの SubjectName に置き換えます。
policyset.userCertSet.1.default.class_id=subjectNameDefaultImpl
policyset.userCertSet.1.default.name=Subject Name Default
policyset.userCertSet.1.default.params.name=$request.auth_token.tokenCertSubject$

B.1.28. ユーザーキーのデフォルト

デフォルトでは、ユーザーが指定したキーを証明書要求に割り当てます。これは必須のデフォルトです。キーは登録要求の一部です。
次の制約は、このデフォルトで定義できます。

B.1.29. ユーザー署名アルゴリズムのデフォルト

このデフォルトは、証明書要求にユーザー指定の署名アルゴリズムを設定する登録デフォルトプロファイルを実装します。証明書プロファイルに含まれている場合、これにより、ユーザーは、制約セットに従って、証明書の署名アルゴリズムを選択できます。
署名アルゴリズムの選択肢を登録フォームに追加するための入力は提供されていませんが、この情報を含むリクエストを送信することは可能です。
次の制約は、このデフォルトで定義できます。

B.1.30. ユーザーのサブジェクト名のデフォルト

デフォルトでは、ユーザーが指定したサブジェクト名を証明書要求に割り当てます。証明書プロファイルに含まれている場合、ユーザーは、設定された制約に従って、証明書のサブジェクト名を指定できます。この拡張機能は、証明書の発行時に元の証明書要求で指定されたサブジェクト名を保持します。
次の制約は、このデフォルトで定義できます。

B.1.31. ユーザーの有効性のデフォルト

このデフォルトでは、ユーザーが指定した有効性が証明書要求に添付されます。証明書プロファイルに含まれている場合、ユーザーは設定された制約に従って有効期間を指定できます。このデフォルトプロファイルは、証明書が発行されたときに、元の証明書要求でそのユーザー定義の有効期間を保持します。
ユーザー指定の有効期限を登録フォームに追加するための入力は提供されていませんが、この情報を含むリクエストを送信することは可能です。
次の制約は、このデフォルトで定義できます。

B.1.32. User Supplied Extension Default

User Supplied Extension Default クラスは、証明書要求でユーザーが定義した証明書拡張を証明書に入力します。プロファイルは証明書を登録する前に特定の拡張機能を必要とする可能性があるため、これには、ユーザーが特定の基準を満たす証明書要求を送信するか、特定の情報を提供する必要があります。
警告
この拡張機能のデフォルトの設定には、ユーザーが証明書要求で拡張機能を指定できるため、特に注意してください。このデフォルトを使用する場合、Red Hat は、拡張機能に対応する制約を使用して、User Supplied Extension Default の乱用を最小限に抑えることを強く推奨します。
ユーザー定義の拡張機能は、設定されている制約に対して検証されるため、拡張機能の種類を制限したり ( Extension Constraint の制約を介して)、キーやその他の基本的な制約 (CA 証明書かどうかなど) のルールを設定したりできます。
注記
この拡張機能が対応する OID (拡張機能制約) を持つプロファイルに設定されている場合、そのプロファイルを介して処理される証明書要求には、指定された拡張機能を含める 必要があります。そうでない場合、要求は拒否されます。
エラータ RHSA 2008:0500 の に User Supplied Extension Default で証明書プロファイルが有効になっていた場合は、証明書要求でユーザー提供の拡張機能をサポートするようにこのプロファイルを編集する必要があります。以下の例のように、userExtensionDefaultImpl のデフォルトを適用します。指定 OID は、Basic Constraints Extension Constraint に関するものです。
policyset.set1.p6.default.class_id=userExtensionDefaultImpl
policyset.set1.p6.default.name=User Supplied Extension Default
policyset.set1.p6.default.params.userExtOID=2.5.29.19
CA は、次の 3 つの方法のいずれかで、User Supplied Extension Default を使用した登録を処理します。
  • 拡張機能の OID が証明書要求とデフォルトの両方で指定されている場合、拡張機能は制約によって検証され、証明書に適用されます。
  • 拡張機能の OID が要求で指定されているが、プロファイルの User Supplied Extension Default で指定されていない場合、ユーザー指定の拡張機能は無視され、証明書はその拡張機能なしで正常に登録されます。
  • この拡張機能が対応する OID (拡張機能制約) を持つプロファイルに設定されている場合、そのプロファイルを介して処理される証明書要求には、指定された拡張機能を含める 必要があります。そうでない場合、要求は拒否されます。
ユーザー定義の拡張を含む証明書 要求 はプロファイルに送信する必要があります。ただし、証明書登録フォームには、ユーザーが提供する拡張機能を追加するための入力フィールドがありません。拡張機能を提供せずに証明書要求を送信すると失敗します。
例B.2「Extended Key Usage Extension の User Supplied Extension Default」 は、User Supplied Extension Default を、Extended Key Usage Constraint のあるプロファイルに追加します。userExtOID パラメーターで指定された OID は、Extended Key Usage Extension 用です。

例B.2 Extended Key Usage Extension の User Supplied Extension Default

policyset.set1.2.constraint.class_id=extendedKeyUsageExtConstraintImpl
policyset.set1.2.constraint.name=Extended Key Usage Extension
policyset.set1.2.constraint.params.exKeyUsageCritical=false
policyset.set1.2.constraint.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
policyset.set1.2.default.class_id=userExtensionDefaultImpl
policyset.set1.2.default.name=User Supplied Extension Default
policyset.set1.2.default.params.userExtOID=2.5.29.37
例B.2「Extended Key Usage Extension の User Supplied Extension Default」 では、User Supplied Extension Default では、ユーザーは Extended Key Usage Extension (2.5.29.37) を指定できますが、制約により、ユーザー要求は SSL クライアント認証 (1.3.6.1.5.5.7.3.2) と電子メール保護 (1.3.6.1.5.5.7.3.4) を使用が制限されます。
プロファイルの編集については、「証明書プロファイルの設定」 で説明します。

例B.3 CSR の Multiple User Supplied Extension

RHCS 登録プロファイルフレームワークを使用すると、同じプロファイルで複数の User Supplied Extensions 拡張機能を定義できます。たとえば、以下の組み合わせを指定できます。
  • Extended Key Usage Extension の場合:
    policyset.serverCertSet.2.constraint.class_id=extendedKeyUsageExtConstraintImpl
    policyset.serverCertSet.2.constraint.name=Extended Key Usage Extension
    policyset.serverCertSet.2.constraint.params.exKeyUsageCritical=false
    policyset.serverCertSet.2.constraint.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
    policyset.serverCertSet.2.default.class_id=userExtensionDefaultImpl
    policyset.serverCertSet.2.default.name=User Supplied Extension Default
    policyset.serverCertSet.2.default.params.userExtOID=2.5.29.37
  • Key Usage Extension の場合:
    以下の形式を使用すると、拡張機能のパラメーターを適用するポリシーを適用できます。
    • CSR: value = "true" になければなりません
    • CSR: value = "false" に存在してはなりません
    • オプション: value = "-"
    以下に例を示します。
    policyset.serverCertSet.13.constraint.class_id=keyUsageExtConstraintImpl
    policyset.serverCertSet.13.constraint.name=Key Usage Extension Constraint
    policyset.serverCertSet.13.constraint.params.keyUsageCritical=-
    policyset.serverCertSet.13.constraint.params.keyUsageCrlSign=false
    policyset.serverCertSet.13.constraint.params.keyUsageDataEncipherment=-
    policyset.serverCertSet.13.constraint.params.keyUsageDecipherOnly=-
    policyset.serverCertSet.13.constraint.params.keyUsageDigitalSignature=-
    policyset.serverCertSet.13.constraint.params.keyUsageEncipherOnly=-
    policyset.serverCertSet.13.constraint.params.keyUsageKeyAgreement=true
    policyset.serverCertSet.13.constraint.params.keyUsageKeyCertSign=-
    policyset.serverCertSet.13.constraint.params.keyUsageKeyEncipherment=-
    policyset.serverCertSet.13.constraint.params.keyUsageNonRepudiation=-
    policyset.serverCertSet.13.default.class_id=userExtensionDefaultImpl
    policyset.serverCertSet.13.default.name=User Supplied Key Usage Extension
    policyset.serverCertSet.13.default.params.userExtOID=2.5.29.15
注記
ユーザー定義の拡張属性で CSR を作成する方法は、certutil を使用したユーザー定義拡張による CSR の作成」 を参照してください。

B.1.33. 有効性のデフォルト

デフォルトでは、サーバー側の設定可能な有効期間を証明書要求に割り当てます。
次の制約は、このデフォルトで定義できます。

表B.24 有効性のデフォルト設定パラメーター

パラメーター 説明
range この証明書の有効期限を指定します。
startTime 現在の時間に基づいて有効期間が始まるタイミングを設定します。