ws-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cohei...@apache.org
Subject svn commit: r1830665 - in /webservices/wss4j/trunk: ws-security-common/src/main/java/org/apache/wss4j/common/util/ ws-security-dom/src/main/java/org/apache/wss4j/dom/util/ ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/ ws-se...
Date Tue, 01 May 2018 10:36:11 GMT
Author: coheigea
Date: Tue May  1 10:36:11 2018
New Revision: 1830665

URL: http://svn.apache.org/viewvc?rev=1830665&view=rev
Log:
WSS-628 - Support xop:Include for the streaming WS-Security stack

Added:
    webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xop-include.xsd
Modified:
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/util/AttachmentUtils.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
    webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/DecryptInputProcessor.java
    webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/WSSEncryptedKeyInputHandler.java
    webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/WSSec.java
    webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xenc-schema.xsd
    webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/util/AttachmentUtils.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/util/AttachmentUtils.java?rev=1830665&r1=1830664&r2=1830665&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/util/AttachmentUtils.java
(original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/util/AttachmentUtils.java
Tue May  1 10:36:11 2018
@@ -19,14 +19,19 @@
 package org.apache.wss4j.common.util;
 
 import org.apache.wss4j.common.ext.Attachment;
+import org.apache.wss4j.common.ext.AttachmentRequestCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.xml.security.algorithms.JCEMapper;
 import org.apache.xml.security.encryption.XMLCipherUtil;
 import org.apache.xml.security.stax.impl.util.MultiInputStream;
+import org.apache.xml.security.utils.JavaUtils;
 
 import javax.crypto.Cipher;
 import javax.crypto.CipherInputStream;
 import javax.mail.internet.MimeUtility;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
 
 import java.io.*;
 import java.net.URLDecoder;
@@ -601,4 +606,48 @@ public final class AttachmentUtils {
 
         return new MultiInputStream(ivInputStream, cipherInputStream);
     }
+
+    public static byte[] getBytesFromAttachment(
+        String xopUri, CallbackHandler attachmentCallbackHandler, boolean removeAttachments
+    ) throws WSSecurityException {
+        if (attachmentCallbackHandler == null) {
+            throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK);
+        }
+
+        String attachmentId = getAttachmentId(xopUri);
+
+        AttachmentRequestCallback attachmentRequestCallback = new AttachmentRequestCallback();
+        attachmentRequestCallback.setAttachmentId(attachmentId);
+        attachmentRequestCallback.setRemoveAttachments(removeAttachments);
+
+        try {
+            attachmentCallbackHandler.handle(new Callback[]{attachmentRequestCallback});
+
+            List<Attachment> attachments = attachmentRequestCallback.getAttachments();
+            if (attachments == null || attachments.isEmpty()
+                || !attachmentId.equals(attachments.get(0).getId())) {
+                throw new WSSecurityException(
+                    WSSecurityException.ErrorCode.INVALID_SECURITY,
+                    "empty", new Object[] {"Attachment not found: " + xopUri}
+                );
+            }
+            Attachment attachment = attachments.get(0);
+            InputStream inputStream = attachment.getSourceStream();
+
+            return JavaUtils.getBytesFromStream(inputStream);
+        } catch (UnsupportedCallbackException | IOException e) {
+            throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK, e);
+        }
+    }
+
+    public static String getAttachmentId(String xopUri) throws WSSecurityException {
+        try {
+            return URLDecoder.decode(xopUri.substring("cid:".length()), StandardCharsets.UTF_8.name());
+        } catch (UnsupportedEncodingException e) {
+            throw new WSSecurityException(
+                WSSecurityException.ErrorCode.INVALID_SECURITY,
+                "empty", new Object[] {"Attachment ID cannot be decoded: " + xopUri}
+            );
+        }
+    }
 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java?rev=1830665&r1=1830664&r2=1830665&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
