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

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


The following commit(s) were added to refs/heads/coheigea/saml-refactor-new by 
this push:
     new d9760b974 Moving WSSecSignature back to DOM module
d9760b974 is described below

commit d9760b97419bf0d765293804e74173a14bf6d359
Author: Colm O hEigeartaigh <[email protected]>
AuthorDate: Wed Jul 9 08:07:06 2025 +0100

    Moving WSSecSignature back to DOM module
---
 .../integration/test/kerberos/KerberosTest.java    |   2 +-
 .../java/org/apache/wss4j/api/dom/WSConstants.java |  10 +-
 .../wss4j/api/dom/message/WSSecSignatureBase.java  | 252 ++++++++++++++++++
 .../apache/wss4j/dom/action/SignatureAction.java   |   2 +-
 .../dom/action/UsernameTokenSignedAction.java      |   2 +-
 .../apache/wss4j}/dom/message/WSSecSignature.java  | 284 ++-------------------
 .../components/crypto/CertificateStoreTest.java    |   2 +-
 .../dom/components/crypto/CryptoProviderTest.java  |   2 +-
 .../wss4j/dom/components/crypto/CryptoTest.java    |   2 +-
 .../dom/handler/CustomActionProcessorTest.java     |   2 +-
 .../apache/wss4j/dom/message/AttachmentTest.java   |   2 +-
 .../apache/wss4j/dom/message/CertErrorTest.java    |   2 +-
 .../wss4j/dom/message/ModifiedRequestTest.java     |   2 +-
 .../dom/message/NoSoapPrefixSignatureTest.java     |   2 +-
 .../wss4j/dom/message/PasswordEncryptorTest.java   |   2 +-
 .../org/apache/wss4j/dom/message/ReplayTest.java   |   2 +-
 .../RequireSignedEncryptedDataElementsTest.java    |   2 +-
 .../apache/wss4j/dom/message/SKISignatureTest.java |   2 +-
 .../apache/wss4j/dom/message/STRSignatureTest.java |   2 +-
 .../dom/message/SecurityContextTokenTest.java      |   2 +-
 .../apache/wss4j/dom/message/SignatureAKITest.java |   2 +-
 .../dom/message/SignatureAlgorithmSuiteTest.java   |   2 +-
 .../apache/wss4j/dom/message/SignatureCRLTest.java |   2 +-
 .../dom/message/SignatureCertConstraintsTest.java  |   2 +-
 .../wss4j/dom/message/SignatureCertTest.java       |   2 +-
 .../wss4j/dom/message/SignatureEncryptionTest.java |   2 +-
 .../SignatureIssuerCertConstraintsTest.java        |   2 +-
 .../wss4j/dom/message/SignatureKeyValueTest.java   |   2 +-
 .../wss4j/dom/message/SignaturePartsTest.java      |   2 +-
 .../wss4j/dom/message/SignaturePrefixListTest.java |   2 +-
 .../wss4j/dom/message/SignatureProviderTest.java   |   2 +-
 .../apache/wss4j/dom/message/SignatureTest.java    |   2 +-
 .../wss4j/dom/message/SignatureWSS651Test.java     |   2 +-
 .../apache/wss4j/dom/message/SignedBSTTest.java    |   2 +-
 .../wss4j/dom/message/SymmetricSignatureTest.java  |   2 +-
 .../apache/wss4j/dom/message/UTSignatureTest.java  |   2 +-
 .../wss4j/dom/message/XOPAttachmentTest.java       |   2 +-
 .../wss4j/dom/message/token/BSTKerberosTest.java   |   2 +-
 .../apache/wss4j/dom/validate/ValidatorTest.java   |   2 +-
 .../common/saml/message/WSSecSignatureSAML.java    |   4 +-
 .../saml/dom/SamlTokenCustomSignatureTest.java     |   2 +-
 .../wss4j/common/saml/dom/ValidatorTest.java       |   2 +-
 .../wss4j/stax/test/SecurityContextTokenTest.java  |   2 +-
 .../wss4j/stax/test/SignatureEncryptionTest.java   |   2 +-
 .../org/apache/wss4j/stax/test/SignatureTest.java  |   2 +-
 45 files changed, 320 insertions(+), 312 deletions(-)

diff --git 
a/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java
 
b/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java
index 0c4b94335..640f5c0e1 100644
--- 
a/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java
+++ 
b/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java
@@ -58,7 +58,7 @@ import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.api.dom.message.token.KerberosSecurity;
 import org.apache.wss4j.dom.validate.KerberosTokenValidator;
 import org.apache.wss4j.stax.ext.WSSConstants;
