付録A 証明書プロファイルの入力および出力の参照
プロファイルの入力と出力は、証明書要求で予想される入力パラメーターと登録結果の出力形式を定義します。Red Hat Certificate System の他の多くのコンポーネントと同様に、プロファイルの入力と出力は、カスタマイズと柔軟性を提供するために JAVA プラグインとして実装されています。この付録では、デフォルトの入力プラグインおよび出力プラグインのリファレンスを提供します。
A.1. 入力の参照
入力により、特定の証明書プロファイルに関連付けられた登録ページに特定のフィールドが配置されます。証明書プロファイルに設定された入力は、適切なフィールドを使用して動的に登録ページを生成するために使用されます。これらの入力フィールドは、プロファイルが最終的な証明書を生成するために必要な情報を収集します。
A.1.1. 証明書要求入力
Certificate Request 入力は、証明書要求が登録フォームに貼り付けられる登録に使用されます。ドロップダウンリストからリクエスト形式を設定できるようにし、リクエストを貼り付ける入力フィールドを提供します。
この入力により、以下のフィールドが登録フォームに置かれます。
- 証明書要求のタイプ。このドロップダウンメニューにより、ユーザーが証明書要求のタイプを指定できます。PKCS #10 または CRMF を選択できます。Cryptographic Message Syntax (CMC) 登録を介した Certificate Management Message は、PKCS #10 と CRMF の両方でサポートされています。
- 証明書要求。このテキストエリアで、リクエストを貼り付けます。
例A.1
caAdminCert.cfg:input.i1.class_id=certReqInputImpl
A.1.2. CMC 証明書要求入力
CMC Certificate Request 入力は、Certificate Message over CMS (CMC) 証明書要求を使用した登録に使用され、要求フォームで送信されます。要求タイプは PKCS #10 または CRMF のいずれかである必要があり、唯一のフィールドは要求を貼り付けるための Certificate Request テキスト領域です。
例A.2
caCMCUserCert.cfg:input.i1.class_id=cmcCertReqInputImpl
A.1.3. デュアルキー生成入力
デュアルキー生成入力は、デュアルキーペアが生成される登録用であり、したがって、署名用と暗号化用の 2 つの証明書が発行されます。
この入力により、以下のフィールドが登録フォームに置かれます。
- Key Generation Request Type。このフィールドは、リクエストタイプ crmf として表示される読み取り専用フィールドです。
- キー生成要求。このフィールドは、暗号化証明書と署名証明書の両方のキー生成要求でのキーサイズの選択を設定します。
例A.3
caDualCert.cfg:input.i1.class_id=dualKeyGenInputImpl
A.1.4. ファイル署名入力
File-Signing 入力は、ファイルが改ざんされていないことを示すためにファイルに署名するフィールドを設定します。
この入力により、以下のフィールドが作成されます。
- Key Generation Request Type。このフィールドは、リクエストタイプ crmf として表示される読み取り専用フィールドです。
- キー生成要求。この入力でドロップダウンメニューが追加され、キー生成要求で使用する鍵のサイズを選択します。
- URL Of File Being Signed。これにより、署名されるファイルの場所が指定されます。
- Text Being Signed。これでファイル名が指定されます。
例A.4
caAgentFileSigning.cfg:input.i2.class_id=fileSigningInputImpl
A.1.5. イメージ入力
Image 入力は、イメージファイルに署名するフィールドを設定します。この入力が作成する唯一のフィールドは Image URL で、署名されるイメージの場所を示すイメージを示します。
A.1.6. キー生成入力
キー生成入力は、単一のキーペアが生成される登録 (通常はユーザーベースの証明書登録) に使用されます。
この入力により、以下のフィールドが登録フォームに置かれます。
- Key Generation Request Type。このフィールドは、リクエストタイプ crmf として表示される読み取り専用フィールドです。
- キー生成要求。この入力でドロップダウンメニューが追加され、キー生成要求で使用する鍵のサイズを選択します。
例A.5
caDualCert.cfg:input.i1.class_id=keyGenInputImpl
A.1.7. nsHKeyCertRequest (Token Key) Input
Token Key 入力は、エージェントが後で証明書ベースの認証に使用するハードウェアトークンのキーを登録するために使用されます。
この入力により、以下のフィールドが登録フォームに置かれます。
- Token Key CUID。このフィールドは、トークンデバイスの CUID (通常は一意のユーザー ID) を入力します。
- Token Key User Public Key。このフィールドには、トークンユーザーの公開鍵が含まれている必要があります。
例A.6
caTempTokenDeviceKeyEnrollment.cfg:input.i1.class_id=nsHKeyCertReqInputImpl
A.1.8. nsNKeyCertRequest (トークンユーザーキー) 入力
Token User Key 入力は、ハードウェアトークンのユーザーのキーを登録するために使用され、エージェントは後で証明書ベースの認証にトークンを使用します。この入力により、以下のフィールドが登録フォームに置かれます。
- Token Key User UID。このフィールドは、トークンデバイスのユーザーの LDAP エントリーの UID を指定します。
- Token Key User Public Key。このフィールドには、トークンユーザーの公開鍵が含まれている必要があります。
例A.7
caTempTokenUserEncryptionKeyEnrollment.cfg:input.i1.class_id=nsNKeyCertReqInputImpl
A.1.9. Serial Number Renewal 入力
Serial Number Renewal 入力は、CA が元の証明書エントリーを取得し、その情報を使用して証明書を再生成できるように、既存の証明書のシリアル番号を設定するために使用されます。この入力により、Serial Number フィールドが登録フォームに挿入されます。
これは、更新フォームで使用する必要がある唯一の入力です。他のすべての情報は、証明書エントリーによって提供されます。
例A.8
caTokenUserEncryptionKeyRenewal.cfg:input.i1.class_id=serialNumRenewInputImpl
A.1.10. 発行先の DN 入力
Subject DN 入力を使用すると、ユーザーは特定の DN を入力して証明書のサブジェクト名として設定でき、入力によって 1 つの Subject Name フィールドが登録フォームに挿入されます。
例A.9
caAdminCert.cfg:input.i3.class_id=subjectDNInputImpl
A.1.11. サブジェクト名入力
サブジェクト名の入力は、DN パラメーターをユーザーから収集する必要がある場合の登録に使用されます。パラメーターは、証明書のサブジェクト名を形成するために使用されます。この入力により、以下のフィールドが登録フォームに置かれます。
- UID (LDAP ディレクトリーのユーザー ID)
- E メール
- Common Name (ユーザー名)
- Organizational Unit (ユーザーが属する組織単位 (
ou
) - Organization (組織名)
- 国 (ユーザーが置かれている国)
例A.10
caDualCert.cfg:input.i2.class_id=subjectNameInputImpl
A.1.12. 送信元情報の入力
Submitter Information 入力は、名前、電子メール、電話番号などの証明書要求者の情報を収集します。
この入力により、以下のフィールドが登録フォームに置かれます。
- Requester Name
- Requester Email
- Requester Phone
例A.11
caAdminCert.cfg:input.i2.class_id=submitterInfoInputImpl
A.1.13. 一般的な入力
Generic Input を使用すると、管理者は、パターンを処理する拡張プラグインで使用する入力フィールドをいくつでも指定できます。たとえば、
ccm
パラメーターおよび GUID
パラメーターは、パターン化されたサ Subject Alternative Name Extension Default プラグインで使用されます。
例A.12
input.i3.class_id=genericInputImpl input.i3.params.gi_display_name0=ccm input.i3.params.gi_param_enable0=true input.i3.params.gi_param_name0=ccm input.i3.params.gi_display_name1=GUID input.i3.params.gi_param_enable1=true input.i3.params.gi_param_name1=GUID input.i3.params.gi_num=2 … policyset.set1.p6.default.class_id=subjectAltNameExtDefaultImpl policyset.set1.p6.default.name=Subject Alternative Name Extension Default policyset.set1.p6.default.params.subjAltExtGNEnable_0=true policyset.set1.p6.default.params.subjAltExtGNEnable_1=true policyset.set1.p6.default.params.subjAltExtPattern_0=$request.ccm$ policyset.set1.p6.default.params.subjAltExtType_0=DNSName policyset.set1.p6.default.params.subjAltExtPattern_1=(Any)1.3.6.1.4.1.311.25.1,0410$request.GUID$ policyset.set1.p6.default.params.subjAltExtType_1=OtherName policyset.set1.p6.default.params.subjAltNameExtCritical=false policyset.set1.p6.default.params.subjAltNameNumGNs=2
A.1.14. Subject Alternative Name Extension 入力
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.13
input.i3.class_id=subjectAltNameExtInputImpl input.i3.name=subjectAltNameExtInputImpl … 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=3