6.7. Mapping Resolver の設定

Token Processing System は、デフォルトで単一のマッピングリゾルバーを提供します。リゾルバーは FilterMappingResolver と呼ばれます。本セクションでは、その設定について説明します。
注記
マッピングリゾルバーの一般的な情報は、Red Hat Certificate System 計画、インストール、およびデプロイメントのガイドの『マッピングリゾルバー』セクションを参照してください。

6.7.1. Key Set Mapping Resolver

外部の登録時、ユーザーの認証を行う前に、キーセットはリゾルバーを使用して解決する必要があります。
キーセットマッピングリゾルバー名は以下のように定義されます。
externalReg.mappingResolver=<keySet mapping resolver name>
以下に例を示します。
externalReg.mappingResolver=keySetMappingResolver
以下の設定例は、完全なインスタンスの設定を示しています。
mappingResolver.keySetMappingResolver.class_id=filterMappingResolverImpl
mappingResolver.keySetMappingResolver.mapping.0.filter.appletMajorVersion=0
mappingResolver.keySetMappingResolver.mapping.0.filter.appletMinorVersion=0
mappingResolver.keySetMappingResolver.mapping.0.filter.keySet=
mappingResolver.keySetMappingResolver.mapping.0.filter.tokenATR=
mappingResolver.keySetMappingResolver.mapping.0.filter.tokenCUID.end=a1000000000000000000
mappingResolver.keySetMappingResolver.mapping.0.filter.tokenCUID.start=a0000000000000000000
mappingResolver.keySetMappingResolver.mapping.0.target.keySet=defKeySet
mappingResolver.keySetMappingResolver.mapping.1.filter.appletMajorVersion=1
mappingResolver.keySetMappingResolver.mapping.1.filter.appletMinorVersion=1
mappingResolver.keySetMappingResolver.mapping.1.filter.keySet=
mappingResolver.keySetMappingResolver.mapping.1.filter.tokenATR=1234
mappingResolver.keySetMappingResolver.mapping.1.filter.tokenCUID.end=
mappingResolver.keySetMappingResolver.mapping.1.filter.tokenCUID.start=
mappingResolver.keySetMappingResolver.mapping.1.target.keySet=defKeySet
mappingResolver.keySetMappingResolver.mapping.2.filter.appletMajorVersion=
mappingResolver.keySetMappingResolver.mapping.2.filter.appletMinorVersion=
mappingResolver.keySetMappingResolver.mapping.2.filter.keySet=
mappingResolver.keySetMappingResolver.mapping.2.filter.tokenATR=
mappingResolver.keySetMappingResolver.mapping.2.filter.tokenCUID.end=
mappingResolver.keySetMappingResolver.mapping.2.filter.tokenCUID.start=
mappingResolver.keySetMappingResolver.mapping.2.target.keySet=jForte
mappingResolver.keySetMappingResolver.mapping.order=0,1,2
上記の例は、01、および 2 という名前の 3 つのマッピングを定義します。これらは、例の mappingResolver.keySetMappingResolver.mapping.order=0,1,2 行を使用して昇順で順序付けされます。この順序は、入力パラメーターが最初にマッピングフィルター 0 に対して実行されることを意味します。入力パラメーターがそのフィルターに一致しない場合にのみ、マッピング順序の次のフィルターが試行されます。たとえば、以下の特性を持つトークンが評価されます。
CUID=a0000000000000000011
appletMajorVersion=0
appletMinorVersion=0
次に、マッピング 0 を渡し、そのターゲットが割り当てられます。これは、defKeySet に設定されます。これは、アプレットのバージョンが一致し、CUID がそのマッピングの CUID の開始範囲と終了範囲内にあるためです。
一方、トークンに以下のパラメーターがある場合には、以下を行います。
CUID=b0000000000000000000
ATR=2222
appletMajorVersion=1
appletMinorVersion=1
この場合、このトークンは指定された CUID 範囲外であるため、0 のマッピングに失敗します。また、アプレットバージョンが一致すると ATR がマッピングされないため、1 マッピングも失敗します。上記のトークンはマッピング 2 とそのターゲット jForte に割り当てられます。
マッピング 2 には、そのフィルターへの割り当てがないことに留意してください。これにより、マッピングがすべてのトークンと照合され、実質的にデフォルトの値になります。このようなマッピングは、マッピング順序の最後に指定する必要があります。これ以降、他のマッピングは評価されないためです。

6.7.2. Token Type (TPS) Mapping Resolver

Token Processing System で定義されたデフォルトの tokenType マッピングリゾルバーは、formatProfileMappingResolverenrollProfileMappingResolver、および pinResetProfileMappingResolver の 3 つです。前のセクションで説明した外部登録の場合と比較すると、内部登録の場合、トークンタイプは実際には定義されたマッピングリゾルバーから計算されます。
トークンタイプマッピングリゾルバー名は以下のように定義されます。
op.<op>.mappingResolver=<mapping resolver name>
以下に例を示します。
op.enroll.mappingResolver=enrollProfileMappingResolver
以下の設定例は、enrollProfileMappingResolver を説明します。
mappingResolver.enrollProfileMappingResolver.class_id=filterMappingResolverImpl
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.appletMajorVersion=1
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.appletMinorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenATR=
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenCUID.end=b1000000000000000000
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenCUID.start=b0000000000000000000
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenType=userKey
mappingResolver.enrollProfileMappingResolver.mapping.0.target.tokenType=userKey
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.appletMajorVersion=1
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.appletMinorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenATR=
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenCUID.end=a0000000000000001000
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenCUID.start=a0000000000000000000
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenType=soKey
mappingResolver.enrollProfileMappingResolver.mapping.1.target.tokenType=soKey
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.appletMajorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.appletMinorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenATR=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenCUID.end=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenCUID.start=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenType=
mappingResolver.enrollProfileMappingResolver.mapping.2.target.tokenType=userKey
mappingResolver.enrollProfileMappingResolver.mapping.order=1,0,2
上記の例で、3 つのマッピングが enrollProfileMappingResolver で定義されます。マッピングの名前は 01、および 2 です。mappingResolver.enrollProfileMappingResolver.mapping.order=1,0,2 行は、マッピングを処理する順序を定義します。トークンがマッピングと一致する場合、その順序でそれ以上のマッピングは評価されません。マッピングと一致しない場合は、順序の次のマッピングが試行されます。
以下のパラメーターが含まれるトークンの場合:
CUID=a0000000000000000011
appletMajorVersion=1
appletMinorVersion=0
extension: tokenType=soKey
アプレットバージョンが一致すると、CUID は指定された開始範囲および終了範囲内で失敗し、拡張機能 tokenType は一致するため、この設定を持つトークンはマッピング 1 用のフィルターに一致します。そのため、このトークンには、そのマッピングのターゲットが割り当てられます (soKey)。
別の場合では、トークンに以下のパラメーターがある場合:
CUID=b0000000000000000010
appletMajorVersion=1
appletMinorVersion=1
この場合、CUID は指定された範囲外であるため、1 トークンのマッピングに失敗します。0 エクステンションがないため、tokenType へのマッピングも失敗します。以前のフィルターのいずれにも一致しないすべてのトークンに一致するフィルターが指定されていないため、このトークンはマッピング 2 に一致します。