Andreas Pokrzywinski created WSS-563:
----------------------------------------

             Summary: Cannot decrypt non XML conform attachements
                 Key: WSS-563
                 URL: https://issues.apache.org/jira/browse/WSS-563
             Project: WSS4J
          Issue Type: Bug
          Components: WSS4J Core
    Affects Versions: 2.1.3
            Reporter: Andreas Pokrzywinski
            Assignee: Colm O hEigeartaigh


Problem description see:
http://cxf.547215.n5.nabble.com/WSS-Client-soap-fault-namespace-problem-td5761485.html

My not very good solution in the class:
org.apache.wss4j.dom.util.EncryptionUtils.decryptXopAttachment(SecretKey, 
String, RequestData, String, Element)

{code}
Document document = null;
                try {
                        document = db.parse(byteArrayInputStream);
                } catch (SAXParseException e) {

                        if (e.getMessage() == null || 
!e.getMessage().contains("soap:Fault")) {
                                throw e;
                        }
                        // add envelope namespace to root document (soap:Fault) 
as string
                        byteArrayInputStream = new ByteArrayInputStream(input);
                        String docStr = new String(input);
                        docStr = docStr.replace("<soap:Fault",
                                        "<soap:Fault 
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"";);

                        // Try to parse again.
                        document = db.parse(new 
ByteArrayInputStream(docStr.getBytes()));
                }

                Node decryptedNode = 
encData.getOwnerDocument().importNode(document.getDocumentElement(), true);
                encData.getParentNode().appendChild(decryptedNode);
                
org.apache.xml.security.utils.XMLUtils.repoolDocumentBuilder(db);
                encData.getParentNode().removeChild(encData);

                return decryptedNode;
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to