51 lines
2.5 KiB
Java
51 lines
2.5 KiB
Java
package org.jivesoftware.smackx.ikey.element;
|
|
|
|
import org.apache.xml.security.Init;
|
|
import org.apache.xml.security.c14n.CanonicalizationException;
|
|
import org.apache.xml.security.c14n.Canonicalizer;
|
|
import org.apache.xml.security.c14n.InvalidCanonicalizerException;
|
|
import org.apache.xml.security.parser.XMLParserException;
|
|
import org.jivesoftware.smackx.ikey.XmlSecElementCanonicalizer;
|
|
import org.junit.BeforeClass;
|
|
import org.junit.Ignore;
|
|
import org.junit.Test;
|
|
|
|
import java.io.IOException;
|
|
|
|
import static junit.framework.TestCase.assertEquals;
|
|
|
|
public class XmlSecElementCanonicalizerTest {
|
|
|
|
@BeforeClass
|
|
public static void initialize() {
|
|
if (!Init.isInitialized()) {
|
|
Init.init();
|
|
}
|
|
}
|
|
|
|
@Test
|
|
@Ignore
|
|
public void test() throws InvalidCanonicalizerException, XMLParserException, IOException, CanonicalizationException {
|
|
XmlSecElementCanonicalizer canonicalizer = new XmlSecElementCanonicalizer(Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N11_OMIT_COMMENTS));
|
|
String element = "<ikey xmlns='urn:xmpp:ikey:0' type='OX'><subordinates jid='alice@wonderland.lit'>" +
|
|
"<sub uri='xmpp:alice@wonderland.lit?;node=urn:xmpp:openpgp:0:public-keys:34669E842617A0D38A96016B359160D0B0868569;item=2020-01-21T10:46:21Z' fpr='34669E842617A0D38A96016B359160D0B0868569'/>" +
|
|
"</subordinates>" +
|
|
"<proof>iF4EABMIAAYFAl9I3esACgkQNZFg0LCGhWntNAD+LDO/Q+WQ5TrQOt4vBcqnUarCOZ6Ev4Wp4QgsIjs2BHcA/2BOIC6FBqkx80zB8NZsZu4H1fvn+gWgrscXhgf9+f+h</proof>" +
|
|
"</ikey>";
|
|
String elementWithInsignificantWhitespace = "" +
|
|
"<ikey xmlns='urn:xmpp:ikey:0'" +
|
|
" type='OX'>" +
|
|
" <subordinates jid='alice@wonderland.lit'>" +
|
|
" <sub uri=\"xmpp:alice@wonderland.lit?;node=urn:xmpp:openpgp:0:public-keys:34669E842617A0D38A96016B359160D0B0868569;item=2020-01-21T10:46:21Z\"\n" +
|
|
" fpr='34669E842617A0D38A96016B359160D0B0868569'/>" +
|
|
" </subordinates>" +
|
|
" <proof>" +
|
|
" iF4EABMIAAYFAl9I3esACgkQNZFg0LCGhWntNAD+LDO/Q+WQ5TrQOt4vBcqnUarCOZ6Ev4Wp4QgsIjs2BHcA/2BOIC6FBqkx80zB8NZsZu4H1fvn+gWgrscXhgf9+f+h" +
|
|
" </proof>" +
|
|
"</ikey>";
|
|
String can1 = new String(canonicalizer.canonicalize(element));
|
|
String can2 = new String(canonicalizer.canonicalize(elementWithInsignificantWhitespace));
|
|
assertEquals(can1, can2);
|
|
}
|
|
}
|