第16章 証明書プロファイルの設定
16.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 のインストール中にのみ使用してください。
プロファイル設定ファイルを編集して変更を有効にした後、サーバーを再起動します。
16.1.1. CA 以外のシステム証明書プロファイルの設定
16.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
一般的なプロファイル設定パラメーターについては、表16.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$ です。 |
16.1.1.2. ファイルシステムで直接証明書拡張機能の変更
制約を変更すると、指定できる情報の種類に制限があります。デフォルトと制約を変更すると、証明書要求から受け入れられる、または必要とされる拡張子を追加、削除、または変更することもできます。
たとえば、デフォルトの caFullCMCUserCert プロファイルは、リクエストの情報からキーの使用拡張を作成するように設定されています。
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 管理ガイド』の『デフォルト参照』および『制約参照』 を参照してください。
16.1.1.2.1. 主な使用方法および拡張キー使用の一貫性
Red Hat Certificate System は、環境の要件を満たすように、管理者がカスタム登録プロファイルを作成するための柔軟なインフラストラクチャーを提供します。ただし、プロファイルでは RFC 5280 で定義された要件に違反する証明書を発行できません。キー使用法 (KU) と拡張キー使用法 (EKU) の両方の拡張機能が存在する登録プロファイルを作成する場合は、セクション 4.2.1.12 に従って、2 つの拡張機能間の整合性が維持されていることを確認することが重要です。RFC 5280 の拡張鍵使用。
KU 拡張機能の詳細は、以下を参照してください。
次の表に、一貫したキー使用ビットを各目的の拡張キー使用拡張にマップするガイドラインを示します。
目的/拡張キー使用方法 | 主な使用方法 |
---|---|
TLS サーバー認証コマンド
id-kp-serverAuth
| digitalSignature、keyEncipherment、または KeyAgreement |
TLS クライアント (相互) 認証
id-kp-clientAuth
| digitalSignature、keyEncipherment、および/または KeyAgreement |
コード署名
id-kp-codeSigning
| digitalSignature |
メール保護
id-kp-emailProtection
| digitalSignature、nonRepudiationおよび/または (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
- 『Red Hat Certificate System 管理ガイド』の『主な使用拡張機能の制約』セクション
- 『Red Hat Certificate System 管理ガイド』の『keyUsage』セクション
EKU 拡張機能の詳細は、以下を参照してください。
- 『Red Hat Certificate System 管理ガイド』の『主な使用拡張機能の制約』セクション
- 『Red Hat Certificate System 管理ガイド』の『extKeyUsage』セクション
16.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 管理ガイド』 の 『クロスペアの証明書の公開』 セクションを参照してください。
16.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
利用可能な入力やフォームフィールドの詳細は、『Red Hat Certificate System 管理ガイド』 の 『入力の参照』 セクションを参照してください。
16.1.2. 証明書のデフォルト有効期間の変更
認証局 (CA) の各プロファイルで、プロファイルを使用して発行された証明書が有効である期間を設定できます。セキュリティー上の理由から、この値を変更できます。
たとえば、生成された認証局 (CA) 署名証明書の有効性を 825 日 (約 27 ヶ月) に設定するには、
/var/lib/pki/instance_name/ca/profiles/ca/caCACert.cfg
ファイルをエディターで開いて、以下を設定します。
policyset.caCertSet.2.default.params.range=825
16.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 署名証明書に変更する方法。
- エクステンションの追加方法 (証明書ポリシー拡張機能など)。
pkispawn
が使用する元の CA 証明書プロファイルをバックアップします。# cp -p /usr/share/pki/ca/conf/caCert.profile /usr/share/pki/ca/conf/caCert.profile.orig
- 設定ウィザードが使用する CA 証明書プロファイルを開きます。
# vim /usr/share/pki/ca/conf/caCert.profile
- Validity Default の有効期限を任意の値にリセットします。たとえば、期間を 2 年に変更するには、次のコマンドを実行します。
2.default.class=com.netscape.cms.profile.def.ValidityDefault 2.default.name=Validity Default 2.default.params.range=7200
- プロファイルに新しいデフォルトエントリーを作成し、これをリストに追加して、エクステンションを追加します。たとえば、証明書ポリシー拡張機能を追加するには、デフォルト (この例ではデフォルト #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
16.1.4. スマートカード CA プロファイルの管理
注記
TMS 上のこのセクションにある機能は、評価でテストされていません。このセクションは参照用途としてのみ提供されています。
TPS は、証明書要求を生成または承認しません。Enterprise Security Client を介して承認された要求を、設定済みの CA に送信して証明書を発行します。これは、CA にトークンとスマートカードに使用するプロファイルが実際に含まれることを意味します。使用するプロファイルは、カードの種類に基づいて自動的に割り当てられます。
プロファイルの設定ファイルは、他の CA プロファイルが含まれる
/var/lib/pki/instance_name/profiles/ca/
ディレクトリーにあります。デフォルトのプロファイルは、表16.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 つの設定があります。
|
16.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
が含まれており、証明書のサブジェクト名に使用される場合、uid
は ldapStringAttributes
パラメーターにリストされ、request.uid は、dnpattern
のコンポーネントの一つとしてリストされなければなりません。
証明書プロファイルの編集は、『Red Hat Certificate System 管理ガイド』の『証明書プロファイルの設定』で説明されています。
dnpattern
パラメーターのフォーマットは、パラメーターについては、『Red Hat Certificate System 管理ガイド』の『サブジェクト名の制約』セクションおよび『サブジェクト名のデフォルト』セクションで説明されています。
16.1.4.2. カスタム TPS プロファイルの作成
証明書プロファイルは通常どおり CA で作成されますが、トークンの登録で使用できるようにするには、TPS で設定する必要もあります。
ヒント
新しいプロファイルは、Red Hat Certificate System の新しいリリースで追加されます。インスタンスが Certificate System 10.0 に移行されると、新しいプロファイルは、カスタムプロファイルであるかのように、移行されたインスタンスに追加する必要があります。
- 発行する CA 用の新しいトークンプロファイルを作成します。プロファイルの設定は、『Red Hat Certificate System 管理ガイド』の『証明書のプロファイルの設定』セクションで説明されています。
- プロファイルを CA のプロファイルディレクトリー
/var/lib/instance_name/ca/profiles/ca/
にコピーします。 - 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 - TPS
CS.cfg
ファイルを編集し、新しい CA 登録プロファイルを参照する行を追加します。以下に例を示します。# vim /etc/pki/instance_name/tps/CS.cfg op.enroll.userKey.keyGen.signing.ca.profileId=tpsExampleEnrollProfile
- スマートカードプロファイルを編集したら、インスタンスを再起動します。
# systemctl restart pki-tomcatd-nuxwdog@instance_name.service
CA と TPS が別のインスタンスにある場合は、両方のインスタンスを再起動します。
注記
外部登録の登録プロファイル (
externalReg
) 設定は、ユーザーの LDAP エントリーで設定されます。
16.1.4.3. Windows スマートカードのログオンプロファイルの使用
TPS はプロファイルを使用して、Windows ドメインまたは PC へのシングルサインオンに使用する証明書を生成します。これは、トークンユーザーの MS ログイン証明書の登録プロファイルです (
caTokenMSLoginEnrollment.cfg
)。
ただし、管理者が Windows スマートカードログインを設定するときに考慮する 必要 がある特別な考慮事項がいくつかあります。
- TLS に対して設定されていない場合は、ドメインコントローラーに証明書を発行します。
- グローバルポリシーではなく、ユーザーごとのスマートカードログインを設定して、ドメイン管理者のロックアウトを防止します。
- ドメインコントローラーはログインのたびに CRL をチェックするため、Active Directory サーバーへの CRL 公開を有効にします。
16.1.5. 証明書の登録プロファイルの無効化
このセクションでは、選択したプロファイルを無効にする手順を説明します。
証明書プロファイルを無効にするには、
/var/lib/pki/instance_name/ca/profiles/ca/
ディレクトリー内で対応する *.cfg
ファイルを編集し、visible
と enable
のパラメーターを false に設定します。
たとえば、CMC プロファイルをすべて無効にするには、次のコマンドを実行します。
- CMC 以外のプロファイルのリストを表示します。
# ls -l /var/lib/pki/instance_name/ca/profiles/ca/ | grep -v "CMC"
- 表示される各ファイルで、以下のパラメーターを false に設定します。
visible=false enable=false
さらに、すべての CMC プロファイルで visible=false を設定し、エンドエンティティーページに表示されないようにします。
- CMC プロファイルのリストを表示します。
# ls -l /var/lib/pki/instance_name/ca/profiles/ca/*CMC*
- 表示される各ファイルで、以下を設定します。
visible=false