第15章 証明書プロファイルの設定

15.1. ファイルシステムで直接証明書プロファイルの作成および編集

CA のインストールプロセスの一部として、プロファイルの設定ファイルを変更することにより、証明書登録プロファイルをファイルシステム上で直接変更できます。インストール時のデフォルトプロファイルにはデフォルトファイルが存在します。新しいプロファイルが必要な場合は、新しいプロファイル設定ファイルを作成します。設定ファイルは CA プロファイルディレクトリーである instance_directory/ca/profiles/ca/ に保存されます (例: /var/lib/pki/pki-ca/ca/profiles/ca/)。ファイル名は profile_name.cfg です。プロファイルルールのパラメーターはすべて、これらのプロファイル設定ファイルで設定または変更できます。プロファイルルールは、入力、出力、認証、承認、デフォルト、および制約を使用できます。
CA 証明書の登録プロファイルは、*.profile という名前の /var/lib/pki/instance_name/ca/conf ディレクトリーにあります。
注記
監査上の理由から、この方法は、デプロイメント前の CA のインストール中にのみ使用してください。
プロファイル設定ファイルを編集して変更を有効にした後、サーバーを再起動します。

15.1.1. CA 以外のシステム証明書プロファイルの設定

15.1.1.1. プロファイル設定パラメーター

プロファイルルールのすべてのパラメーター (デフォルト、入力、出力、および制約) は、単一のポリシーセット内で設定されます。プロファイルに設定されたポリシーには policyset.policyName.policyNumber という名前があります。以下に例を示します。
policyset.cmcUserCertSet.6.constraint.class_id=noConstraintImpl
policyset.cmcUserCertSet.6.constraint.name=No Constraint
policyset.cmcUserCertSet.6.default.class_id=userExtensionDefaultImpl
policyset.cmcUserCertSet.6.default.name=User Supplied Key Default
policyset.cmcUserCertSet.6.default.params.userExtOID=2.5.29.15
一般的なプロファイル設定パラメーターについては、表15.1「プロファイル設定ファイルのパラメーター」 で説明されています。

表15.1 プロファイル設定ファイルのパラメーター

