付録A 証明書プロファイルの入力および出力の参照
プロファイルの入力と出力は、証明書要求で予想される入力パラメーターと登録結果の出力形式を定義します。Red Hat Certificate System の他の多くのコンポーネントと同様に、プロファイルの入力と出力は、カスタマイズと柔軟性を提供するために JAVA プラグインとして実装されています。この付録では、デフォルトの入力プラグインおよび出力プラグインのリファレンスを提供します。
A.1. 入力の参照
入力により、特定の証明書プロファイルに関連付けられた登録ページに特定のフィールドが配置されます。証明書プロファイルに設定された入力は、適切なフィールドを使用して動的に登録ページを生成するために使用されます。これらの入力フィールドは、プロファイルが最終的な証明書を生成するために必要な情報を収集します。
A.1.1. CMC 証明書要求入力
CMC Certificate Request 入力は、Certificate Message over CMS (CMC) 証明書要求を使用した登録に使用され、要求フォームで送信されます。要求タイプは PKCS #10 または CRMF のいずれかである必要があり、唯一のフィールドは要求を貼り付けるための Certificate Request テキスト領域です。
例A.1
caCMCUserCert.cfg:input.i1.class_id=cmcCertReqInputImpl
A.1.2. nsHKeyCertRequest (Token Key) Input
トークン管理システム (TMS) では、トークンキー入力を使用して、エージェントが後で証明書ベースの認証に使用するハードウェアトークンのキーを登録します。
この入力により、以下のフィールドが登録フォームに置かれます。
- トークンキー CUID。このフィールドは、トークンデバイスの CUID (通常は一意のユーザー ID) を入力します。
- Token Key User Public Key。このフィールドには、トークンユーザーの公開鍵が含まれている必要があります。
例A.2
caTempTokenDeviceKeyEnrollment.cfg:input.i1.class_id=nsHKeyCertReqInputImpl
A.1.3. nsNKeyCertRequest (トークンユーザーキー) 入力
TMS では、Token User Key 入力は、ハードウェアトークンのユーザーのキーを登録するために使用され、エージェントは後で証明書ベースの認証にトークンを使用します。この入力により、以下のフィールドが登録フォームに置かれます。
- トークンキーユーザー UID。このフィールドは、トークンデバイスのユーザーの LDAP エントリーの UID を指定します。
- Token Key User Public Key。このフィールドには、トークンユーザーの公開鍵が含まれている必要があります。
例A.3
caTempTokenUserEncryptionKeyEnrollment.cfg:input.i1.class_id=nsNKeyCertReqInputImpl
A.1.4. 発行先の DN 入力
TMS では、Subject DN 入力を使用すると、特定の DN を入力して証明書のサブジェクト名として設定でき、入力によって単一の Subject Name フィールドが登録フォームに挿入されます。
例A.4
caAdminCert.cfg:input.i3.class_id=subjectDNInputImpl
A.1.5. Subject Alternative Name Extension 入力
TMS では、Subject Alternative Name Extension 入力は、Subject Alternative Name Extension Default プラグインとともに使用されます。これにより、管理者は、入力へのパターン
req_san_pattern_#
を使用して URI の番号付きパラメーター、SubjectAltNameExt
拡張を有効にできます。たとえば、以下が含まれる URI などです。
...&req_san_pattern_0=host0.Example.com&req_san_pattern_1=host1.Example.com
host0.Example.com
および host1.Example.com
を以下のプロファイルから SubjectAltNameExt
拡張機能に挿入します。
例A.5
input.i3.class_id= input.i3.name=subjectAltNameExtInputImplsubjectAltNameExtInputImpl … policyset.serverCertSet.9.constraint.class_id=noConstraintImpl 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.req_san_pattern_0$ policyset.serverCertSet.9.default.params.subjAltExtType_0=DNSName policyset.serverCertSet.9.default.params.subjAltExtGNEnable_1=true policyset.serverCertSet.9.default.params.subjAltExtPattern_1=$request.req_san_pattern_1$ policyset.serverCertSet.9.default.params.subjAltExtType_1=DNSName policyset.serverCertSet.9.default.params.subjAltExtGNEnable_2=false policyset.serverCertSet.9.default.params.subjAltExtPattern_2=$request.req_san_pattern_2$ policyset.serverCertSet.9.default.params.subjAltExtType_2=DNSName policyset.serverCertSet.9.default.params.subjAltNameExtCritical=false policyset.serverCertSet.9.default.params.subjAltNameNumGNs=2