diff --git 
a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/WSConstants.java 
b/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/WSConstants.java
index 85e2151d0..362fa182f 100644
--- 
a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/WSConstants.java
+++ 
b/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/WSConstants.java
@@ -171,7 +171,7 @@ public final class WSConstants extends WSS4JConstants {
 
     /**
      * Sets the {@link
-     * org.apache.wss4j.api.dom.message.WSSecSignature#build(Document, Crypto, 
WSSecHeader)
+     * org.apache.wss4j.dom.message.WSSecSignature#build(Document, Crypto, 
WSSecHeader)
      * } method to send the signing certificate as a 
<code>BinarySecurityToken</code>.
      * <p/>
      * The signing method takes the signing certificate, converts it to a
@@ -191,7 +191,7 @@ public final class WSConstants extends WSS4JConstants {
 
     /**
      * Sets the {@link
-     *org.apache.wss4j.api.dom.message.WSSecSignature#build(Crypto)
+     *org.apache.wss4j.dom.message.WSSecSignature#build(Crypto)
      *} or the {@link
      *org.apache.wss4j.dom.message.WSSecEncrypt#build(Crypto, SecretKey)
      * } method to send the issuer name and the serial number of a certificate 
to
@@ -211,7 +211,7 @@ public final class WSConstants extends WSS4JConstants {
 
     /**
      * Sets the {@link
-     * org.apache.wss4j.api.dom.message.WSSecSignature#build(Document, Crypto, 
WSSecHeader)
+     * org.apache.wss4j.dom.message.WSSecSignature#build(Document, Crypto, 
WSSecHeader)
      * } or the {@link
      * org.apache.wss4j.dom.message.WSSecEncrypt#build(Document, Crypto, 
WSSecHeader)
      * }method to send the certificate used to encrypt the symmetric key.
@@ -231,7 +231,7 @@ public final class WSConstants extends WSS4JConstants {
 
     /**
      * Sets the {@link
-     * org.apache.wss4j.api.dom.message.WSSecSignature#build(Document, Crypto, 
WSSecHeader)
+     * org.apache.wss4j.dom.message.WSSecSignature#build(Document, Crypto, 
WSSecHeader)
      * } method to send a <code>SubjectKeyIdentifier</code> to identify
      * the signing certificate.
      * <p/>
@@ -323,7 +323,7 @@ public final class WSConstants extends WSS4JConstants {
 
 
     /**
-     *Sets the {@link 
org.apache.wss4j.api.dom.message.WSSecSignature#build(Crypto)}
+     *Sets the {@link 
org.apache.wss4j.dom.message.WSSecSignature#build(Crypto)}
      * or the {@link org.apache.wss4j.dom.message.WSSecEncrypt#build(Crypto, 
SecretKey)}
      * method to send the issuer name and the serial number of a certificate 
to the receiver.
      *<p/>
diff --git 
a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/message/WSSecSignatureBase.java
 
b/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/message/WSSecSignatureBase.java
index 4cf1147d4..2294ab0c0 100644
--- 
a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/message/WSSecSignatureBase.java
+++ 
b/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/message/WSSecSignatureBase.java
@@ -21,6 +21,8 @@ package org.apache.wss4j.api.dom.message;
 
 import java.security.InvalidAlgorithmParameterException;
 import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -29,14 +31,19 @@ import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
 import javax.xml.crypto.XMLStructure;
 import javax.xml.crypto.dom.DOMStructure;
+import javax.xml.crypto.dsig.CanonicalizationMethod;
 import javax.xml.crypto.dsig.DigestMethod;
 import javax.xml.crypto.dsig.Transform;
+import javax.xml.crypto.dsig.XMLSignature;
 import javax.xml.crypto.dsig.XMLSignatureFactory;
+import javax.xml.crypto.dsig.keyinfo.KeyInfo;
+import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
 import javax.xml.crypto.dsig.spec.ExcC14NParameterSpec;
 import javax.xml.crypto.dsig.spec.TransformParameterSpec;
 
 import org.apache.wss4j.api.dom.WSEncryptionPart;
 import org.apache.wss4j.api.dom.callback.DOMCallbackLookup;
+import org.apache.wss4j.api.dom.token.SecurityTokenReference;
 import org.apache.wss4j.common.ext.Attachment;
 import org.apache.wss4j.common.ext.AttachmentRequestCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
@@ -59,14 +66,78 @@ public class WSSecSignatureBase extends WSSecBase {
     private static final org.slf4j.Logger LOG =
         org.slf4j.LoggerFactory.getLogger(WSSecSignatureBase.class);
 
+    protected KeyInfo keyInfo;
+    protected XMLSignatureFactory signatureFactory;
+    protected byte[] secretKey;
+    protected String strUri;
+    protected Element bstToken;
+    protected boolean bstAddedToSecurityHeader;
+    protected String certUri;
+    protected String keyInfoUri;
+    protected SecurityTokenReference secRef;
+    protected CanonicalizationMethod c14nMethod;
+    protected XMLSignature sig;
+    protected byte[] signatureValue;
+    protected boolean useCustomSecRef;
+
     private List<Element> clonedElements = new ArrayList<>();
+    private String sigAlgo;
+    private Element customKeyInfoElement;
+    private Provider signatureProvider;
+    private String canonAlgo = WSConstants.C14N_EXCL_OMIT_COMMENTS;
+    private boolean addInclusivePrefixes = true;
+    private String digestAlgo = WSConstants.SHA1;
 
     public WSSecSignatureBase(WSSecHeader securityHeader) {
+        this(securityHeader, null);
+    }
+
+    public WSSecSignatureBase(WSSecHeader securityHeader, Provider provider) {
         super(securityHeader);
+        init(provider);
     }
 
     public WSSecSignatureBase(Document doc) {
+        this(doc, null);
+    }
+
+    public WSSecSignatureBase(Document doc, Provider provider) {
         super(doc);
+        init(provider);
+    }
+
+    private void init(Provider provider) {
+        if (provider == null) {
+            // Try to install the Santuario Provider - fall back to the JDK 
provider if this does
+            // not work
+            try {
+                signatureFactory = XMLSignatureFactory.getInstance("DOM", 
"ApacheXMLDSig");
+            } catch (NoSuchProviderException ex) {
+                signatureFactory = XMLSignatureFactory.getInstance("DOM");
+            }
+        } else {
+            signatureFactory = XMLSignatureFactory.getInstance("DOM", 
provider);
+        }
+    }
+
+    /**
+     * This method adds references to the Signature.
+     *
+     * @param references The list of references to sign
+     * @throws WSSecurityException
+     */
+    public List<javax.xml.crypto.dsig.Reference> addReferencesToSign(
+        List<WSEncryptionPart> references
+    ) throws WSSecurityException {
+        return
+            addReferencesToSign(
+                getDocument(),
+                references,
+                getWsDocInfo(),
+                signatureFactory,
+                addInclusivePrefixes,
+                digestAlgo
+            );
     }
 
     /**
@@ -369,4 +440,185 @@ public class WSSecSignatureBase extends WSSecBase {
             }
         }
     }
+
+    /**
+     * Set the name (uri) of the signature encryption algorithm to use.
+     *
+     * If the algorithm is not set then an automatic detection of the signature
+     * algorithm to use is performed during the <code>prepare()</code>
+     * method. Refer to WSConstants which algorithms are supported.
+     *
+     * @param algo the name of the signature algorithm
+     * @see WSConstants#RSA
+     * @see WSConstants#DSA
+     */
+    public void setSignatureAlgorithm(String algo) {
+        sigAlgo = algo;
+    }
+
+    /**
+     * Get the name (uri) of the signature algorithm that is being used.
+     *
+     * Call this method after <code>prepare</code> to get the information
+     * which signature algorithm was automatically detected if no signature
+     * algorithm was preset.
+     *
+     * @return the identifier URI of the signature algorithm
+     */
+    public String getSignatureAlgorithm() {
+        return sigAlgo;
+    }
+
+     /**
+     * Prepend the BinarySecurityToken to the elements already in the Security
+     * header.
+     *
+     * The method can be called any time after <code>prepare()</code>.
+     * This allows to insert the BST element at any position in the Security
+     * header.
+     */
+    public void prependBSTElementToHeader() {
+        if (bstToken != null && !bstAddedToSecurityHeader) {
+            Element securityHeaderElement = 
getSecurityHeader().getSecurityHeaderElement();
+            XMLUtils.prependChildElement(securityHeaderElement, bstToken);
+            bstAddedToSecurityHeader = true;
+        }
+    }
+
+    /**
+     * Append the BinarySecurityToken to the security header.
+     */
+    public void appendBSTElementToHeader() {
+        if (bstToken != null && !bstAddedToSecurityHeader) {
+            Element securityHeaderElement = 
getSecurityHeader().getSecurityHeaderElement();
+            securityHeaderElement.appendChild(bstToken);
+            bstAddedToSecurityHeader = true;
+        }
+    }
+
+    public void setCustomKeyInfoElement(Element keyInfoElement) {
+        this.customKeyInfoElement = keyInfoElement;
+    }
+
+    public Element getCustomKeyInfoElement() {
+        return customKeyInfoElement;
+    }
+
+    public Provider getSignatureProvider() {
+        return signatureProvider;
+    }
+
+    public void setSignatureProvider(Provider signatureProvider) {
+        this.signatureProvider = signatureProvider;
+    }
+
+
+    /**
+     * Set the canonicalization method to use.
+     *
+     * If the canonicalization method is not set then the recommended Exclusive
+     * XML Canonicalization is used by default. Refer to WSConstants which
+     * algorithms are supported.
+     *
+     * @param algo Is the name of the signature algorithm
+     * @see WSConstants#C14N_OMIT_COMMENTS
+     * @see WSConstants#C14N_WITH_COMMENTS
+     * @see WSConstants#C14N_EXCL_OMIT_COMMENTS
+     * @see WSConstants#C14N_EXCL_WITH_COMMENTS
+     */
+    public void setSigCanonicalization(String algo) {
+        canonAlgo = algo;
+    }
+
+    /**
+     * Get the canonicalization method.
+     *
+     * If the canonicalization method was not set then Exclusive XML
+     * Canonicalization is used by default.
+     *
+     * @return The string describing the canonicalization algorithm.
+     */
+    public String getSigCanonicalization() {
+        return canonAlgo;
+    }
+
+    public boolean isAddInclusivePrefixes() {
+        return addInclusivePrefixes;
+    }
+
+    public void setAddInclusivePrefixes(boolean addInclusivePrefixes) {
+        this.addInclusivePrefixes = addInclusivePrefixes;
+    }
+
+    protected void marshalKeyInfo(WSDocInfo wsDocInfo) throws 
WSSecurityException {
+        List<XMLStructure> kiChildren = null;
+        if (getCustomKeyInfoElement() == null) {
+            XMLStructure structure = new DOMStructure(secRef.getElement());
+            wsDocInfo.addTokenElement(secRef.getElement(), false);
+            kiChildren = Collections.singletonList(structure);
+        } else {
+            Node kiChild = getCustomKeyInfoElement().getFirstChild();
+            kiChildren = new ArrayList<>();
+            while (kiChild != null) {
+                kiChildren.add(new DOMStructure(kiChild));
+                kiChild = kiChild.getNextSibling();
+            }
+        }
+
+        KeyInfoFactory keyInfoFactory = signatureFactory.getKeyInfoFactory();
+        keyInfo = keyInfoFactory.newKeyInfo(kiChildren, keyInfoUri);
+    }
+
+    /**
+     * Get the SecurityTokenReference to be used in the KeyInfo element.
+     */
+    public SecurityTokenReference getSecurityTokenReference() {
+        return secRef;
+    }
+
+    /**
+     * Set the SecurityTokenReference to be used in the KeyInfo element. If 
this
+     * method is not called, a SecurityTokenRefence will be generated.
+     */
+    public void setSecurityTokenReference(SecurityTokenReference secRef) {
+        useCustomSecRef = true;
+        this.secRef = secRef;
+    }
+
+    /**
+     * @return the digest algorithm to use
+     */
+    public String getDigestAlgo() {
+        return digestAlgo;
+    }
+
+    /**
+     * Set the string that defines which digest algorithm to use.
+     * The default is WSConstants.SHA1.
+     *
+     * @param digestAlgo the digestAlgo to set
+     */
+    public void setDigestAlgo(String digestAlgo) {
+        this.digestAlgo = digestAlgo;
+    }
+
+    /**
+     * Returns the computed Signature value.
+     *
+     * Call this method after <code>computeSignature()</code> or 
<code>build()</code>
+     * methods were called.
+     *
+     * @return Returns the signatureValue.
+     */
+    public byte[] getSignatureValue() {
+        return signatureValue;
+    }
+
+    /**
+     * Set the secret key to use
+     * @param secretKey the secret key to use
+     */
+    public void setSecretKey(byte[] secretKey) {
+        this.secretKey = secretKey;
+    }
 }
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/SignatureAction.java
 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/SignatureAction.java