パラメーター 説明
desc エンドエンティティーページに表示される証明書プロファイルのフリーテキストの説明を提供します。たとえば、desc=This certificate profile is for enrolling server certificates with agent authentication. です。
enable プロファイルを有効にするかどうかを設定します。したがって、エンドエンティティーページからアクセスできます。たとえば、enable=true とします。
auth.instance_id プロファイルを介して送信された証明書要求の認証に使用する認証マネージャープラグインを設定します。自動登録では、認証に成功すると CA は証明書をすぐに発行します。認証が失敗した場合、または認証プラグインが指定されていない場合、リクエストはキューに入れられ、エージェントによって手動で承認されます。たとえば、auth.instance_id=CMCAuth となります。認証方法は、CS.cfg から登録された認証インスタンスの 1 つである必要があります。
authz.acl
承認制約を指定します。最も一般的なものは、グループ評価 ACL を設定するのに使用されます。たとえば、この caCMCUserCert パラメーターでは、CMC 要求の署名者が Certificate Manager Agents グループに属している必要があります。
authz.acl=group="Certificate Manager Agents"
ディレクトリーベースのユーザー証明書の更新では、このオプションを使用して、元の要求元と現在の認証ユーザーが同じであることを確認します。
エンティティーは、承認を評価する前に、認証 (バインド、または基本的にシステムへのログイン) を行う必要があります。認証メソッドは、CS.cfg から登録された認証インスタンスの 1 つである必要があります。
name プロファイルの名前を指定します。たとえば、name=Agent-Authenticated サーバー証明書の登録 などです。この名前は、エンドユーザーの登録または更新ページに表示されます。
input.list 名前でプロファイルに許可されている入力をリスト表示します。たとえば、input.list=i1,i2 です。
input.input_id.class_id 入力 ID (input.list にリストされている入力の名前) によって入力の Java クラス名を指定します。たとえば、input.i1.class_id=cmcCertReqInputImpl です。
output.list プロファイルの可能な出力形式を名前でリストします。たとえば、output.list=o1 です。
output.output_id.class_id output.list で指定された出力形式の Java クラス名を指定します。たとえば、output.o1.class_id=certOutputImpl です。
policyset.list 設定したプロファイルルールをリスト表示します。二重証明書の場合は、1 セットのルールが署名キーに適用され、もう 1 セットが暗号化キーに適用されます。1 つの証明書で使用するプロファイルは、1 つのプロファイルルールセットだけです。たとえば、policyset.list=serverCertSet です。
policyset.policyset_id.list プロファイル用に設定されたポリシーセット内のポリシーを、評価する必要のある順序でポリシー ID 番号別にリスト表示します。たとえば、policyset.serverCertSet.list=1,2,3,4,5,6,7,8 のようになります。
policyset.policyset_id.policy_number.constraint.class_id プロファイルルールで設定されたデフォルトに設定された制約プラグインの Java クラス名を指定します。たとえば、policyset.serverCertSet.1.constraint.class_id=subjectNameConstraintImpl です。
policyset.policyset_id.policy_number.constraint.name 制約のユーザー定義の名前を指定します。たとえば、policyset.serverCertSet.1.constraint.name=Subject Name Constraint などです。
policyset.policyset_id.policy_number.constraint.params.attribute 制約に許可される属性値を指定します。設定可能な属性は、制約の種類によって異なります。たとえば、policyset.serverCertSet.1.constraint.params.pattern=CN=.* です。
policyset.policyset_id.policy_number.default.class_id プロファイルルールに、デフォルトセットの java クラス名を指定します。たとえば、policyset.serverCertSet.1.default.class_id=userSubjectNameDefaultImpl です。
policyset.policyset_id.policy_number.default.name デフォルトのユーザー定義の名前を指定します。たとえば、policyset.serverCertSet.1.default.name=Subject Name Default です。
policyset.policyset_id.policy_number.default.params.attribute デフォルトに対して許可される属性の値を指定します。設定可能な属性は、デフォルトの種類によって異なります。たとえば、policyset.serverCertSet.1.default.params.name=CN=(Name)$request.requestor_name$ です。

15.1.1.2. ファイルシステムで直接証明書拡張機能の変更

制約を変更すると、指定できる情報の種類に制限があります。デフォルトと制約を変更すると、証明書要求から受け入れられる、または必要とされる拡張子を追加、削除、または変更することもできます。
たとえば、デフォルトの caFullnagiosUserCert プロファイルは、リクエストの情報からキーの使用拡張を作成するように設定されています。
 policyset.cmcUserCertSet.6.constraint.class_id=keyUsageExtConstraintImpl  
policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint  
policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true  
policyset.cmcUserCertSet.6.constraint.params.keyUsageCrlSign=false  
policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false  
policyset.cmcUserCertSet.6.constraint.params.keyUsageDecipherOnly=false  
policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true  
policyset.cmcUserCertSet.6.constraint.params.keyUsageEncipherOnly=false  
policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyAgreement=false  
policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyCertSign=false  
policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyEncipherment=true  
policyset.cmcUserCertSet.6.constraint.params.keyUsageNonRepudiation=true  
policyset.cmcUserCertSet.6.default.class_id=keyUsageExtDefaultImpl
policyset.cmcUserCertSet.6.default.name=Key Usage Default
policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
policyset.cmcUserCertSet.6.default.params.keyUsageCrlSign=false
policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
policyset.cmcUserCertSet.6.default.params.keyUsageDecipherOnly=false
policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
policyset.cmcUserCertSet.6.default.params.keyUsageEncipherOnly=false
policyset.cmcUserCertSet.6.default.params.keyUsageKeyAgreement=false
policyset.cmcUserCertSet.6.default.params.keyUsageKeyCertSign=false
policyset.cmcUserCertSet.6.default.params.keyUsageKeyEncipherment=true
policyset.cmcUserCertSet.6.default.params.keyUsageNonRepudiation=true
デフォルトは、ユーザーが指定するキー拡張機能を許可するように更新されます。
policyset.cmcUserCertSet.6.default.class_id=userExtensionDefaultImpl
policyset.cmcUserCertSet.6.default.name=User Supplied Key Default
policyset.cmcUserCertSet.6.default.params.userExtOID=2.5.29.15
これにより、証明書リクエストで、拡張 OID 2.5.29.15 を受け入れるようにサーバーが設定されます。
その他の制約やデフォルトも同じように変更できます。必要な制約が適切なデフォルト値に含まれていることを確認し、別の制約が必要な場合にデフォルトが変更され、許可される制約のみがデフォルトで使用されます。詳細は、『Red Hat Certificate System 管理ガイド』のデフォルト参照および制約参照を参照してください。
15.1.1.2.1. 主な使用方法および拡張キー使用の一貫性
Red Hat Certificate System は、環境の要件を満たすように、管理者がカスタム登録プロファイルを作成するための柔軟なインフラストラクチャーを提供します。ただし、プロファイルでは RFC 5280 で定義された要件に違反する証明書を発行できません。キー使用法 (KU) と拡張キー使用法 (EKU) の両方の拡張機能が存在する登録プロファイルを作成する場合は、セクション 4.2.1.12 に従って、2 つの拡張機能間の整合性が維持されていることを確認することが重要です。RFC 5280 の拡張鍵使用。
KU 拡張機能の詳細は、以下を参照してください。
次の表に、一貫したキー使用ビットを各目的の拡張キー使用拡張にマップするガイドラインを示します。
目的/拡張キー使用方法 主な使用方法
TLS サーバー認証コマンド
id-kp-serverAuth
digitalSignaturekeyEncipherment、または KeyAgreement
TLS クライアント (相互) 認証
id-kp-clientAuth
digitalSignaturekeyEncipherment、および/または KeyAgreement
コード署名
id-kp-codeSigning
digitalSignature
メール保護
id-kp-emailProtection
digitalSignaturenonRepudiationおよび/または (keyEncipherment またはkeyAgreement)
OCSP レスポンスの署名
id-kp-OCSPSigning
KeyAgreement および/または nonRepudiation
以下は、一貫性のない EKU/KU の例を 2 つ示しています。
  • OCSP 応答署名を目的とした登録プロファイルには、拡張キーの使用法 id-kp-OCSPSigning が含まれていますが、keyEncipherment キー使用法ビットとともに使用されます。
    policyset.ocspCertSet.6.default.class_id=keyUsageExtDefaultImpl
    policyset.ocspCertSet..6.default.name=Key Usage Default
    policyset.ocspCertSet..6.default.params.keyUsageCritical=true
    policyset.ocspCertSet..6.default.params.keyUsageCrlSign=false
    policyset.ocspCertSet..6.default.params.keyUsageDataEncipherment=false
    policyset.ocspCertSet..6.default.params.keyUsageDecipherOnly=false
    policyset.ocspCertSet..6.default.params.keyUsageDigitalSignature=true
    policyset.ocspCertSet..6.default.params.keyUsageEncipherOnly=false
    policyset.ocspCertSet..6.default.params.keyUsageKeyAgreement=false
    policyset.ocspCertSet..6.default.params.keyUsageKeyCertSign=false
    policyset.ocspCertSet..6.default.params.keyUsageKeyEncipherment=true
    policyset.ocspCertSet..6.default.params.keyUsageNonRepudiation=true
    policyset.ocspCertSet.7.constraint.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.9
    policyset.ocspCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
    policyset.ocspCertSet.7.default.name=Extended Key Usage Default
    policyset.ocspCertSet.7.default.params.exKeyUsageCritical=false
    policyset.ocspCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.9
  • TLS サーバー認証の目的を目的とする登録プロファイルは、拡張キー usage id-kp-serverAuth ですが、CRL 署名鍵の使用ビットを使用します。
    policyset.serverCertSet.6.default.name=Key Usage Default
    policyset.serverCertSet.6.default.params.keyUsageCritical=true
    policyset.serverCertSet.6.default.params.keyUsageDigitalSignature=true
    policyset.serverCertSet.6.default.params.keyUsageNonRepudiation=false
    policyset.serverCertSet.6.default.params.keyUsageDataEncipherment=true
    policyset.serverCertSet.6.default.params.keyUsageKeyEncipherment=false
    policyset.serverCertSet.6.default.params.keyUsageKeyAgreement=true
    policyset.serverCertSet.6.default.params.keyUsageKeyCertSign=false
    policyset.serverCertSet.6.default.params.keyUsageCrlSign=true
    policyset.serverCertSet.6.default.params.keyUsageEncipherOnly=false
    policyset.serverCertSet.6.default.params.keyUsageDecipherOnly=false
    policyset.cmcUserCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
    policyset.cmcUserCertSet.7.default.name=Extended Key Usage Extension Default
    policyset.cmcUserCertSet.7.default.params.exKeyUsageCritical=false
    policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1
