Mercury-IM/domain/src/test/java/org/jivesoftware/smackx/ikey/element/XmlSecElementCanonicalizerT...

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