B.2.11. Subject Name 制約

Subject Name 制約は、証明書要求のサブジェクト名が基準を満たしているかどうかを確認します。

表B.32 Subject Name 制約設定パラメーター

パラメーター 説明
Pattern サブジェクト DN を構築する正規表現または他の文字列を指定します。

Subject Name 名と正規表現

Subject Name Constraint の正規表現は、正規表現を照合するための Java 機能によって照合されます。これらの正規表現の形式は、https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html に記載されています。これにより、アスタリスク (*) などのワイルドカードは、任意の数の文字とピリオド (.) が、任意のタイプの文字を検索します。

たとえば、サブジェクト名制約のパターンが uid=.* に設定されている場合、証明書プロファイルフレームワークは、証明書要求のサブジェクト名がパターンと一致するかどうかを確認します。uid=user, o=Example, c=US のようなサブジェクト名は、uid=.* というパターンに対応します。サブジェクト名 cn=user, o=example,c=US はパターンを満たしません。uid=.* は、サブジェクト名は、uid 属性で始まる必要があることを意味します。ピリオドアスタリスク (.*) ワイルドカードを使用すると、uid の後に任意のタイプと文字数文字を続けることができます。
.*ou=Engineering.* などの内部パターンが必要になる場合があります。これには、その前後で任意の種類の文字列を持つ ou=Engineering 属性が必要になります。これは cn=jdoe,ou=internal,ou=west coast,ou=engineering,o="Example Corp",st=NC と同様に uid=bjensen,ou=engineering,dc=example,dc=com と一致します。
最後に、オプションの間にパイプ記号 (|) を設定することで、ある文字列または別の文字列のリクエストを許可することもできます。たとえば、ou=engineering,ou=people or ou=engineering,o="Example Corp" のいずれかが含まれるサブジェクト名を許可するには、パターンは .*ou=engineering,ou=people.* | .*ou=engineering,o="Example Corp".* のいずれかになります。
注記
ピリオド (.) などの特殊文字を使用するパターンを作成する場合は、バックスラッシュ (\) で文字をエスケープします。たとえば、文字列 o="Example Inc." を検索するには、パターンを o="Example Inc\." に設定します。

証明書の要求における Subject Name および UID または CN

サブジェクト DN を構築するために使用されるパターンは、証明書を要求する人の CN または UID に基づくこともできます。Subject Name Constraint は、証明書要求の DN で認識する CN (または UID) のパターンを設定し、Subject Name Default は、その CN に、事前定義されたディレクトリーツリーを使用して証明書のサブジェクト DN を作成します。

たとえば、証明書要求の CN を使用するには、次を実行します。
policyset.serverCertSet.1.constraint.class_id=subjectNameConstraintImpl
policyset.serverCertSet.1.constraint.name=Subject Name Constraint
policyset.serverCertSet.1.constraint.params.pattern=CN=[^,]+,.+
policyset.serverCertSet.1.constraint.params.accept=true
policyset.serverCertSet.1.default.class_id=subjectNameDefaultImpl
policyset.serverCertSet.1.default.name=Subject Name Default
policyset.serverCertSet.1.default.params.name=CN=$request.req_subject_name.cn$,DC=example, DC=com