EKU 拡張機能の詳細は、以下を参照してください。
15.1.1.2.2. クロスペアプロファイルの設定
クロスペア証明書は、信頼パートナー関係を確立する別の CA 署名証明書であり、これにより、これら 2 つの別個の PKI のエンティティーが相互に信頼します。両方のパートナー CA は、その他の CA 署名証明書をデータベースに保存するため、他の PKI 内で発行されたすべての証明書は信頼され、認識されます。
Certificate System がサポートする 2 つの拡張は、このような信頼パートナー関係 (相互認証) を確立するために使用できます。
  • 証明書ポリシー拡張 (CertificatePoliciesExtension) は、証明書が該当する条件を指定します。これは、多くの場合、PKI ごとに一意です。
  • ポリシーマッピング拡張機能 (PolicyMappingExtension) は、2 つの環境の証明書プロファイルをマッピングすることにより、2 つの PKI 間の信頼をシールします。
クロスペアの証明書を発行するには、証明書ポリシー拡張が必要です。これは、『Red Hat Certificate System 管理ガイド』 の付録 certificatePoliciesExt で説明されています。
発行された証明書に CertificatePoliciesExtension が含まれていることを確認するには、登録プロファイルに適切なポリシールールを含める必要があります。次に例を示します。
policyset.userCertSet.p7.constraint.class_id=noConstraintImpl
policyset.userCertSet.p7.constraint.name=No Constraint
policyset.userCertSet.p7.default.class_id=certificatePoliciesExtDefaultImpl
policyset.userCertSet.p7.default.name=Certificate Policies Extension Default
policyset.userCertSet.p7.default.params.Critical=false
policyset.userCertSet.p7.default.params.PoliciesExt.num=1
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.enable=true
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.policyId=1.1.1.1
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.enable=false
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.value=
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.enable=false
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.explicitText.value=
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.noticeNumbers=
policyset.userCertSet.p7.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.organization=
この例の登録プロファイルで発行された証明書には、次の情報が含まれます。
Identifier: Certificate Policies: - 2.5.29.32
Critical: no
Certificate Policies:
Policy Identifier: 1.1.1.1
クロスペア証明書の使用の詳細は、『Red Hat Certificate System 管理ガイド』 の クロスペアの証明書の使用 セクションを参照してください。
クロスペア証明書の公開の詳細は、『Red Hat Certificate System 管理ガイド』 の クロスペアの証明書の公開 セクションを参照してください。

15.1.1.3. ファイルシステムへのプロファイル入力の直接追加

