package org.jivesoftware.smackx.ikey; import org.apache.xml.security.c14n.CanonicalizationException; import org.apache.xml.security.c14n.Canonicalizer; import org.apache.xml.security.parser.XMLParserException; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.inject.Inject; public class XmlSecElementCanonicalizer implements ElementCanonicalizer { private final Canonicalizer canonicalizer; @Inject public XmlSecElementCanonicalizer(Canonicalizer canonicalizer) { this.canonicalizer = canonicalizer; } @Override public byte[] canonicalize(byte[] xml) throws XMLParserException, IOException, CanonicalizationException { ByteArrayOutputStream out = new ByteArrayOutputStream(); canonicalizer.canonicalize(xml, out, true); return out.toByteArray(); } }