(original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
Tue May  1 10:36:11 2018
@@ -27,15 +27,14 @@ import org.apache.wss4j.dom.callback.Cal
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.common.WSEncryptionPart;
 import org.apache.wss4j.common.ext.Attachment;
-import org.apache.wss4j.common.ext.AttachmentRequestCallback;
 import org.apache.wss4j.common.ext.AttachmentResultCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
+import org.apache.wss4j.common.util.AttachmentUtils;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.handler.HandlerAction;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.xml.security.stax.ext.XMLSecurityConstants;
-import org.apache.xml.security.utils.JavaUtils;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -45,19 +44,13 @@ import org.w3c.dom.Text;
 //import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl;
 
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Method;
-import java.net.URLDecoder;
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
 
 
 /**
@@ -671,45 +664,11 @@ public final class WSSecurityUtil {
     public static byte[] getBytesFromAttachment(
         String xopUri, CallbackHandler attachmentCallbackHandler, boolean removeAttachments
     ) throws WSSecurityException {
-        if (attachmentCallbackHandler == null) {
-            throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK);
-        }
-
-        String attachmentId = getAttachmentId(xopUri);
-
-        AttachmentRequestCallback attachmentRequestCallback = new AttachmentRequestCallback();
-        attachmentRequestCallback.setAttachmentId(attachmentId);
-        attachmentRequestCallback.setRemoveAttachments(removeAttachments);
-
-        try {
-            attachmentCallbackHandler.handle(new Callback[]{attachmentRequestCallback});
-
-            List<Attachment> attachments = attachmentRequestCallback.getAttachments();
-            if (attachments == null || attachments.isEmpty()
-                || !attachmentId.equals(attachments.get(0).getId())) {
-                throw new WSSecurityException(
-                    WSSecurityException.ErrorCode.INVALID_SECURITY,
-                    "empty", new Object[] {"Attachment not found: " + xopUri}
-                );
-            }
-            Attachment attachment = attachments.get(0);
-            InputStream inputStream = attachment.getSourceStream();
-
-            return JavaUtils.getBytesFromStream(inputStream);
-        } catch (UnsupportedCallbackException | IOException e) {
-            throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK, e);
-        }
+        return AttachmentUtils.getBytesFromAttachment(xopUri, attachmentCallbackHandler,
removeAttachments);
     }
 
     public static String getAttachmentId(String xopUri) throws WSSecurityException {
-        try {
-            return URLDecoder.decode(xopUri.substring("cid:".length()), StandardCharsets.UTF_8.name());
-        } catch (UnsupportedEncodingException e) {
-            throw new WSSecurityException(
-                WSSecurityException.ErrorCode.INVALID_SECURITY,
-                "empty", new Object[] {"Attachment ID cannot be decoded: " + xopUri}
-            );
-        }
+        return AttachmentUtils.getAttachmentId(xopUri);
     }
 
     public static void storeBytesInAttachment(

Modified: webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/DecryptInputProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/DecryptInputProcessor.java?rev=1830665&r1=1830664&r2=1830665&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/DecryptInputProcessor.java
(original)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/DecryptInputProcessor.java
Tue May  1 10:36:11 2018
@@ -206,6 +206,52 @@ public class DecryptInputProcessor exten
     }
 
     @Override
+    protected InputStream handleXOPInclude(InputProcessorChain inputProcessorChain, EncryptedDataType
encryptedDataType, String href,
+                                           Cipher cipher, InboundSecurityToken inboundSecurityToken)
throws XMLSecurityException {
+        if (href == null || href.length() < 5) {
+            throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK);
+        }
+        if (!href.startsWith("cid:")) {
+            throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK);
+        }
+
+        final String attachmentId = href.substring(4);
+
+        CallbackHandler attachmentCallbackHandler =
+            ((WSSSecurityProperties) getSecurityProperties()).getAttachmentCallbackHandler();
+        if (attachmentCallbackHandler == null) {
+            throw new WSSecurityException(
+                WSSecurityException.ErrorCode.INVALID_SECURITY,
+                "empty", new Object[] {"no attachment callbackhandler supplied"}
+            );
+        }
+
+        AttachmentRequestCallback attachmentRequestCallback = new AttachmentRequestCallback();
+        attachmentRequestCallback.setAttachmentId(attachmentId);
+        try {
+            attachmentCallbackHandler.handle(new Callback[]{attachmentRequestCallback});
+        } catch (Exception e) {
+            throw new WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY,
e);
+        }
+        List<Attachment> attachments = attachmentRequestCallback.getAttachments();
+        if (attachments == null || attachments.isEmpty() || !attachmentId.equals(attachments.get(0).getId()))
{
+            throw new WSSecurityException(
+                WSSecurityException.ErrorCode.INVALID_SECURITY,
+                "empty", new Object[] {"Attachment not found"}
+            );
+        }
+
+        final Attachment attachment = attachments.get(0);
+
+        final String encAlgo = encryptedDataType.getEncryptionMethod().getAlgorithm();
+        final Key symmetricKey =
+            inboundSecurityToken.getSecretKey(encAlgo, XMLSecurityConstants.Enc, encryptedDataType.getId());
+
+        return
+            AttachmentUtils.setupAttachmentDecryptionStream(encAlgo, cipher, symmetricKey,
attachment.getSourceStream());
+    }
+
+    @Override
     protected AbstractDecryptedEventReaderInputProcessor newDecryptedEventReaderInputProcessor(
             boolean encryptedHeader, XMLSecStartElement xmlSecStartElement, EncryptedDataType
encryptedDataType,
             InboundSecurityToken inboundSecurityToken, InboundSecurityContext inboundSecurityContext)
throws XMLSecurityException {

Modified: webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/WSSEncryptedKeyInputHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/WSSEncryptedKeyInputHandler.java?rev=1830665&r1=1830664&r2=1830665&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/WSSEncryptedKeyInputHandler.java
(original)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/input/WSSEncryptedKeyInputHandler.java
Tue May  1 10:36:11 2018
@@ -23,6 +23,7 @@ import org.apache.wss4j.binding.wss10.Re
 import org.apache.wss4j.binding.wss10.SecurityTokenReferenceType;
 import org.apache.wss4j.common.bsp.BSPRule;
 import org.apache.wss4j.common.ext.WSSecurityException;
+import org.apache.wss4j.common.util.AttachmentUtils;
 import org.apache.wss4j.stax.ext.WSInboundSecurityContext;
 import org.apache.xml.security.binding.xmldsig.KeyInfoType;
 import org.apache.xml.security.binding.xmlenc.EncryptedKeyType;
@@ -112,4 +113,11 @@ public class WSSEncryptedKeyInputHandler
             }
         }
     }
+
+    @Override
+    protected byte[] getBytesFromAttachment(String xopUri, final XMLSecurityProperties securityProperties)
throws XMLSecurityException {
+        WSSSecurityProperties securityProps = (WSSSecurityProperties)securityProperties;
+        return AttachmentUtils.getBytesFromAttachment(xopUri, securityProps.getAttachmentCallbackHandler(),
true);
+    }
+
 }

Modified: webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/WSSec.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/WSSec.java?rev=1830665&r1=1830664&r2=1830665&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/WSSec.java
(original)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/WSSec.java
Tue May  1 10:36:11 2018
@@ -72,7 +72,8 @@ public class WSSec {
                             org.apache.xml.security.binding.xmlenc11.ObjectFactory.class,
                             org.apache.xml.security.binding.xmldsig.ObjectFactory.class,
                             org.apache.xml.security.binding.xmldsig11.ObjectFactory.class,
-                            org.apache.xml.security.binding.excc14n.ObjectFactory.class
+                            org.apache.xml.security.binding.excc14n.ObjectFactory.class,
+                            org.apache.xml.security.binding.xop.ObjectFactory.class
                     )
             );
 
@@ -493,6 +494,7 @@ public class WSSec {
                         new StreamSource(ClassLoaderUtils.getResourceAsStream("schemas/soap-1.2.xsd",
WSSec.class)),
                         new StreamSource(ClassLoaderUtils.getResourceAsStream("schemas/exc-c14n.xsd",
WSSec.class)),
                         new StreamSource(ClassLoaderUtils.getResourceAsStream("schemas/xmldsig-core-schema.xsd",
WSSec.class)),
+                        new StreamSource(ClassLoaderUtils.getResourceAsStream("schemas/xop-include.xsd",
WSSec.class)),
                         new StreamSource(ClassLoaderUtils.getResourceAsStream("schemas/xenc-schema.xsd",
WSSec.class)),
                         new StreamSource(ClassLoaderUtils.getResourceAsStream("schemas/xenc-schema-11.xsd",
WSSec.class)),
                         new StreamSource(ClassLoaderUtils.getResourceAsStream("schemas/xmldsig11-schema.xsd",
WSSec.class)),

Modified: webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xenc-schema.xsd
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xenc-schema.xsd?rev=1830665&r1=1830664&r2=1830665&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xenc-schema.xsd (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xenc-schema.xsd Tue
May  1 10:36:11 2018
@@ -4,6 +4,7 @@
  [
    <!ATTLIST schema
      xmlns:xenc CDATA #FIXED 'http://www.w3.org/2001/04/xmlenc#'
+     xmlns:xop CDATA #FIXED 'http://www.w3.org/2004/08/xop/include'
      xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'>
    <!ENTITY xenc 'http://www.w3.org/2001/04/xmlenc#'>
    <!ENTITY % p ''>
@@ -12,12 +13,15 @@
 
 <schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
         xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
+        xmlns:xop='http://www.w3.org/2004/08/xop/include'
         xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
         targetNamespace='http://www.w3.org/2001/04/xmlenc#'
         elementFormDefault='qualified'>
 
   <import namespace="http://www.w3.org/2000/09/xmldsig#"
           schemaLocation='./xmldsig-core-schema.xsd'/>
+  <import namespace="http://www.w3.org/2004/08/xop/include"
+          schemaLocation='./xop-include.xsd'/>
           
   <complexType name='EncryptedType' abstract='true'>
     <sequence>
@@ -49,11 +53,19 @@
   <element name='CipherData' type='xenc:CipherDataType'/>
   <complexType name='CipherDataType'>
      <choice>
-       <element name='CipherValue' type='base64Binary'/>
+       <element ref='xenc:CipherValue'/>
        <element ref='xenc:CipherReference'/>
      </choice>
     </complexType>
 
+   <!-- Modified portion here to allow xop:Include -->
+   <element name='CipherValue' type='xenc:CipherValueType'/>
+   <complexType name='CipherValueType' mixed='true'>
+       <sequence>
+         <element ref='xop:Include' minOccurs='0'/>
+       </sequence>
+   </complexType>
+
    <element name='CipherReference' type='xenc:CipherReferenceType'/>
    <complexType name='CipherReferenceType'>
        <choice>

Added: webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xop-include.xsd
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xop-include.xsd?rev=1830665&view=auto
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xop-include.xsd (added)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/resources/schemas/xop-include.xsd Tue
May  1 10:36:11 2018
@@ -0,0 +1,13 @@
+<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' 
+           xmlns:tns='http://www.w3.org/2004/08/xop/include' 
+           targetNamespace='http://www.w3.org/2004/08/xop/include' >
+
+  <xs:element name='Include' type='tns:Include' />
+  <xs:complexType name='Include' >
+	<xs:sequence>
+	  <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded' />
+	</xs:sequence>
+	<xs:attribute name='href' type='xs:anyURI' use='required' />
+	<xs:anyAttribute namespace='##other' />
+  </xs:complexType>
+</xs:schema>

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java?rev=1830665&r1=1830664&r2=1830665&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java
(original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java
Tue May  1 10:36:11 2018
@@ -456,57 +456,57 @@ public class EncDecryptionTest extends A
                     WSSecurityEventConstants.X509Token,
                     WSSecurityEventConstants.OPERATION,
                     WSSecurityEventConstants.X509Token,
+                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.AlgorithmSuite,
-                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.EncryptedKeyToken,
-                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.ContentEncrypted,
-                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.AlgorithmSuite,
-                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.EncryptedKeyToken,
-                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.ContentEncrypted,
-                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.AlgorithmSuite,
-                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.EncryptedKeyToken,
-                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.ContentEncrypted,
-                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.AlgorithmSuite,
-                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.EncryptedKeyToken,
-                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.ContentEncrypted,
-                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.AlgorithmSuite,
-                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.EncryptedKeyToken,
-                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.ContentEncrypted,
-                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.AlgorithmSuite,
-                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.EncryptedKeyToken,
-                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.ContentEncrypted,
+                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.EncryptedKeyToken,
+                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.AlgorithmSuite,
+                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.ContentEncrypted,
+                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.EncryptedKeyToken,
+                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.AlgorithmSuite,
+                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.ContentEncrypted,
+                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.EncryptedKeyToken,
+                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.AlgorithmSuite,
+                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.ContentEncrypted,
+                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.EncryptedKeyToken,
+                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.AlgorithmSuite,
+                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.ContentEncrypted,
+                    WSSecurityEventConstants.AlgorithmSuite,
                     WSSecurityEventConstants.EncryptedKeyToken,
+                    WSSecurityEventConstants.ContentEncrypted,
                     WSSecurityEventConstants.AlgorithmSuite,
+                    WSSecurityEventConstants.EncryptedKeyToken,
                     WSSecurityEventConstants.ContentEncrypted,
+                    WSSecurityEventConstants.AlgorithmSuite,
             };
             final TestSecurityEventListener securityEventListener = new TestSecurityEventListener(expectedSecurityEvents);
 



Mime
View raw message