You must enable the DocumentBuilderFactory to be namespace aware before parsing the document, add this line:

factory.setNamespaceAware(true);

--Sean

Björn-Peter Tietjens wrote:
Hi,

I am encrypting xml using the sample code.

But I have a problem decrypting it.
I have a String representation of the encrypted xml: see below
I want to get a org.w3c.dom.Document representation by parsing that String and then decrypt the Document as in the sample code:

public Document getDocFromString(string data) {
 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 DocumentBuilder builder = factory.newDocumentBuilder();
 Document document = null;
 StringReader sr = new StringReader(data);
 InputSource is = new InputSource(sr);
 document = builder.parse(is);
 return document;
}

For some reason my returned document is always a DeferredDocumetnImpl and at the point where the decrypter gets the encryptedDataElement:

Element encryptedDataElement = (Element) document.getElementsByTagNameNS(EncryptionConstants.EncryptionSpecNS,EncryptionConstants._TAG_ENCRYPTEDDATA).item(0);

the NodeList returned by getElementsByTagNameNS() is always empty.

Does anyone have anyidea why that could be?

the encrypted xml:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"; Type="http://www.w3.org/2001/04/xmlenc#Element";> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"; xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"/>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-tripledes"; xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"/>
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
<xenc:CipherValue xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>7o7fVsLQUcvrZnxY1OI5N/1knMyeaiuFI3Qke4SNTpc=</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
<xenc:CipherValue xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>2PXqMwpgeDscrfdYFu+5J5mVSjFPHHlOzUwTwByyTsxoQa7W5Jv3GpOyezRRHYH53dX4xUmypcuA TOSsghGmodw3AOD1NS/k4OSia9lv8/Wc1jEua6LBz6H3Hhw78yB2Xjg0AW2OziyPRZ3q+5HHKWcY d1iRK8xmx/IFD12Gg2KPO49xuHW5OVvw40WpBUbHpwgevZ1Ua5jYljNPzVyGuFODPAJFdAmoaQbm pWZi/L00rQRTKMbPRtDStt5KJU3DEO/8RIUc5poeDTezELt84flXxuxe0iF7HX552aenyH2InHz1 uoTWhOqTELh/R5XdgO5fXRanHh3bezwIjRIUza3v6WpQzoWhVTTphDMQgz66nvzE9F2TgZ2OGgrR ZKL/Nk7/E9x09OpUQZuJCCxehXawWrU3Mb3Y59pTC6zkLr49XaaZBz5uIGmQ+zlIgWaADIrW7Q6D
1K9veazsle70uA==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>


  • decrypting Björn-Peter Tietjens
    • Re: decrypting Sean Mullan

Reply via email to