3.7.2. サブジェクト代替名への LDAP ディレクトリー属性値およびその他の情報の挿入
LDAP ディレクトリーからの情報、または要求元によって送信された情報は、Subject Alt Name Extension Default 設定で一致する変数を使用して、証明書のサブジェクト代替名に挿入できます。デフォルトでは、情報のタイプ (形式) と、情報の取得に使用する一致するパターン (変数) を設定します。以下に例を示します。
policyset.userCertSet.8.default.class_id=subjectAltNameExtDefaultImpl policyset.userCertSet.8.default.name=Subject Alt Name Constraint policyset.userCertSet.8.default.params.subjAltNameExtCritical=false policyset.userCertSet.8.default.params.subjAltExtType_0=RFC822Name policyset.userCertSet.8.default.params.subjAltExtPattern_0=$request.requestor_email$ policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
これにより、要求側の電子メールがサブジェクト名の最初の CN コンポーネントとして挿入されます。追加のコンポーネントを使用するには、Type_、Pattern_、および Enable_ 値を、Type_1 などの数値にインクリメントします。
サブジェクトの alt 名の設定については、「サブジェクト代替名の拡張機能のデフォルト」 を参照してください。
LDAP コンポーネントを証明書のサブジェクト代替名に挿入するには、以下を実行します。
- LDAP 属性値を挿入するには、ユーザーディレクトリーの認証プラグイン SharedSecret を有効にする必要があります。
- CA コンソールを開きます。
pkiconsole https://server.example.com:8443/ca
- 左側のナビゲーションツリーで 認証 を選択します。
- Authentication Instance タブで、Add をクリックし、SharedSecret 認証プラグインのインスタンスを追加します。
- 以下の情報を入力します。
Authentication InstanceID=SharedToken shrTokAttr=shrTok ldap.ldapconn.host=server.example.com ldap.ldapconn.port=636 ldap.ldapconn.secureConn=true ldap.ldapauth.bindDN=cn=Directory Manager password=password ldap.ldapauth.authtype=BasicAuth ldap.basedn=ou=People,dc=example,dc=org
- 新規プラグインインスタンスを保存します。
JOIN 共有トークンの設定に関する詳細は、「CMC 共有シークレットの設定」 を参照してください。 - ldapStringAttributes パラメーターは、ユーザーの LDAP エントリーから
mail
属性の値を読み込み、その値を証明書要求に追加するよう、認証プラグインに指示します。値が要求に設定されている場合、証明書プロファイルポリシーは、拡張値のその値を挿入するように設定できます。 - CA が証明書拡張機能に LDAP 属性の値を挿入できるようにするには、プロファイルの設定ファイルを編集し、拡張機能のポリシーセットパラメーターを挿入します。たとえば、
caFullCMCSharedTokenCert
プロファイルの Subject Alternative Name 拡張にmail
属性値を挿入するには、以下のコードを変更します。policyset.setID.8.default.params.
subjAltExtPattern_0=$request.auth_token.mail[0]$
プロファイルの編集に関する詳細は、「RAW 形式での証明書プロファイルの編集」 を参照してください。 - CA を再起動します。
systemctl restart pki-tomcatd-nuxwdog@instance_name.service
この例では、
caFullCMCSharedTokenCert
プロファイル登録フォームを介して送信される証明書では、要求側の mail
LDAP 属性の値で Subject Alternative Name 拡張機能が追加されます。以下に例を示します。
Identifier: Subject Alternative Name - 2.5.29.17 Critical: no Value: RFC822Name: jsmith@example.com
このポリシーセットのいずれかの Pattern_ パラメーターにトークン ($X$) として設定することにより、証明書に自動的に挿入できる属性が多数あります。一般的なトークンは 表3.1「証明書の設定に使用する変数」 に一覧表示され、デフォルトのプロファイルにはこれらのトークンの使用方法の例が含まれています。
表3.1 証明書の設定に使用する変数
ポリシーセットトークン | 説明 |
---|---|
$request.auth_token.cn[0]$ | 証明書を要求したユーザーの LDAP 共通名 (cn ) 属性。 |
$request.auth_token.mail[0]$ | 証明書を更新したユーザーの LDAP メール (mail ) 属性の値。 |
$request.auth_token.tokencertsubject$ | 証明書サブジェクト名。 |
$request.auth_token.uid$ | 証明書を要求したユーザーの LDAP ユーザー ID (uid ) 属性。 |
$request.auth_token.userdn$ | 証明書を要求したユーザーのユーザー DN。 |
$request.auth_token.userid$ | 証明書を要求したユーザーのユーザー ID 属性の値。 |
$request.uid$ | 証明書を要求したユーザーのユーザー ID 属性の値。 |
$request.requestor_email$ | 要求を送信したユーザーのメールアドレス。 |
$request.request_name$ | 要求を送信した人。 |
$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$ 形式になります。 |
$request.auth_token.user$ | 要求が TPS によって送信された場合に使用します。証明書をリクエストした TPS サブシステム信頼マネージャー。 |
$request.subject$ | 要求が TPS によって送信された場合に使用します。TP S が解決して要求したエンティティーのサブジェクト名 DN。例: cn=John.Smith.123456789,o=TMS Org |