CA の profiles/ca ディレクトリーにある証明書プロファイル設定ファイルには、その特定の証明書プロファイルフォームの入力情報が含まれます。入力は、エンドエンティティーページ登録フォームのフィールドです。そのプロファイルに含まれる入力を一覧表示するパラメーター input.list があります。その他のパラメーターは入力を定義します。これらは input.ID 形式で識別されます。たとえば、これにより一般的な入力がプロファイルに追加されます。
input.list=i1,i2,i3,i4
...
input.i4.class_id=genericInputImpl
input.i4.params.gi_display_name0=Name0
input.i4.params.gi_display_name1=Name1
input.i4.params.gi_display_name2=Name2
input.i4.params.gi_display_name3=Name3
input.i4.params.gi_param_enable0=true
input.i4.params.gi_param_enable1=true
input.i4.params.gi_param_enable2=true
input.i4.params.gi_param_enable3=true
input.i4.params.gi_param_name0=gname0
input.i4.params.gi_param_name1=gname1
input.i4.params.gi_param_name2=gname2
input.i4.params.gi_param_name3=gname3
input.i4.params.gi_num=4
利用可能な入力やフォーム フィールドの詳細については、「 入力の参照」を参照してください

15.1.2. 証明書のデフォルト有効期間の変更

認証局 (CA) の各プロファイルで、プロファイルを使用して発行された証明書が有効である期間を設定できます。セキュリティー上の理由から、この値を変更できます。
たとえば、生成された認証局 (CA) 署名証明書の有効性を 825 日 (約 27 ヶ月) に設定するには、/var/lib/pki/instance_name/ca/profiles/ca/caCACert.cfg ファイルをエディターで開いて、以下を設定します。
policyset.caCertSet.2.default.params.range=825

15.1.3. CA システム証明書プロファイルの設定

CA 以外のサブシステムとは異なり、CA 自体のシステム証明書の登録プロファイルは /var/lib/pki/[instance name]/ca/conf ファイルに保持されます。これらのプロファイルは以下のとおりです。
  • caAuditSigningCert.profile
  • eccAdminCert.profile
  • rsaAdminCert.profile
  • caCert.profile
  • eccServerCert.profile
  • saServerCert.profile
  • caOCSPCert.profile
  • eccSubsystemCert.profile
  • rsaSubsystemCert.profile
