28 lines
847 B
Java
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();
|
|
}
|
|
}
|