Mercury-IM/domain/src/main/java/org/jivesoftware/smackx/ikey/XmlSecElementCanonicalizer....

28 lines
847 B
Java

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();
}
}