Identity Manager では、RFC 3161 準拠のデジタルタイムスタンプを含む XMLDSIG 形式の署名付き承認を、Identity Manager 承認プロセスに追加できます。XMLDSIG 署名付き承認を使用するように Identity Manager を設定する場合、監査ログで承認を確認しないかぎり、承認者が認識できる変更はありません。監査ログレコードに格納される署名付き承認の形式だけが変更されます。
これまでの Identity Manager の署名付き承認と同様、クライアントマシンでアプレットが起動され、承認者に対して署名のための承認情報が表示されます。承認者は承認の署名に使用するキーストアとキーを選択します。
承認者が承認に署名すると、承認データを含む XMLDSIG ドキュメントが作成されます。このドキュメントは、XMLDSIG 署名付きドキュメントを検証するサーバーに返されます。処理が成功し、RFC 3161 デジタルタイムスタンプが設定されている場合は、このドキュメントに対してデジタルタイムスタンプも生成されます。タイムスタンプ証明局 (TSA) から取得したタイムスタンプのエラーがチェックされ、証明書の有効性が確認されます。問題がなければ、最後に Identity Manager は監査ログレコードを生成し、XMLDSIG 形式の署名付き証明書オブジェクトを XML のブロブ列に格納します。
XMLDSIG 形式の証明書オブジェクトは、次のような形式になります。
<XMLSignedData signedContent="...base64 transaction text ..."> <XMLSignature> <TSATimestamp> ...The base64 encoded PKCS7 timestamp token returned by the TSA... </TSATimestamp <Signature> <SignedInfo>...XMLDSIG stuff...</SignedInfo> <SignatureValue>...base64 signature value</SignatureValue> <KeyInfo>...cert info for signer</KeyInfo> </Signature> </XMLSignature> </XMLSignedData>
次の点に注意してください。
base64 承認データは、アプレットで承認者に表示される実際の承認データテキストで構成され、base64 形式でエンコードされます。
<TSATimestamp> 要素には、base64 でエンコードされた、タイムスタンプ証明局 (TSA) からの PKCS7 タイムスタンプ応答が含まれます。
<Signature> 全体で、XMLDSIG 署名データを構成します。
この XMLDSIG ドキュメントは、監査ログ承認レコードの XML 列に格納されます。
XMLDSIG 署名付き承認を使用するためのインストールと設定の要件は、「署名付き承認に関するサーバー側の設定を有効にする」 で説明した要件と同じです。ただし、追加の手順が 1 つだけあります。ts2.jar ファイルへの署名に加えて、xmlsec-1.4.2.jar ファイルにも署名が必要です。
システム設定属性を使用して、次の操作を実行できます。
SignedData 形式または XMLSignedData 形式を選択できます。一度に設定できるのはどちらか一方の形式だけです。管理者は必要に応じて、この設定を変更できます。
設定された RFC 3161 タイムスタンプ証明局 (TSA) から取得した、デジタルタイムスタンプを含めることができます。
このタイムスタンプを取得する URL を、HTTP のみで指定できます。
これらの属性を編集するには、Identity Manager デバッグページを使用して、システム設定オブジェクトを編集します。これらの設定はすべて、ほかの署名付き承認属性と一緒に security.nonrepudiation 以下で指定します。
XMLDSIG 属性には次のものがあります。
security.nonrepudiation.useXmlDigitalSignatures は、XMLDSIG 署名を有効にするブール型の値です。
security.nonrepudiation.timestampXmlDigitalSignatures は、XMLDSIG 署名に RFC 3161 デジタルタイムスタンプを含めるブール型の値です。
security.nonrepudiation.timestampServerURL は、タイムスタンプを取得する HTTP ベースの TSA の URL を指定する文字列値です。
これらの属性を有効にするには、既存の useSignedApprovals 属性を true に設定する必要があります。
Identity Manager は、一般的なプロビジョニングリクエストで、1 つの承認または複数の署名付き承認に対して複数の署名をサポートしません。