You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2020/09/14 15:02:48 UTC

[ws-wss4j] branch master updated (88701d2 -> 1765c41)

This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git.


    from 88701d2  Picking up Santuario 2.3.0-SNAPSHOT
     new 44fc5ce  Picking up fixes for SANTUARIO-554
     new 1765c41  Adding a RSA-SHA512 testcase for Signature

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/wss4j/common/WSS4JConstants.java    |  2 ++
 .../apache/wss4j/dom/message/SignatureTest.java    | 35 +++++++++++++++++-----
 .../output/BinarySecurityTokenOutputProcessor.java | 14 ++++-----
 .../output/CustomTokenOutputProcessor.java         | 10 +++----
 .../output/DerivedKeyTokenOutputProcessor.java     |  4 +--
 .../output/EncryptEndingOutputProcessor.java       |  4 +--
 .../processor/output/EncryptOutputProcessor.java   |  6 ++--
 .../output/EncryptedKeyOutputProcessor.java        | 26 ++++++++--------
 .../processor/output/SAMLTokenOutputProcessor.java |  8 ++---
 .../SecurityContextTokenOutputProcessor.java       | 10 +++----
 .../output/SecurityHeaderReorderProcessor.java     |  2 +-
 .../SignatureConfirmationOutputProcessor.java      |  4 +--
 .../processor/output/TimestampOutputProcessor.java |  6 ++--
 .../output/UsernameTokenOutputProcessor.java       | 10 +++----
 .../output/WSSSignatureEndingOutputProcessor.java  |  6 ++--
 .../output/WSSSignatureOutputProcessor.java        |  6 ++--
 .../org/apache/wss4j/stax/setup/OutboundWSSec.java |  4 +--
 17 files changed, 90 insertions(+), 67 deletions(-)


[ws-wss4j] 02/02: Adding a RSA-SHA512 testcase for Signature

Posted by co...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git

commit 1765c4149d700cac8aea5c1a3b78f2bdee8b6e71
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Mon Sep 14 15:27:59 2020 +0100

    Adding a RSA-SHA512 testcase for Signature
---
 .../org/apache/wss4j/common/WSS4JConstants.java    |  2 ++
 .../apache/wss4j/dom/message/SignatureTest.java    | 35 +++++++++++++++++-----
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/ws-security-common/src/main/java/org/apache/wss4j/common/WSS4JConstants.java b/ws-security-common/src/main/java/org/apache/wss4j/common/WSS4JConstants.java
index d3768b2..66e3e3d 100644
--- a/ws-security-common/src/main/java/org/apache/wss4j/common/WSS4JConstants.java
+++ b/ws-security-common/src/main/java/org/apache/wss4j/common/WSS4JConstants.java
@@ -130,6 +130,8 @@ public class WSS4JConstants {
         "http://www.w3.org/2000/09/xmldsig#rsa-sha1";
     public static final String RSA_SHA256 =
         "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
+    public static final String RSA_SHA512 =
+        "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512";
     public static final String SHA1 =
         "http://www.w3.org/2000/09/xmldsig#sha1";
     public static final String SHA256 =
diff --git a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureTest.java b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureTest.java
index aad51d2..bd8e96d 100644
--- a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureTest.java
+++ b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureTest.java
@@ -540,16 +540,37 @@ public class SignatureTest {
 
         Document signedDoc = builder.build(crypto);
 
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Signed message with IssuerSerial key identifier:");
-            String outputString =
-                XMLUtils.prettyDocumentToString(signedDoc);
-            LOG.debug(outputString);
-        }
-        LOG.info("After Signing IS....");
+        String outputString = XMLUtils.prettyDocumentToString(signedDoc);
+        LOG.debug(outputString);
+        assertTrue(outputString.contains(WSConstants.RSA_SHA256));
+
         verify(signedDoc);
     }
 