index 43c8eab9b..e23f83a3d 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/SignatureAction.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/SignatureAction.java
@@ -33,7 +33,7 @@ import org.apache.wss4j.api.dom.WSConstants;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.api.dom.action.Action;
 import org.apache.wss4j.api.dom.action.ActionUtils;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/UsernameTokenSignedAction.java
 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/UsernameTokenSignedAction.java
index c1e68d520..484ae421f 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/UsernameTokenSignedAction.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/action/UsernameTokenSignedAction.java
@@ -36,7 +36,7 @@ import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.api.dom.action.Action;
 import org.apache.wss4j.api.dom.action.ActionUtils;
 import org.apache.wss4j.dom.message.WSSecUsernameToken;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
 import org.w3c.dom.Document;
 
diff --git 
a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/message/WSSecSignature.java
 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java
similarity index 76%
rename from 
ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/message/WSSecSignature.java
rename to 
ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java
index 2bfcbf931..4f3468ec3 100644
--- 
a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/message/WSSecSignature.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java
@@ -17,27 +17,19 @@
  * under the License.
  */
 
-package org.apache.wss4j.api.dom.message;
+package org.apache.wss4j.dom.message;
 
-import java.security.NoSuchProviderException;
 import java.security.Provider;
 import java.security.PublicKey;
 import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import javax.xml.crypto.XMLStructure;
