クライアント・サイドの要求ジェネレーター (送信側) バインディングで 暗号化情報を構成することができます。暗号化情報は、ジェネレーター (送信側) による 発信 SOAP メッセージの暗号化方法を指定するために使用されます。暗号化を構成するためには、 暗号化するメッセージ・パーツを指定して、暗号化に使用するアルゴリズム方式と セキュリティー・トークンを指定します。
機密性は暗号化に関連し、保全性はデジタル署名に関連します。機密性は、インターネット上を流れるメッセージが 誰かに読み取られるリスクを軽減します。機密性の仕様を使用して、メッセージは、送信される前に暗号化され、 正しいターゲットによる受信時に、暗号化解除されます。 暗号化を構成する前に、 XML 暗号化について知っておく必要があります。
クライアント・サイドで暗号化と暗号化パーツを構成するには、 WSSEncryption API と WSSEncryptPart API を使用するか、管理コンソールから ポリシー・セットを構成します。
WebSphere Application Server には、バインディングのデフォルト値が用意されています。 しかし、管理者は実稼働環境に合わせてデフォルトを変更する必要があります。
WebSphere Application Server では、デフォルト・ジェネレーター用の 暗号化情報を使用して SOAP メッセージ・パーツを暗号化します。 WSSEncryption API は、以下の必須パーツを暗号化の対象パーツとして 構成します。
暗号化パーツ | 説明 |
---|---|
キーワード | キーワードは、SOAP メッセージに暗号化パーツを追加する場合に 使用されます。 |
XPath 式 | XPath 式は、SOAP メッセージに暗号化パーツを追加する場合に 使用されます。 |
WSSEncryptPart オブジェクト | このオブジェクトは、SOAP メッセージに暗号化パーツを追加します。 |
WSSSignature オブジェクト | このオブジェクトは、シグニチャー・コンポーネントを暗号化パーツとして 追加します。 |
ヘッダー | このパーツは、QName で指定される SOAP ヘッダー内のヘッダーを、 暗号化パーツとして追加します。 |
セキュリティー・トークン・オブジェクト | このオブジェクトは、セキュリティー・トークンを暗号化パーツとして 追加します。 |
Web サービス・セキュリティー API (WSS API) は、Web Services Secure Conversation (WS-SecureConversation) が 使用されている場合に限り、共有鍵を使用して 対称暗号化をサポートします。
WSS API では、キーワードまたは XPath 式を使用することで、 メッセージの暗号化パーツを指定できます。WebSphere Application Server で使用できるキーワードは次のとおりです。
キーワード | 参照 |
---|---|
BODY_CONTENT | SOAP メッセージ本体の内容を 暗号化ターゲットにするためのキーワード。 |
SIGNATURE | シグニチャー・コンポーネントを 暗号化ターゲットにするためのキーワード。 |
WSS API を使用して WSSEncryption API および WSSEncryptPart API を 構成する場合は、以下のハイレベル手順を実行してください。
WSSFactory factory = WSSFactory.getInstance(); WSSGenerationContext gencont = factory.newWSSGenerationContext(); X509GenerateCallbackHandler callbackhandler = generateCallbackHandler(); SecurityToken token = factory.newSecurityToken(X509Token.class, callbackHandler); WSSEncryption enc = factory.newWSSEncryption(token); gencont.add(enc);
クライアント・サイドの応答コンシューマー (受信側) バインディングで まだ暗号化解除情報を構成していない場合は、同様の暗号化解除情報を構成する必要があります。
次に、WSSEncryption API プロセスを確認します。