メッセージの特定フィールドを暗号化および復号化する方法

ノート:

  • 暗号化メッセージをコンポジットと切り離す場合は、PIIを復号化する必要があります。PIIポリシーをサービス・バインディング・コンポーネントにアタッチしているが、参照バインディング・コンポーネントにアタッチしない場合、アウトバウンド・メッセージのPIIは復号化されません。これは推奨されておらず、実行時エラーが表示されます。

  • あるSOAコンポジット・アプリケーション内で暗号化されたPIIは、別のSOAコンポジット・アプリケーションでは復号化できません。

メッセージの特定のフィールドを暗号化および復号化するには:

  1. サービス・バインディング・コンポーネントを右クリックして、「機密データの保護」「リクエスト・データの暗号化」を選択します。

    図47-12に示すような「PII構成」ダイアログが表示されます。

    ここで、受信メッセージに対して初期の暗号化を実行する必要があります。

    図47-12 暗号化用の「PII構成」ダイアログ

    図47-12の説明が続きます
    「図47-12 暗号化用の「PII構成」ダイアログ」の説明
  2. 「編集」アイコンをクリックして、暗号化するスキーマ内の要素を指定します。

    「暗号化するフィールドを選択します」フィールドの「入力」タブが表示されます。

  3. 「追加」アイコンをクリックして、暗号化するリクエスト・メッセージのフィールド(たとえば、ユーザーの名前、クレジット・カード番号、社会保障番号など)を指定するXPath式を作成します。
  4. 「CSF」タブをクリックします。
  5. 使用するCredential Store Framework (CSF)キーを選択します。資格証明ストアは、資格証明キーを安全に保管するために使用されます。

    暗号化が完了した後、メッセージはSOAコンポジット・アプリケーションのサービス・コンポーネントを通過します。

    メッセージが参照バインディング・コンポーネントに到達し、SOAコンポジット・アプリケーションから抜け出る準備ができたら、暗号化メッセージを復号化する必要があります。

  6. 参照バインディング・コンポーネントを右クリックして、「機密データの復号化」を選択します。図47-13に詳細を示します。

    図47-13 復号化用の「PII構成」ダイアログ

    図47-13の説明が続きます
    「図47-13 復号化用の「PII構成」ダイアログ」の説明
  7. 編集」アイコンをクリックします。

    「復号化するフィールドを選択します」フィールドの「入力」タブが表示されます。非同期プロセスには、入力メッセージ用と出力メッセージ用の2つのステップがあります。

  8. 「追加」アイコンをクリックして「式ビルダー」ダイアログを呼び出し、復号化するフィールド(たとえば、クレジット・カード番号、運転免許などのフィールド)を指定するXPath式を作成します。
  9. 完了後に「OK」をクリックします。

    oracle/pii_security_policyを使用してコンポジットを構成した後、資格情報ストアにキーとユーザー資格情報を追加する必要があります。

  10. createCred WLSTコマンドを使用して、csf-keyユーザー資格情報に関するoracle.wsm.security資格情報マップにエントリを作成します。
    connect("weblogic","password","t3://myAdminServer.example.com:7001")
    
    wls:/DefaultDomain/serverConfig> createCred(map="oracle.wsm.security",
    key="pii-csf-key", user="weblogic", password="password", desc="Key for
    pii_security_policy")
    

    この作業を実行しなければ、次のエラーが発生します。

    oracle.wsm.security.SecurityException: WSM-00016 : The
    username/password credentials or certificates pii-csf-key are missing.