+    @Test
+    public void testX509SignatureSha512() throws Exception {
+        Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG);
+        WSSecHeader secHeader = new WSSecHeader(doc);
+        secHeader.insertSecurityHeader();
+
+        WSSecSignature builder = new WSSecSignature(secHeader);
+        builder.setUserInfo("wss40", "security");
+        builder.setKeyIdentifierType(WSConstants.ISSUER_SERIAL);
+        builder.setSignatureAlgorithm(WSConstants.RSA_SHA512);
+        builder.setDigestAlgo("http://www.w3.org/2001/04/xmlenc#sha256");
+        LOG.info("Before Signing IS....");
+
+        Crypto wssCrypto = CryptoFactory.getInstance("wss40.properties");
+        Document signedDoc = builder.build(wssCrypto);
+
+        String outputString = XMLUtils.prettyDocumentToString(signedDoc);
+        LOG.debug(outputString);
+        assertTrue(outputString.contains(WSConstants.RSA_SHA512));
+
+        LOG.info("After Signing IS....");
+        secEngine.processSecurityHeader(doc, null, null, wssCrypto);
+    }
+
     /**
      * A test for "SignatureAction does not set DigestAlgorithm on WSSecSignature instance"
      */


[ws-wss4j] 01/02: Picking up fixes for SANTUARIO-554

Posted by co...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git

commit 44fc5cee590be79bee4a7eca7e9eacf192d7dc54
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Mon Sep 14 12:11:07 2020 +0100

    Picking up fixes for SANTUARIO-554
---
 .../output/BinarySecurityTokenOutputProcessor.java | 14 ++++++------
 .../output/CustomTokenOutputProcessor.java         | 10 ++++-----
 .../output/DerivedKeyTokenOutputProcessor.java     |  4 ++--
 .../output/EncryptEndingOutputProcessor.java       |  4 ++--
 .../processor/output/EncryptOutputProcessor.java   |  6 ++---
 .../output/EncryptedKeyOutputProcessor.java        | 26 +++++++++++-----------
 .../processor/output/SAMLTokenOutputProcessor.java |  8 +++----
 .../SecurityContextTokenOutputProcessor.java       | 10 ++++-----
 .../output/SecurityHeaderReorderProcessor.java     |  2 +-
 .../SignatureConfirmationOutputProcessor.java      |  4 ++--
 .../processor/output/TimestampOutputProcessor.java |  6 ++---
 .../output/UsernameTokenOutputProcessor.java       | 10 ++++-----
 .../output/WSSSignatureEndingOutputProcessor.java  |  6 ++---
 .../output/WSSSignatureOutputProcessor.java        |  6 ++---
 .../org/apache/wss4j/stax/setup/OutboundWSSec.java |  4 ++--
 15 files changed, 60 insertions(+), 60 deletions(-)

diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/BinarySecurityTokenOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/BinarySecurityTokenOutputProcessor.java
index 8482508..f39efb4 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/BinarySecurityTokenOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/BinarySecurityTokenOutputProcessor.java
@@ -44,7 +44,7 @@ public class BinarySecurityTokenOutputProcessor extends AbstractOutputProcessor
 
     public BinarySecurityTokenOutputProcessor() throws XMLSecurityException {
         super();
-        addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+        addBeforeProcessor(WSSSignatureOutputProcessor.class);
     }
 
     @Override
@@ -95,7 +95,7 @@ public class BinarySecurityTokenOutputProcessor extends AbstractOutputProcessor
                         new FinalBinarySecurityTokenOutputProcessor(securityToken);
                     finalBinarySecurityTokenOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
                     finalBinarySecurityTokenOutputProcessor.setAction(getAction());