-import javax.xml.crypto.dom.DOMStructure;
-import javax.xml.crypto.dsig.CanonicalizationMethod;
 import javax.xml.crypto.dsig.SignatureMethod;
 import javax.xml.crypto.dsig.SignedInfo;
 import javax.xml.crypto.dsig.XMLSignContext;
-import javax.xml.crypto.dsig.XMLSignature;
-import javax.xml.crypto.dsig.XMLSignatureFactory;
 import javax.xml.crypto.dsig.dom.DOMSignContext;
-import javax.xml.crypto.dsig.keyinfo.KeyInfo;
 import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
 import javax.xml.crypto.dsig.keyinfo.KeyValue;
 import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
@@ -61,6 +53,8 @@ import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.api.dom.WSConstants;
 import org.apache.wss4j.api.dom.WSDocInfo;
+import org.apache.wss4j.api.dom.message.WSSecHeader;
+import org.apache.wss4j.api.dom.message.WSSecSignatureBase;
 import org.apache.wss4j.api.dom.message.token.KerberosSecurity;
 import org.apache.wss4j.api.dom.transform.STRTransform;
 import org.w3c.dom.Document;
@@ -83,41 +77,20 @@ public class WSSecSignature extends WSSecSignatureBase {
     private static final org.slf4j.Logger LOG =
         org.slf4j.LoggerFactory.getLogger(WSSecSignature.class);
 
-    protected XMLSignatureFactory signatureFactory;
-    protected KeyInfo keyInfo;
-    protected CanonicalizationMethod c14nMethod;
-    protected XMLSignature sig;
-    protected byte[] secretKey;
-    protected String strUri;
-    protected Element bstToken;
-    protected String keyInfoUri;
-    protected String certUri;
-    protected byte[] signatureValue;
-
     private boolean useSingleCert = true;
-    private String sigAlgo;
-    private String canonAlgo = WSConstants.C14N_EXCL_OMIT_COMMENTS;
-    private SecurityTokenReference secRef;
     private String customTokenValueType;
     private String customTokenId;
     private String encrKeySha1value;
     private Crypto crypto;
-    private String digestAlgo = WSConstants.SHA1;
     private X509Certificate useThisCert;
-    private boolean useCustomSecRef;
-    private boolean bstAddedToSecurityHeader;
     private boolean includeSignatureToken;
-    private boolean addInclusivePrefixes = true;
-    private Element customKeyInfoElement;
-    private Provider signatureProvider;
 
     public WSSecSignature(WSSecHeader securityHeader) {
         this(securityHeader, null);
     }
 
     public WSSecSignature(WSSecHeader securityHeader, Provider provider) {
-        super(securityHeader);
-        init(provider);
+        super(securityHeader, provider);
     }
 
     public WSSecSignature(Document doc) {
@@ -125,22 +98,7 @@ public class WSSecSignature extends WSSecSignatureBase {
     }
 
     public WSSecSignature(Document doc, Provider provider) {
-        super(doc);
-        init(provider);
-    }
-
-    private void init(Provider provider) {
-        if (provider == null) {
-            // Try to install the Santuario Provider - fall back to the JDK 
provider if this does
-            // not work
-            try {
-                signatureFactory = XMLSignatureFactory.getInstance("DOM", 
"ApacheXMLDSig");
-            } catch (NoSuchProviderException ex) {
-                signatureFactory = XMLSignatureFactory.getInstance("DOM");
-            }
-        } else {
-            signatureFactory = XMLSignatureFactory.getInstance("DOM", 
provider);
-        }
+        super(doc, provider);
     }
 
     /**
@@ -177,14 +135,14 @@ public class WSSecSignature extends WSSecSignatureBase {
 
         try {
             C14NMethodParameterSpec c14nSpec = null;
-            if (addInclusivePrefixes && 
canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
+            if (isAddInclusivePrefixes() && 
getSigCanonicalization().equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
                 Element securityHeaderElement = 
getSecurityHeader().getSecurityHeaderElement();
                 List<String> prefixes =
                     getInclusivePrefixes(securityHeaderElement, false);
                 c14nSpec = new ExcC14NParameterSpec(prefixes);
             }
 
-           c14nMethod = signatureFactory.newCanonicalizationMethod(canonAlgo, 
c14nSpec);
+           c14nMethod = 
signatureFactory.newCanonicalizationMethod(getSigCanonicalization(), c14nSpec);
         } catch (Exception ex) {
             LOG.error("", ex);
             throw new WSSecurityException(
@@ -193,7 +151,7 @@ public class WSSecSignature extends WSSecSignatureBase {
         }
 
         keyInfoUri = getIdAllocator().createSecureId("KI-", keyInfo);
-        if (!useCustomSecRef && customKeyInfoElement == null) {
+        if (!useCustomSecRef && getCustomKeyInfoElement() == null) {
             secRef = new SecurityTokenReference(getDocument());
             strUri = getIdAllocator().createSecureId("STR-", secRef);
             secRef.addWSSENamespace();
@@ -358,25 +316,6 @@ public class WSSecSignature extends WSSecSignatureBase {
         }
     }
 
-    protected void marshalKeyInfo(WSDocInfo wsDocInfo) throws 
WSSecurityException {
-        List<XMLStructure> kiChildren = null;
-        if (customKeyInfoElement == null) {
-            XMLStructure structure = new DOMStructure(secRef.getElement());
-            wsDocInfo.addTokenElement(secRef.getElement(), false);
-            kiChildren = Collections.singletonList(structure);
-        } else {
-            Node kiChild = customKeyInfoElement.getFirstChild();
-            kiChildren = new ArrayList<>();
-            while (kiChild != null) {
-                kiChildren.add(new DOMStructure(kiChild));
-                kiChild = kiChild.getNextSibling();
-            }
-        }
-
-        KeyInfoFactory keyInfoFactory = signatureFactory.getKeyInfoFactory();
-        keyInfo = keyInfoFactory.newKeyInfo(kiChildren, keyInfoUri);
-    }
-
     /**
      * Builds a signed soap envelope.
      *
@@ -426,27 +365,6 @@ public class WSSecSignature extends WSSecSignatureBase {
         return getDocument();
     }
 
-
-    /**
-     * This method adds references to the Signature.
-     *
-     * @param references The list of references to sign
-     * @throws WSSecurityException
-     */
-    public List<javax.xml.crypto.dsig.Reference> addReferencesToSign(
-        List<WSEncryptionPart> references
-    ) throws WSSecurityException {
-        return
-            addReferencesToSign(
-                getDocument(),
-                references,
-                getWsDocInfo(),
-                signatureFactory,
-                addInclusivePrefixes,
-                digestAlgo
-            );
-    }
-
     /**
      * Returns the SignatureElement.
      * The method can be called any time after <code>prepare()</code>.
@@ -512,33 +430,6 @@ public class WSSecSignature extends WSSecSignatureBase {
         bstAddedToSecurityHeader = false;
     }
 
-    /**
-     * Prepend the BinarySecurityToken to the elements already in the Security
-     * header.
-     *
-     * The method can be called any time after <code>prepare()</code>.
-     * This allows to insert the BST element at any position in the Security
-     * header.
-     */
-    public void prependBSTElementToHeader() {
-        if (bstToken != null && !bstAddedToSecurityHeader) {
-            Element securityHeaderElement = 
getSecurityHeader().getSecurityHeaderElement();
-            XMLUtils.prependChildElement(securityHeaderElement, bstToken);
-            bstAddedToSecurityHeader = true;
-        }
-    }
-
-    /**
-     * Append the BinarySecurityToken to the security header.
-     */
-    public void appendBSTElementToHeader() {
-        if (bstToken != null && !bstAddedToSecurityHeader) {
-            Element securityHeaderElement = 
getSecurityHeader().getSecurityHeaderElement();
-            securityHeaderElement.appendChild(bstToken);
-            bstAddedToSecurityHeader = true;
-        }
-    }
-
     /**
      * Compute the Signature over the references. The signature element will be
      * prepended to the security header.
@@ -578,10 +469,10 @@ public class WSSecSignature extends WSSecSignatureBase {
             if (secretKey == null) {
                 key = crypto.getPrivateKey(user, password);
             } else {
-                key = KeyUtils.prepareSecretKey(sigAlgo, secretKey);
+                key = KeyUtils.prepareSecretKey(getSignatureAlgorithm(), 
secretKey);
             }
             SignatureMethod signatureMethod =
-                signatureFactory.newSignatureMethod(sigAlgo, null);
+                signatureFactory.newSignatureMethod(getSignatureAlgorithm(), 
null);
             SignedInfo signedInfo =
                 signatureFactory.newSignedInfo(c14nMethod, signatureMethod, 
referenceList);
 
@@ -613,12 +504,12 @@ public class WSSecSignature extends WSSecSignatureBase {
             } else {
                 signContext = new DOMSignContext(key, securityHeaderElement);
             }
-            if (signatureProvider != null) {
-                
signContext.setProperty("org.jcp.xml.dsig.internal.dom.SignatureProvider", 
signatureProvider);
+            if (getSignatureProvider() != null) {
+                
signContext.setProperty("org.jcp.xml.dsig.internal.dom.SignatureProvider", 
getSignatureProvider());
             }
 
             signContext.putNamespacePrefix(WSConstants.SIG_NS, 
WSConstants.SIG_PREFIX);
-            if (WSConstants.C14N_EXCL_OMIT_COMMENTS.equals(canonAlgo)) {
+            if 
(WSConstants.C14N_EXCL_OMIT_COMMENTS.equals(getSigCanonicalization())) {
                 signContext.putNamespacePrefix(
                     WSConstants.C14N_EXCL_OMIT_COMMENTS,
                     WSConstants.C14N_EXCL_OMIT_COMMENTS_PREFIX
@@ -660,93 +551,6 @@ public class WSSecSignature extends WSSecSignatureBase {
         return useSingleCert;
     }
 
-    /**
-     * Set the name (uri) of the signature encryption algorithm to use.
-     *
-     * If the algorithm is not set then an automatic detection of the signature
-     * algorithm to use is performed during the <code>prepare()</code>
-     * method. Refer to WSConstants which algorithms are supported.
-     *
-     * @param algo the name of the signature algorithm
-     * @see WSConstants#RSA
-     * @see WSConstants#DSA
-     */
-    public void setSignatureAlgorithm(String algo) {
-        sigAlgo = algo;
-    }
-
-    /**
-     * Get the name (uri) of the signature algorithm that is being used.
-     *
-     * Call this method after <code>prepare</code> to get the information
-     * which signature algorithm was automatically detected if no signature
-     * algorithm was preset.
-     *
-     * @return the identifier URI of the signature algorithm
-     */
-    public String getSignatureAlgorithm() {
-        return sigAlgo;
-    }
-
-    /**
-     * Set the canonicalization method to use.
-     *
-     * If the canonicalization method is not set then the recommended Exclusive
-     * XML Canonicalization is used by default. Refer to WSConstants which
-     * algorithms are supported.
-     *
-     * @param algo Is the name of the signature algorithm
-     * @see WSConstants#C14N_OMIT_COMMENTS
-     * @see WSConstants#C14N_WITH_COMMENTS
-     * @see WSConstants#C14N_EXCL_OMIT_COMMENTS
-     * @see WSConstants#C14N_EXCL_WITH_COMMENTS
-     */
-    public void setSigCanonicalization(String algo) {
-        canonAlgo = algo;
-    }
-
-    /**
-     * Get the canonicalization method.
-     *
-     * If the canonicalization method was not set then Exclusive XML
-     * Canonicalization is used by default.
-     *
-     * @return The string describing the canonicalization algorithm.
-     */
-    public String getSigCanonicalization() {
-        return canonAlgo;
-    }
-
-    /**
-     * @return the digest algorithm to use
-     */
-    public String getDigestAlgo() {
-        return digestAlgo;
-    }
-
-    /**
-     * Set the string that defines which digest algorithm to use.
-     * The default is WSConstants.SHA1.
-     *
-     * @param digestAlgo the digestAlgo to set
-     */
-    public void setDigestAlgo(String digestAlgo) {
-        this.digestAlgo = digestAlgo;
-    }
-
-
-    /**
-     * Returns the computed Signature value.
-     *
-     * Call this method after <code>computeSignature()</code> or 
<code>build()</code>
-     * methods were called.
-     *
-     * @return Returns the signatureValue.
-     */
-    public byte[] getSignatureValue() {
-        return signatureValue;
-    }
-
     /**
      * Get the id generated during <code>prepare()</code>.
      *
@@ -775,14 +579,6 @@ public class WSSecSignature extends WSSecSignatureBase {
         return bstToken.getAttributeNS(WSS4JConstants.WSU_NS, "Id");
     }
 
-    /**
-     * Set the secret key to use
-     * @param secretKey the secret key to use
-     */
-    public void setSecretKey(byte[] secretKey) {
-        this.secretKey = secretKey;
-    }
-
     /**
      * Set the custom token value type to use
      * @param customTokenValueType the custom token value type to use
@@ -836,22 +632,6 @@ public class WSSecSignature extends WSSecSignatureBase {
         return strUri;
     }
 
-    /**
-     * Get the SecurityTokenReference to be used in the KeyInfo element.
-     */
-    public SecurityTokenReference getSecurityTokenReference() {
-        return secRef;
-    }
-
-    /**
-     * Set the SecurityTokenReference to be used in the KeyInfo element. If 
this
-     * method is not called, a SecurityTokenRefence will be generated.
-     */
-    public void setSecurityTokenReference(SecurityTokenReference secRef) {
-        useCustomSecRef = true;
-        this.secRef = secRef;
-    }
-
     /**
      * Set up the X509 Certificate(s) for signing.
      */
@@ -882,21 +662,21 @@ public class WSSecSignature extends WSSecSignatureBase {
             // If no signature algorithm was set try to detect it according to 
the
             // data stored in the certificate.
             //
-            if (sigAlgo == null) {
+            if (getSignatureAlgorithm() == null) {
                 String pubKeyAlgo = certs[0].getPublicKey().getAlgorithm();
                 LOG.debug("Automatic signature algorithm detection: {}", 
pubKeyAlgo);
                 if (pubKeyAlgo.equalsIgnoreCase("DSA")) {
-                    sigAlgo = WSConstants.DSA;
+                    setSignatureAlgorithm(WSConstants.DSA);
                 } else if (pubKeyAlgo.equalsIgnoreCase("RSA")) {
-                    sigAlgo = WSConstants.RSA;
+                    setSignatureAlgorithm(WSConstants.RSA);
                 } else if (pubKeyAlgo.equalsIgnoreCase("EC")) {
-                    sigAlgo = WSConstants.ECDSA_SHA256;
+                    setSignatureAlgorithm(WSConstants.ECDSA_SHA256);
                 } else if (pubKeyAlgo.equalsIgnoreCase("Ed25519")) {
-                    sigAlgo = WSConstants.ED25519;
+                    setSignatureAlgorithm(WSConstants.ED25519);
                 } else if (pubKeyAlgo.equalsIgnoreCase("ED448")) {
-                    sigAlgo = WSConstants.ED448;
+                    setSignatureAlgorithm(WSConstants.ED448);
                 } else if (pubKeyAlgo.equalsIgnoreCase("EdDSA")) {
-                    sigAlgo = 
getSigAlgorithmForEdDSAKey(certs[0].getPublicKey());
+                    
setSignatureAlgorithm(getSigAlgorithmForEdDSAKey(certs[0].getPublicKey()));
                 } else {
                     throw new WSSecurityException(
                         WSSecurityException.ErrorCode.FAILURE,
@@ -961,30 +741,6 @@ public class WSSecSignature extends WSSecSignatureBase {
         this.includeSignatureToken = includeSignatureToken;
     }
 
-    public boolean isAddInclusivePrefixes() {
-        return addInclusivePrefixes;
-    }
-
-    public void setAddInclusivePrefixes(boolean addInclusivePrefixes) {
-        this.addInclusivePrefixes = addInclusivePrefixes;
-    }
-
-    public void setCustomKeyInfoElement(Element keyInfoElement) {
-        this.customKeyInfoElement = keyInfoElement;
-    }
-
-    public Element getCustomKeyInfoElement() {
-        return customKeyInfoElement;
-    }
-
-    public Provider getSignatureProvider() {
-        return signatureProvider;
-    }
-
-    public void setSignatureProvider(Provider signatureProvider) {
-        this.signatureProvider = signatureProvider;
-    }
-
     public String getKeyInfoUri() {
         return keyInfoUri;
     }
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CertificateStoreTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CertificateStoreTest.java
index 40ae6eada..0282f7217 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CertificateStoreTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CertificateStoreTest.java
@@ -36,7 +36,7 @@ import org.apache.wss4j.common.crypto.CryptoType;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 
 import org.junit.jupiter.api.Test;
 import org.w3c.dom.Document;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java
index 08dee4419..dfb192468 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java
@@ -31,7 +31,7 @@ import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 
 import org.junit.jupiter.api.Test;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoTest.java
index 5330a51dd..d3ae74cca 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoTest.java
@@ -35,7 +35,7 @@ import org.apache.wss4j.common.crypto.Merlin;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.Loader;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 
 import org.junit.jupiter.api.Test;
 import org.w3c.dom.Document;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CustomActionProcessorTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CustomActionProcessorTest.java
index af5e2b3ce..6c16ae0ac 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CustomActionProcessorTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CustomActionProcessorTest.java
@@ -32,7 +32,7 @@ import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.XMLUtils;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
 
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/AttachmentTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/AttachmentTest.java
index 43e000217..fb1d46c10 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/AttachmentTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/AttachmentTest.java
@@ -42,7 +42,7 @@ import org.apache.wss4j.api.dom.WSEncryptionPart;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.Attachment;
 import org.apache.wss4j.common.ext.AttachmentRequestCallback;
 import org.apache.wss4j.common.ext.AttachmentResultCallback;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/CertErrorTest.java 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/CertErrorTest.java
index 441660dfc..f45d82b4f 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/CertErrorTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/CertErrorTest.java
@@ -27,7 +27,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.junit.jupiter.api.Test;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.w3c.dom.Document;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ModifiedRequestTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ModifiedRequestTest.java
index f36a940e0..e79ba4644 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ModifiedRequestTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ModifiedRequestTest.java
@@ -42,7 +42,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.api.dom.message.SignatureUtils;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/NoSoapPrefixSignatureTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/NoSoapPrefixSignatureTest.java
index 5dbc7d812..f809b91fc 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/NoSoapPrefixSignatureTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/NoSoapPrefixSignatureTest.java
@@ -29,7 +29,7 @@ import org.junit.jupiter.api.Test;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.w3c.dom.Document;
 
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java
index 374b2aa45..39f07b917 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java
@@ -31,7 +31,7 @@ import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.crypto.JasyptPasswordEncryptor;
 import org.apache.wss4j.common.crypto.PasswordEncryptor;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.Loader;
 import org.apache.wss4j.common.util.SOAPUtil;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ReplayTest.java 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ReplayTest.java
index 0de6e6fae..9f354ba63 100644
--- a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ReplayTest.java
+++ b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/ReplayTest.java
@@ -38,7 +38,7 @@ import org.apache.wss4j.common.cache.ReplayCache;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.api.dom.RequestData;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/RequireSignedEncryptedDataElementsTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/RequireSignedEncryptedDataElementsTest.java
index 841029bf6..9a765f8bd 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/RequireSignedEncryptedDataElementsTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/RequireSignedEncryptedDataElementsTest.java
@@ -38,7 +38,7 @@ import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SKISignatureTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SKISignatureTest.java
index e34e60c5c..9c459ae70 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SKISignatureTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SKISignatureTest.java
@@ -26,7 +26,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/STRSignatureTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/STRSignatureTest.java
index bdd0f1764..774ac5bdb 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/STRSignatureTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/STRSignatureTest.java
@@ -31,7 +31,7 @@ import org.apache.wss4j.api.dom.WSEncryptionPart;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.w3c.dom.Document;
 
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SecurityContextTokenTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SecurityContextTokenTest.java
index 81806b19d..e94e57976 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SecurityContextTokenTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SecurityContextTokenTest.java
@@ -28,7 +28,7 @@ import org.apache.wss4j.dom.common.SecretKeyCallbackHandler;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAKITest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAKITest.java
index 42f76542d..ea36a0507 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAKITest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAKITest.java
@@ -35,7 +35,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 
 import org.junit.jupiter.api.Test;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java
index f3d15cb63..9bbe9d9f3 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java
@@ -32,7 +32,7 @@ import org.apache.wss4j.common.crypto.AlgorithmSuite;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.SOAPUtil;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCRLTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCRLTest.java
index 42bbc3dd0..e8dcf8a22 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCRLTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCRLTest.java
@@ -28,7 +28,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.ext.WSSecurityException;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertConstraintsTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertConstraintsTest.java
index 183fc9e8c..77ba6e883 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertConstraintsTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertConstraintsTest.java
@@ -30,7 +30,7 @@ import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.api.dom.RequestData;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertTest.java
index 11838ba64..f08e0d259 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureCertTest.java
@@ -27,7 +27,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.crypto.Merlin;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java
index f327fb3ec..601195034 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java
@@ -29,7 +29,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.HandlerAction;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureIssuerCertConstraintsTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureIssuerCertConstraintsTest.java
index 7726b79b8..f8aec219c 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureIssuerCertConstraintsTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureIssuerCertConstraintsTest.java
@@ -25,7 +25,7 @@ import java.util.regex.Pattern;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.SOAPUtil;
 import org.apache.wss4j.common.util.XMLUtils;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureKeyValueTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureKeyValueTest.java
index bccecd082..7a87c384d 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureKeyValueTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureKeyValueTest.java
@@ -35,7 +35,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePartsTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePartsTest.java
index 4a8aacd60..f456068df 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePartsTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePartsTest.java
@@ -31,7 +31,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.HandlerAction;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePrefixListTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePrefixListTest.java
index 89aecaff7..75193adba 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePrefixListTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignaturePrefixListTest.java
@@ -43,7 +43,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 
 import org.junit.jupiter.api.Test;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureProviderTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureProviderTest.java
index cf7491d4e..f3acdf505 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureProviderTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureProviderTest.java
@@ -33,7 +33,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.str.STRParser.REFERENCE_TYPE;
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 4106fedd0..8aadd1152 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
@@ -53,7 +53,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.handler.HandlerAction;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureWSS651Test.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureWSS651Test.java
index 6131da8c2..8697842a7 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureWSS651Test.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureWSS651Test.java
@@ -25,7 +25,7 @@ import org.apache.wss4j.api.dom.WSEncryptionPart;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.util.SOAPUtil;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.api.dom.WSConstants;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignedBSTTest.java 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignedBSTTest.java
index 7d20e9224..42470e529 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignedBSTTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignedBSTTest.java
@@ -28,7 +28,7 @@ import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.crypto.CryptoType;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.api.dom.token.X509Security;
 import org.apache.wss4j.common.util.SOAPUtil;
 import org.apache.wss4j.common.util.XMLUtils;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java
index cbe34b668..c266f24a7 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java
@@ -40,7 +40,7 @@ import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.WSPasswordCallback;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTSignatureTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTSignatureTest.java
index 4bf81ae11..beb32ac43 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTSignatureTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTSignatureTest.java
@@ -28,7 +28,7 @@ import org.apache.wss4j.api.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.ext.WSSecurityException;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java
index 7005af5f2..868c1a252 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java
@@ -39,7 +39,7 @@ import org.apache.wss4j.common.WSS4JConstants;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.common.ext.Attachment;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.SOAPUtil;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java
index 19cea349e..0cebabca2 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java
@@ -36,7 +36,7 @@ import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
 import org.apache.wss4j.dom.message.WSSecTimestamp;
 import org.apache.wss4j.api.dom.validate.Credential;
diff --git 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/validate/ValidatorTest.java
 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/validate/ValidatorTest.java
index f9f0f7f55..5c11b666d 100644
--- 
a/ws-security-dom/src/test/java/org/apache/wss4j/dom/validate/ValidatorTest.java
+++ 
b/ws-security-dom/src/test/java/org/apache/wss4j/dom/validate/ValidatorTest.java
@@ -37,7 +37,7 @@ import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.dom.message.WSSecTimestamp;
 import org.apache.wss4j.dom.message.WSSecUsernameToken;
 
diff --git 
a/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/message/WSSecSignatureSAML.java
 
b/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/message/WSSecSignatureSAML.java
index ea8f36e0e..b49271066 100644
--- 
a/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/message/WSSecSignatureSAML.java
+++ 
b/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/message/WSSecSignatureSAML.java
@@ -51,12 +51,12 @@ import org.apache.wss4j.api.dom.WSConstants;
 import org.apache.wss4j.api.dom.WSDocInfo;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
 import org.apache.wss4j.api.dom.RequestData;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.api.dom.message.WSSecSignatureBase;
 import org.apache.wss4j.api.dom.transform.STRTransform;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-public class WSSecSignatureSAML extends WSSecSignature {
+public class WSSecSignatureSAML extends WSSecSignatureBase {
 
     private static final org.slf4j.Logger LOG =
         org.slf4j.LoggerFactory.getLogger(WSSecSignatureSAML.class);
diff --git 
a/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/SamlTokenCustomSignatureTest.java
 
b/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/SamlTokenCustomSignatureTest.java
index d9f84c5bb..45907c010 100644
--- 
a/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/SamlTokenCustomSignatureTest.java
+++ 
b/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/SamlTokenCustomSignatureTest.java
@@ -43,7 +43,7 @@ import org.apache.wss4j.api.dom.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 
 import org.junit.jupiter.api.Test;
 import org.w3c.dom.Document;
diff --git 
a/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/ValidatorTest.java
 
b/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/ValidatorTest.java
index 35bdd9bcf..3f77ad08e 100644
--- 
a/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/ValidatorTest.java
+++ 
b/ws-security-saml/src/test/java/org/apache/wss4j/common/saml/dom/ValidatorTest.java
@@ -46,7 +46,7 @@ import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
 import org.apache.wss4j.api.dom.validate.Credential;
 import org.apache.wss4j.api.dom.validate.Validator;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 
 import org.junit.jupiter.api.Test;
 import org.w3c.dom.Document;
diff --git 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SecurityContextTokenTest.java
 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SecurityContextTokenTest.java
index dc811b00a..528473fce 100644
--- 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SecurityContextTokenTest.java
+++ 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SecurityContextTokenTest.java
@@ -46,7 +46,7 @@ import org.apache.wss4j.dom.message.WSSecDKEncrypt;
 import org.apache.wss4j.dom.message.WSSecDKSign;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
 import org.apache.wss4j.dom.message.WSSecSecurityContextToken;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.stax.ext.WSSConstants;
 import org.apache.wss4j.stax.ext.WSSSecurityProperties;
 import org.apache.wss4j.stax.securityEvent.EncryptedPartSecurityEvent;
diff --git 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java
 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java
index b042b688e..3ddc1eb1b 100644
--- 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java
+++ 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java
@@ -44,7 +44,7 @@ import org.apache.wss4j.api.dom.WSConstants;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.stax.ext.WSSConstants;
 import org.apache.wss4j.stax.ext.WSSSecurityProperties;
 import org.apache.wss4j.stax.securityToken.WSSecurityTokenConstants;
diff --git 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureTest.java 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureTest.java
index 20cf11c97..5dc90675a 100644
--- 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureTest.java
+++ 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureTest.java
@@ -52,7 +52,7 @@ import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.api.dom.WSConstants;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.wss4j.api.dom.message.WSSecHeader;
-import org.apache.wss4j.api.dom.message.WSSecSignature;
+import org.apache.wss4j.dom.message.WSSecSignature;
 import org.apache.wss4j.stax.ext.WSSConstants;
 import org.apache.wss4j.stax.ext.WSSSecurityProperties;
 import org.apache.wss4j.stax.securityEvent.OperationSecurityEvent;

Reply via email to