上記のプロファイルのデフォルト値を変更する場合は、「設定手順の開始」 手順を実行する前にプロファイルを変更します。以下は、次のことを示す例です。
  • 効力を CA 署名証明書に変更する方法。
  • エクステンションの追加方法 (証明書ポリシー拡張機能など)。
  1. pkispawn が使用する元の CA 証明書プロファイルをバックアップします。
    # cp -p /usr/share/pki/ca/conf/caCert.profile /usr/share/pki/ca/conf/caCert.profile.orig
  2. 設定ウィザードが使用する CA 証明書プロファイルを開きます。
    # vim /usr/share/pki/ca/conf/caCert.profile
  3. Validity Default の有効期限を任意の値にリセットします。たとえば、期間を 2 年に変更するには、次のコマンドを実行します。
    2.default.class=com.netscape.cms.profile.def.ValidityDefault
    2.default.name=Validity Default
    2.default.params.range=7200
  4. プロファイルに新しいデフォルトエントリーを作成し、これをリストに追加して、エクステンションを追加します。たとえば、証明書ポリシー拡張機能を追加するには、デフォルト (この例ではデフォルト #9) を追加します。
    9.default.class_id=certificatePoliciesExtDefaultImpl
    9.default.name=Certificate Policies Extension Default
    9.default.params.Critical=false
    9.default.params.PoliciesExt.certPolicy0.enable=false
    9.default.params.PoliciesExt.certPolicy0.policyId=
    9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.enable=true
    9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.value=CertificatePolicies.example.com
    9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.enable=false
    9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.explicitText.value=
    9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.noticeNumbers=
    9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.organization=
    次に、新しいデフォルトを使用するデフォルトのリストにデフォルトの番号を追加します。
    list=2,4,5,6,7,8,9

15.1.4. スマートカード CA プロファイルの管理

注記
TMS 上の本セクションにある機能は、評価でテストされていません。本セクションは参照用途としてのみ提供されています。
TPS は、証明書要求を生成または承認しません。Enterprise Security Client を介して承認された要求を、設定済みの CA に送信して証明書を発行します。これは、CA にトークンとスマートカードに使用するプロファイルが実際に含まれることを意味します。使用するプロファイルは、カードの種類に基づいて自動的に割り当てられます。
プロファイルの設定ファイルは、他の CA プロファイルが含まれる /var/lib/pki/instance_name/profiles/ca/ ディレクトリーにあります。デフォルトのプロファイルは、表15.2「デフォルトのトークン証明書プロファイル」 に一覧表示されます。

表15.2 デフォルトのトークン証明書プロファイル

プロファイル名 設定ファイル 説明
通常の登録プロファイル
トークンデバイスのキー登録 caTokenDeviceKeyEnrollment.cfg デバイスまたはサーバーに使用するトークンの登録
トークンユーザー暗号化証明書の登録 caTokenUserEncryptionKeyEnrollment.cfg ユーザーのトークンで暗号化証明書を登録する場合。
トークンユーザーの署名証明書登録 caTokenUserSigningKeyEnrollment.cfg ユーザーのトークンに署名証明書を登録する場合。
トークンユーザー MS ログイン証明書の登録 caTokenMSLoginEnrollment.cfg Windows ドメインまたは PC へのシングルサインオンに使用するユーザー証明書を登録する場合。
一時トークンプロファイル
一時的なデバイス証明書の登録 caTempTokenDeviceKeyEnrollment.cfg 一時的なトークンでデバイスの証明書を登録する場合
一時的なトークン暗号化証明書の登録 caTempTokenUserEncryptionKeyEnrollment.cfg ユーザーの一時的なトークンに暗号化証明書を登録する場合。
一時的なトークンユーザー署名証明書 caTempTokenUserSigningKeyEnrollment.cfg ユーザーの一時的なトークンに署名証明書を登録する場合。
プロファイルの更新[a]
トークンユーザー暗号化証明書の登録 (更新) caTokenUserEncryptionKeyRenewal.cfg 更新が許可される場合に、ユーザーのトークンで暗号化証明書を更新する場合。
トークンユーザー署名証明書の登録 (更新) caTokenUserSigningKeyRenewal.cfg 更新が許可される場合に、トークンの署名証明書を更新するため。
[a] 更新プロファイルは、元の証明書を発行したプロファイルと組み合わせてのみ使用できます。メリットには 2 つの設定があります。
  • 元の登録プロファイル名は変更されません。
  • Renew Grace Period Constraint は、元の登録プロファイルに設定する必要があります。これは、ユーザーが証明書の更新を許可される証明書の有効期限の前後の時間を定義します。デフォルトのプロファイルにはこれらの例がいくつかあり、ほとんどの場合、デフォルトでは有効になっていません。

15.1.4.1. TPS の登録プロファイルの編集

管理者は、TPS で使用されるデフォルトのスマートカード登録プロファイルをカスタマイズできます。たとえば、プロファイルを編集して、サブジェクト代替名拡張子にユーザーの電子メールアドレスを含めることができます。ユーザーのメールアドレスは認証ディレクトリーから取得されます。LDAP アクセス用に CA を設定するには、プロファイルファイルの次のパラメーターを、適切なディレクトリー情報とともに変更します。
policyset.set1.p1.default.params.dnpattern=UID=$request.uid$, O=Token Key User
				policyset.set1.p1.default.params.ldap.enable=true
				policyset.set1.p1.default.params.ldap.basedn=ou=people,dc=host,dc=example,dc=com
				policyset.set1.p1.default.params.ldapStringAttributes=uid,mail
				policyset.set1.p1.default.params.ldap.ldapconn.host=localhost.example.com
				policyset.set1.p1.default.params.ldap.ldapconn.port=389
これらの CA プロファイルには、LDAP ルックアップがデフォルトで無効になっています。ldapStringAttributes パラメーターは、会社ディレクトリーから取得する LDAP 属性を CA に指示します。たとえば、ディレクトリーに LDAP 属性名として uid が含まれており、証明書のサブジェクト名に使用される場合、uidldapStringAttributes パラメーターにリストされ、request.uid は、dnpattern のコンポーネントの一つとしてリストされなければなりません。
証明書プロファイルの編集は、『Red Hat Certificate System 管理ガイド』の証明書プロファイルの設定で説明されています。
dnpattern パラメーターの形式は、『Red Hat Certificate System 管理ガイドのサブジェクト名の制約 セクションおよび サブジェクト名のデフォルト セクションで説明されています。

15.1.4.2. カスタム TPS プロファイルの作成

証明書プロファイルは通常どおり CA で作成されますが、トークンの登録で使用できるようにするには、TPS で設定する必要もあります。
ヒント
新しいプロファイルは、Red Hat Certificate System の新しいリリースで追加されます。インスタンスが Certificate System 9.0 に移行されると、新しいプロファイルは、カスタムプロファイルであるかのように、移行されたインスタンスに追加する必要があります。
  1. 発行する CA 用の新しいトークンプロファイルを作成します。プロファイルの設定は、『Red Hat Certificate System 管理ガイド』の証明書のプロファイルの設定セクションで説明されています。
  2. プロファイルを CA のプロファイルディレクトリー /var/lib/instance_name/ca/profiles/ca/ にコピーします。
  3. CA の CS.cfg ファイルを編集し、新規プロファイルの参照およびプロファイル名を CA のプロファイル一覧に追加します。以下に例を示します。
    # vim etc/pki/instance_name/ca/CS.cfg
    
    				profile.list=caUserCert,...,caManualRenewal,tpsExampleEnrollProfile  
    				...
    				profile.caTokenMSLoginEnrollment.class_id=caUserCertEnrollImpl
    				profile.caTokenMSLoginEnrollment.config=/var/lib/pki/instance_name/profiles/ca/tpsExampleEnrollProfile.cfg
  4. TPS CS.cfg ファイルを編集し、新しい CA 登録プロファイルを参照する行を追加します。以下に例を示します。
    # vim /etc/pki/instance_name/tps/CS.cfg
    
    				op.enroll.userKey.keyGen.signing.ca.profileId=tpsExampleEnrollProfile
  5. スマートカードプロファイルを編集したら、インスタンスを再起動します。
    # systemctl restart pki-tomcatd-nuxwdog@instance_name.service
    CA と TPS が別のインスタンスにある場合は、両方のインスタンスを再起動します。
注記
外部登録の登録プロファイル (externalReg) 設定は、ユーザーの LDAP エントリーで設定されます。

15.1.4.3. Windows スマートカードのログオンプロファイルの使用

TPS はプロファイルを使用して、Windows ドメインまたは PC へのシングルサインオンに使用する証明書を生成します。これは、トークンユーザーの MS ログイン証明書の登録プロファイルです (caTokenMSLoginEnrollment.cfg)。
ただし、管理者が Windows スマートカードログインを設定するときに考慮する 必要 がある特別な考慮事項がいくつかあります。
  • TLS に対して設定されていない場合は、ドメインコントローラーに証明書を発行します。
  • グローバルポリシーではなく、ユーザーごとのスマートカードログインを設定して、ドメイン管理者のロックアウトを防止します。
  • ドメインコントローラーはログインのたびに CRL をチェックするため、Active Directory サーバーへの CRL 公開を有効にします。

15.1.5. 証明書の登録プロファイルの無効化

本セクションでは、選択したプロファイルを無効にする手順を説明します。
証明書プロファイルを無効にするには、/var/lib/pki/instance_name/ca/profiles/ca/ ディレクトリー内で対応する *.cfg ファイルを編集し、visibleenable のパラメーターを false に設定します。
たとえば、CMC プロファイルをすべて無効にするには、次のコマンドを実行します。
  1. CMC 以外のプロファイルのリストを表示します。
    # ls -l /var/lib/pki/instance_name/ca/profiles/ca/ | grep -v "CMC"
  2. 表示される各ファイルで、以下のパラメーターを false に設定します。
    visible=false
    enable=false
さらに、すべての CMC プロファイルで visible=false を設定し、エンドエンティティーページに表示されないようにします。
  1. CMC プロファイルのリストを表示します。
    # ls -l /var/lib/pki/instance_name/ca/profiles/ca/*CMC*
  2. 表示される各ファイルで、以下を設定します。
    visible=false