-                    finalBinarySecurityTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+                    finalBinarySecurityTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
                     finalBinarySecurityTokenOutputProcessor.init(outputProcessorChain);
                     securityToken.setProcessor(finalBinarySecurityTokenOutputProcessor);
                 } else if (WSSConstants.SAML_TOKEN_SIGNED.equals(action) && includeToken
@@ -105,7 +105,7 @@ public class BinarySecurityTokenOutputProcessor extends AbstractOutputProcessor
                         new FinalBinarySecurityTokenOutputProcessor(securityToken);
                     finalBinarySecurityTokenOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
                     finalBinarySecurityTokenOutputProcessor.setAction(getAction());
-                    finalBinarySecurityTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+                    finalBinarySecurityTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
                     finalBinarySecurityTokenOutputProcessor.init(outputProcessorChain);
                     securityToken.setProcessor(finalBinarySecurityTokenOutputProcessor);
                 } else if (WSSConstants.ENCRYPTION.equals(action)
@@ -116,7 +116,7 @@ public class BinarySecurityTokenOutputProcessor extends AbstractOutputProcessor
                         new FinalBinarySecurityTokenOutputProcessor(securityToken);
                     finalBinarySecurityTokenOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
                     finalBinarySecurityTokenOutputProcessor.setAction(getAction());
-                    finalBinarySecurityTokenOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    finalBinarySecurityTokenOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
                     finalBinarySecurityTokenOutputProcessor.init(outputProcessorChain);
                     securityToken.setProcessor(finalBinarySecurityTokenOutputProcessor);
                 } else if (WSSConstants.ENCRYPTION_WITH_KERBEROS_TOKEN.equals(getAction())
@@ -126,8 +126,8 @@ public class BinarySecurityTokenOutputProcessor extends AbstractOutputProcessor
                         new FinalBinarySecurityTokenOutputProcessor(securityToken);
                     finalBinarySecurityTokenOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
                     finalBinarySecurityTokenOutputProcessor.setAction(getAction());
-                    finalBinarySecurityTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
-                    finalBinarySecurityTokenOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    finalBinarySecurityTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
+                    finalBinarySecurityTokenOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
                     finalBinarySecurityTokenOutputProcessor.init(outputProcessorChain);
                     securityToken.setProcessor(finalBinarySecurityTokenOutputProcessor);
                 }
