CXFを使用してクライアントSOAP WSを構築していますが、問題があり、要求操作で1つのフィールドのみを暗号化する必要があります。私はいくつかのテストを行った SOAPUIを使用して、私はX.509証明書をロードし、発信WSセキュリティ設定を作成し、暗号化する特定のフィールドを選択し、WS呼び出しはOKです。 CXFを使用して、私は実装方法を知らない。トピックに関するいくつかの記事を読んで、xml CXF設定を使用していますが、SOAPリクエストの特定のフィールドを暗号化する方法が見つかりませんでした。たとえば、私は次のように暗号化のリクエストが必要です。CXFとX.509を使用してSOAPリクエスト内の特定のフィールドを暗号化する方法
<soapenv:Body>
<v2:ExampleRequest>
<v2:field1>1909</v2:field1>
<v2:field2>TEST</v2:field2>
<v2:field3>22</v2:field3>
<v2:field4><xenc:EncryptedData Id="ED-B26971BCECBE85FCAB14666299360062" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference wsse11:TokenType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"><wsse:Reference URI="#EK-B26971BCECBE85FCAB14666299359531"/></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>1eEPbo5tRbf+c+A7eNJOONL+amAA/To87XAa6nCsM6M=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></v2: field4>
</v2: ExampleRequest >
</soapenv:Body>
いくつかの提案や意見を、私はそれがインターセプタを使用することができると思いますが、迎撃にのみに使用される名前空間なしで値フィールドを暗号化することができ生のSOAP
CreditCard.Nameのような子要素を暗号化したい場合はどうなりますか? –