@@ -144,7 +144,7 @@ public class BinarySecurityTokenOutputProcessor extends AbstractOutputProcessor
 
         FinalBinarySecurityTokenOutputProcessor(OutboundSecurityToken securityToken) throws XMLSecurityException {
             super();
-            this.addAfterProcessor(BinarySecurityTokenOutputProcessor.class.getName());
+            this.addAfterProcessor(BinarySecurityTokenOutputProcessor.class);
             this.securityToken = securityToken;
         }
 
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/CustomTokenOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/CustomTokenOutputProcessor.java
index 5385a86..f630c35 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/CustomTokenOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/CustomTokenOutputProcessor.java
@@ -45,8 +45,8 @@ public class CustomTokenOutputProcessor extends AbstractOutputProcessor {
 
     public CustomTokenOutputProcessor() throws XMLSecurityException {
         super();
-        addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
-        addBeforeProcessor(EncryptedKeyOutputProcessor.class.getName());
+        addBeforeProcessor(WSSSignatureOutputProcessor.class);
+        addBeforeProcessor(EncryptedKeyOutputProcessor.class);
     }
 
     @Override
@@ -71,8 +71,8 @@ public class CustomTokenOutputProcessor extends AbstractOutputProcessor {
                 new FinalUnknownTokenOutputProcessor(customToken);
             outputProcessor.setXMLSecurityProperties(getSecurityProperties());
             outputProcessor.setAction(getAction());
-            outputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
-            outputProcessor.addBeforeProcessor(EncryptedKeyOutputProcessor.class.getName());
+            outputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
+            outputProcessor.addBeforeProcessor(EncryptedKeyOutputProcessor.class);
             outputProcessor.init(outputProcessorChain);
         } finally {
             outputProcessorChain.removeProcessor(this);
@@ -86,7 +86,7 @@ public class CustomTokenOutputProcessor extends AbstractOutputProcessor {
 
         FinalUnknownTokenOutputProcessor(Element token) throws XMLSecurityException {
             super();
-            this.addAfterProcessor(CustomTokenOutputProcessor.class.getName());
+            this.addAfterProcessor(CustomTokenOutputProcessor.class);
             this.token = token;
         }
 
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java
index 200c475..2657ba3 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java
@@ -184,9 +184,9 @@ public class DerivedKeyTokenOutputProcessor extends AbstractOutputProcessor {
             finalDerivedKeyTokenOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
             finalDerivedKeyTokenOutputProcessor.setAction(getAction());
             if (wrappingSecurityToken.getProcessor() != null) {
-                finalDerivedKeyTokenOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor());
+                finalDerivedKeyTokenOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor().getClass());
             } else {
-                finalDerivedKeyTokenOutputProcessor.addAfterProcessor(ReferenceListOutputProcessor.class.getName());
+                finalDerivedKeyTokenOutputProcessor.addAfterProcessor(ReferenceListOutputProcessor.class);
             }
             finalDerivedKeyTokenOutputProcessor.init(outputProcessorChain);
             derivedKeySecurityToken.setProcessor(finalDerivedKeyTokenOutputProcessor);
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptEndingOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptEndingOutputProcessor.java
index df1960d..eaa653f 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptEndingOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptEndingOutputProcessor.java
@@ -43,8 +43,8 @@ public class EncryptEndingOutputProcessor extends AbstractEncryptEndingOutputPro
 
     public EncryptEndingOutputProcessor() throws XMLSecurityException {
         super();
-        this.addAfterProcessor(EncryptOutputProcessor.class.getName());
-        this.addAfterProcessor(UsernameTokenOutputProcessor.class.getName());
+        this.addAfterProcessor(EncryptOutputProcessor.class);
+        this.addAfterProcessor(UsernameTokenOutputProcessor.class);
     }
 
     @Override
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptOutputProcessor.java
index d33a500..b3fe485 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptOutputProcessor.java
@@ -311,9 +311,9 @@ public class EncryptOutputProcessor extends AbstractEncryptOutputProcessor {
                 throws XMLSecurityException, XMLStreamException {
 
             super(encryptionPartDef, xmlSecStartElement, encoding);
-            this.addBeforeProcessor(EncryptEndingOutputProcessor.class.getName());
-            this.addBeforeProcessor(InternalEncryptionOutputProcessor.class.getName());
-            this.addAfterProcessor(EncryptOutputProcessor.class.getName());
+            this.addBeforeProcessor(EncryptEndingOutputProcessor.class);
+            this.addBeforeProcessor(InternalEncryptionOutputProcessor.class);
+            this.addAfterProcessor(EncryptOutputProcessor.class);
             this.securityToken = securityToken;
         }
 
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java
index ce59ede..3b5c66f 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java
@@ -113,43 +113,43 @@ public class EncryptedKeyOutputProcessor extends AbstractOutputProcessor {
             XMLSecurityConstants.Action action = getAction();
             if (WSSConstants.ENCRYPTION.equals(action)) {
                 if (wrappingSecurityToken.getProcessor() != null) {
-                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor());
+                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor().getClass());
                     finalEncryptedKeyOutputProcessor.init(outputProcessorChain);
                 } else if (sharedToken) {
-                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
 
                     //hint for the headerReordering processor where to place the EncryptedKey
                     if (getSecurityProperties().getActions().indexOf(WSSConstants.ENCRYPTION)
                         < getSecurityProperties().getActions().indexOf(WSSConstants.SIGNATURE)) {
-                        finalEncryptedKeyOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+                        finalEncryptedKeyOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
                         finalEncryptedKeyOutputProcessor.setAction(WSSConstants.SIGNATURE);
                     }
                     finalEncryptedKeyOutputProcessor.setOutputReferenceList(false);
                     finalEncryptedKeyOutputProcessor.init(outputProcessorChain);
 
                     ReferenceListOutputProcessor referenceListOutputProcessor = new ReferenceListOutputProcessor();
-                    referenceListOutputProcessor.addBeforeProcessor(finalEncryptedKeyOutputProcessor);
+                    referenceListOutputProcessor.addBeforeProcessor(finalEncryptedKeyOutputProcessor.getClass());
                     referenceListOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
                     referenceListOutputProcessor.setAction(getAction());
                     referenceListOutputProcessor.init(outputProcessorChain);
                 } else {
-                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
                     finalEncryptedKeyOutputProcessor.init(outputProcessorChain);
                 }
             } else if (WSSConstants.SIGNATURE_WITH_DERIVED_KEY.equals(action)) {
                 if (wrappingSecurityToken.getProcessor() != null) {
-                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor());
+                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor().getClass());
                 } else {
-                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
                 }
                 finalEncryptedKeyOutputProcessor.init(outputProcessorChain);
             } else if (WSSConstants.ENCRYPTION_WITH_DERIVED_KEY.equals(action)) {
                 if (wrappingSecurityToken.getProcessor() != null) {
-                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor());
+                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor().getClass());
                     finalEncryptedKeyOutputProcessor.init(outputProcessorChain);
                 } else if (sharedToken) {
-                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
-                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    finalEncryptedKeyOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
+                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
 
                     //hint for the headerReordering processor where to place the EncryptedKey
                     if (getSecurityProperties().getActions().indexOf(WSSConstants.ENCRYPTION_WITH_DERIVED_KEY)
@@ -159,11 +159,11 @@ public class EncryptedKeyOutputProcessor extends AbstractOutputProcessor {
                     finalEncryptedKeyOutputProcessor.setOutputReferenceList(false);
                     finalEncryptedKeyOutputProcessor.init(outputProcessorChain);
                 } else {
-                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    finalEncryptedKeyOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
                     finalEncryptedKeyOutputProcessor.init(outputProcessorChain);
                 }
                 ReferenceListOutputProcessor referenceListOutputProcessor = new ReferenceListOutputProcessor();
-                referenceListOutputProcessor.addBeforeProcessor(finalEncryptedKeyOutputProcessor);
+                referenceListOutputProcessor.addBeforeProcessor(finalEncryptedKeyOutputProcessor.getClass());
                 referenceListOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
                 referenceListOutputProcessor.setAction(getAction());
                 referenceListOutputProcessor.init(outputProcessorChain);
@@ -187,7 +187,7 @@ public class EncryptedKeyOutputProcessor extends AbstractOutputProcessor {
 
         FinalEncryptedKeyOutputProcessor(OutboundSecurityToken securityToken) throws XMLSecurityException {
             super();
-            this.addAfterProcessor(FinalEncryptedKeyOutputProcessor.class.getName());
+            this.addAfterProcessor(FinalEncryptedKeyOutputProcessor.class);
             this.securityToken = securityToken;
         }
 
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java
index 0145e92..ccc3d86 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java
@@ -70,7 +70,7 @@ public class SAMLTokenOutputProcessor extends AbstractOutputProcessor {
 
     public SAMLTokenOutputProcessor() throws XMLSecurityException {
         super();
-        addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+        addBeforeProcessor(WSSSignatureOutputProcessor.class);
     }
 
     @Override
@@ -198,7 +198,7 @@ public class SAMLTokenOutputProcessor extends AbstractOutputProcessor {
                                                                                   securityTokenReferenceId, senderVouches,
                                                                                   includeSTR);
                 if (includeSTR) {
-                    finalSAMLTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+                    finalSAMLTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
                 }
             } else {
                 finalSAMLTokenOutputProcessor = new FinalSAMLTokenOutputProcessor(null, samlAssertionWrapper,
@@ -432,8 +432,8 @@ public class SAMLTokenOutputProcessor extends AbstractOutputProcessor {
                                       String securityTokenReferenceId, boolean senderVouches,
                                       boolean includeSTR) throws XMLSecurityException {
             super();
-            this.addAfterProcessor(UsernameTokenOutputProcessor.class.getName());
-            this.addAfterProcessor(SAMLTokenOutputProcessor.class.getName());
+            this.addAfterProcessor(UsernameTokenOutputProcessor.class);
+            this.addAfterProcessor(SAMLTokenOutputProcessor.class);
             this.samlAssertionWrapper = samlAssertionWrapper;
             this.securityTokenReferenceId = securityTokenReferenceId;
             this.senderVouches = senderVouches;
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityContextTokenOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityContextTokenOutputProcessor.java
index 4769a17..7df5123 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityContextTokenOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityContextTokenOutputProcessor.java
@@ -113,17 +113,17 @@ public class SecurityContextTokenOutputProcessor extends AbstractOutputProcessor
             if (WSSConstants.SIGNATURE_WITH_DERIVED_KEY.equals(action)) {
                 outputProcessorChain.getSecurityContext().put(WSSConstants.PROP_USE_THIS_TOKEN_ID_FOR_DERIVED_KEY, wsuId);
                 if (wrappingSecurityToken.getProcessor() != null) {
-                    finalSecurityContextTokenOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor());
+                    finalSecurityContextTokenOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor().getClass());
                 } else {
-                    finalSecurityContextTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
+                    finalSecurityContextTokenOutputProcessor.addBeforeProcessor(WSSSignatureOutputProcessor.class);
                 }
             } else if (WSSConstants.ENCRYPTION_WITH_DERIVED_KEY.equals(action)) {
                 outputProcessorChain.getSecurityContext().put(WSSConstants.PROP_USE_THIS_TOKEN_ID_FOR_DERIVED_KEY, wsuId);
                 if (wrappingSecurityToken.getProcessor() != null) {
-                    finalSecurityContextTokenOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor());
+                    finalSecurityContextTokenOutputProcessor.addBeforeProcessor(wrappingSecurityToken.getProcessor().getClass());
                 } else {
-                    finalSecurityContextTokenOutputProcessor.addAfterProcessor(ReferenceListOutputProcessor.class.getName());
-                    finalSecurityContextTokenOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    finalSecurityContextTokenOutputProcessor.addAfterProcessor(ReferenceListOutputProcessor.class);
+                    finalSecurityContextTokenOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
                 }
             }
 
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityHeaderReorderProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityHeaderReorderProcessor.java
index afa82bc..a0fd0cb 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityHeaderReorderProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SecurityHeaderReorderProcessor.java
@@ -62,7 +62,7 @@ public class SecurityHeaderReorderProcessor extends AbstractOutputProcessor {
     public SecurityHeaderReorderProcessor() throws XMLSecurityException {
         super();
         setPhase(XMLSecurityConstants.Phase.POSTPROCESSING);
-        addBeforeProcessor(FinalOutputProcessor.class.getName());
+        addBeforeProcessor(FinalOutputProcessor.class);
     }
 
     @Override
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SignatureConfirmationOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SignatureConfirmationOutputProcessor.java
index 89d9c31..0e75cad 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SignatureConfirmationOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SignatureConfirmationOutputProcessor.java
@@ -42,8 +42,8 @@ public class SignatureConfirmationOutputProcessor extends AbstractOutputProcesso
 
     public SignatureConfirmationOutputProcessor() throws XMLSecurityException {
         super();
-        addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
-        addBeforeProcessor(EncryptOutputProcessor.class.getName());
+        addBeforeProcessor(WSSSignatureOutputProcessor.class);
+        addBeforeProcessor(EncryptOutputProcessor.class);
     }
 
     @Override
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/TimestampOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/TimestampOutputProcessor.java
index abd67db..2caf8cc 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/TimestampOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/TimestampOutputProcessor.java
@@ -38,9 +38,9 @@ public class TimestampOutputProcessor extends AbstractOutputProcessor {
 
     public TimestampOutputProcessor() throws XMLSecurityException {
         super();
-        addAfterProcessor(UsernameTokenOutputProcessor.class.getName());
-        addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
-        addBeforeProcessor(EncryptOutputProcessor.class.getName());
+        addAfterProcessor(UsernameTokenOutputProcessor.class);
+        addBeforeProcessor(WSSSignatureOutputProcessor.class);
+        addBeforeProcessor(EncryptOutputProcessor.class);
     }
 
     /*
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/UsernameTokenOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/UsernameTokenOutputProcessor.java
index 9b6f36a..dd2da02 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/UsernameTokenOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/UsernameTokenOutputProcessor.java
@@ -48,9 +48,9 @@ public class UsernameTokenOutputProcessor extends AbstractOutputProcessor {
 
     public UsernameTokenOutputProcessor() throws XMLSecurityException {
         super();
-        addAfterProcessor(TimestampOutputProcessor.class.getName());
-        addBeforeProcessor(WSSSignatureOutputProcessor.class.getName());
-        addBeforeProcessor(EncryptOutputProcessor.class.getName());
+        addAfterProcessor(TimestampOutputProcessor.class);
+        addBeforeProcessor(WSSSignatureOutputProcessor.class);
+        addBeforeProcessor(EncryptOutputProcessor.class);
     }
 
     @Override
@@ -162,8 +162,8 @@ public class UsernameTokenOutputProcessor extends AbstractOutputProcessor {
                                           int iterations, XMLSecurityConstants.Action action)
                 throws XMLSecurityException {
             super();
-            this.addAfterProcessor(UsernameTokenOutputProcessor.class.getName());
-            this.addAfterProcessor(UsernameTokenOutputProcessor.class.getName());
+            this.addAfterProcessor(UsernameTokenOutputProcessor.class);
+            this.addAfterProcessor(UsernameTokenOutputProcessor.class);
             this.wsuId = wsuId;
             this.nonceValue = nonceValue;
             this.password = password;
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java
index 9e1180d..8da2188 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java
@@ -50,8 +50,8 @@ public class WSSSignatureEndingOutputProcessor extends AbstractSignatureEndingOu
 
     public WSSSignatureEndingOutputProcessor(WSSSignatureOutputProcessor signatureOutputProcessor) throws XMLSecurityException {
         super(signatureOutputProcessor);
-        this.addAfterProcessor(WSSSignatureOutputProcessor.class.getName());
-        this.addAfterProcessor(UsernameTokenOutputProcessor.class.getName());
+        this.addAfterProcessor(WSSSignatureOutputProcessor.class);
+        this.addAfterProcessor(UsernameTokenOutputProcessor.class);
     }
 
     @Override
@@ -67,7 +67,7 @@ public class WSSSignatureEndingOutputProcessor extends AbstractSignatureEndingOu
         this.signedInfoProcessor = new SignedInfoProcessor(signatureAlgorithm, signatureId, xmlSecStartElement);
         this.signedInfoProcessor.setXMLSecurityProperties(getSecurityProperties());
         this.signedInfoProcessor.setAction(getAction());
-        this.signedInfoProcessor.addAfterProcessor(WSSSignatureEndingOutputProcessor.class.getName());
+        this.signedInfoProcessor.addAfterProcessor(WSSSignatureEndingOutputProcessor.class);
         this.signedInfoProcessor.init(outputProcessorChain);
         return this.signedInfoProcessor;
     }
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java
index 2da5fa4..1c27c80 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java
@@ -130,8 +130,8 @@ public class WSSSignatureOutputProcessor extends AbstractSignatureOutputProcesso
                             new InternalWSSSignatureOutputProcessor(signaturePartDef, xmlSecStartElement);
                     internalSignatureOutputProcessor.setXMLSecurityProperties(getSecurityProperties());
                     internalSignatureOutputProcessor.setAction(getAction());
-                    internalSignatureOutputProcessor.addAfterProcessor(WSSSignatureOutputProcessor.class.getName());
-                    internalSignatureOutputProcessor.addBeforeProcessor(WSSSignatureEndingOutputProcessor.class.getName());
+                    internalSignatureOutputProcessor.addAfterProcessor(WSSSignatureOutputProcessor.class);
+                    internalSignatureOutputProcessor.addBeforeProcessor(WSSSignatureEndingOutputProcessor.class);
                     internalSignatureOutputProcessor.init(outputProcessorChain);
 
                     setActiveInternalSignatureOutputProcessor(internalSignatureOutputProcessor);
@@ -294,7 +294,7 @@ public class WSSSignatureOutputProcessor extends AbstractSignatureOutputProcesso
         InternalWSSSignatureOutputProcessor(SignaturePartDef signaturePartDef, XMLSecStartElement xmlSecStartElement)
             throws XMLSecurityException {
             super(signaturePartDef, xmlSecStartElement);
-            this.addBeforeProcessor(InternalWSSSignatureOutputProcessor.class.getName());
+            this.addBeforeProcessor(InternalWSSSignatureOutputProcessor.class);
         }
     }
 }
diff --git a/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/OutboundWSSec.java b/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/OutboundWSSec.java
index 27d84ec..a19cbac 100644
--- a/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/OutboundWSSec.java
+++ b/ws-security-stax/src/main/java/org/apache/wss4j/stax/setup/OutboundWSSec.java
@@ -619,7 +619,7 @@ public class OutboundWSSec {
 
                 if (encryptedKeyOutputProcessor == null) {
                     final ReferenceListOutputProcessor referenceListOutputProcessor = new ReferenceListOutputProcessor();
-                    referenceListOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    referenceListOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
                     initializeOutputProcessor(outputProcessorChain, referenceListOutputProcessor, action);
                 }
 
@@ -689,7 +689,7 @@ public class OutboundWSSec {
 
                 if (encryptedKeyOutputProcessor == null) {
                     final ReferenceListOutputProcessor referenceListOutputProcessor = new ReferenceListOutputProcessor();
-                    referenceListOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class.getName());
+                    referenceListOutputProcessor.addAfterProcessor(EncryptEndingOutputProcessor.class);
                     initializeOutputProcessor(outputProcessorChain, referenceListOutputProcessor, action);
                 }
             } else if (WSSConstants.SAML_TOKEN_SIGNED.equals(action)) {