Package org.apache.xml.security.test.utils

Source Code of org.apache.xml.security.test.utils.OldApiTest$OldTransform

package org.apache.xml.security.test.utils;

import java.io.IOException;
import java.security.PublicKey;
import java.security.cert.X509Certificate;

import javax.crypto.SecretKey;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import junit.framework.TestCase;

import org.apache.xml.security.Init;
import org.apache.xml.security.c14n.CanonicalizationException;
import org.apache.xml.security.c14n.InvalidCanonicalizerException;
import org.apache.xml.security.keys.KeyInfo;
import org.apache.xml.security.keys.keyresolver.KeyResolver;
import org.apache.xml.security.keys.keyresolver.KeyResolverException;
import org.apache.xml.security.keys.keyresolver.KeyResolverSpi;
import org.apache.xml.security.keys.storage.StorageResolver;
import org.apache.xml.security.signature.XMLSignatureInput;
import org.apache.xml.security.transforms.Transform;
import org.apache.xml.security.transforms.TransformSpi;
import org.apache.xml.security.transforms.TransformationException;
import org.apache.xml.security.utils.resolver.ResourceResolver;
import org.apache.xml.security.utils.resolver.ResourceResolverException;
import org.apache.xml.security.utils.resolver.ResourceResolverSpi;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

public class OldApiTest extends TestCase {
 
  public static class OldTransform extends TransformSpi {
    static Transform compare;
    protected XMLSignatureInput enginePerformTransform(
            XMLSignatureInput input)
               throws IOException,
                      CanonicalizationException, InvalidCanonicalizerException,
                      TransformationException, ParserConfigurationException,
                      SAXException {
      assertEquals(compare,_transformObject);
         return null ;
       }

    protected String engineGetURI() {
      // TODO Auto-generated method stub
      return null;
    };
  };
  public void testOldTransformSpiApi() throws Exception {
    Init.init();
    Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
    Transform.register("old", OldTransform.class.getName());

    Transform a=new Transform(doc,"old",null);
    OldTransform.compare=a;
    a.performTransform(null);
  };
 
  public static class OldResourceResolverSpi extends ResourceResolverSpi {
    Attr uriCompare;
    String baseCompare;
    public boolean engineCanResolve(Attr uri, String BaseURI) {
      if (uri.getValue().indexOf("!!!test=")!=0) {
        return false;
      }
      uriCompare=uri;
      baseCompare=BaseURI;
      return true;
    }

    public XMLSignatureInput engineResolve(Attr uri, String BaseURI) throws ResourceResolverException {
      assertEquals(uriCompare, uri);
      assertEquals(baseCompare,BaseURI);
      return null;
    }
   
  };
  public void testOldResourceResolverSpi() throws Exception {
    Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();   
    Attr uri=doc.createAttribute("id");
    uri.setNodeValue("!!!test=1");
    ((Element)doc.createElement("test")).setAttributeNode(uri);
    Attr uri1=doc.createAttribute("id");
    uri1.setNodeValue("!!!test=2");
    doc.createElement("test1").setAttributeNode(uri1);
    ResourceResolver.registerAtStart(OldResourceResolverSpi.class.getName());
    ResourceResolver resolver=ResourceResolver.getInstance(uri, "test");
    ResourceResolver resolver1=ResourceResolver.getInstance(uri1, "test1");
    ResourceResolver resolver2=ResourceResolver.getInstance(uri1, "test2");
   
    resolver2.resolve(uri1, "test2");   
    resolver.resolve(uri, "test");
    resolver1.resolve(uri1, "test1");
   
   
  };
  static class PublicKeyMock implements PublicKey {

       public String getAlgorithm() {
         // TODO Auto-generated method stub
         return null;
       }

       public byte[] getEncoded() {
         // TODO Auto-generated method stub
         return null;
       }

       public String getFormat() {
         // TODO Auto-generated method stub
         return null;
       }          
     };     
  static public class OldKeyResolverSpi extends KeyResolverSpi {
    static int number=0;
    PublicKey pk=null;
    public OldKeyResolverSpi() {
      number++;
    };
    public boolean engineCanResolve(Element element, String BaseURI,
                                                  StorageResolver storage) {
         if ("!!!testUri".equals(BaseURI))
           return true;
         return false;
    }
       public PublicKey engineResolvePublicKey(
          Element element, String BaseURI, StorageResolver storage)
             throws KeyResolverException {
         if (pk==null)
           pk=new PublicKeyMock();
         return pk;
        };
      
      
        public X509Certificate engineResolveX509Certificate(
           Element element, String BaseURI, StorageResolver storage)
             throws KeyResolverException{
            return null;
        };

        public SecretKey engineResolveSecretKey(
           Element element, String BaseURI, StorageResolver storage)
              throws KeyResolverException{
          return null;
        };
  };
 
  public void testOldKeyResolverSpi() throws Exception{
    KeyResolver.register(OldKeyResolverSpi.class.getName());
    Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();       
    Element el=((Element)doc.createElement("test"));
    PublicKey pk=KeyResolver.getPublicKey(el, "!!!testUri", null);
    assertNotNull(pk);
    assertTrue(pk instanceof PublicKeyMock);
    assertEquals(2, OldKeyResolverSpi.number);
    PublicKey pk1=KeyResolver.getPublicKey(el, "!!!testUri", null);
    assertNotSame(pk,pk1);
    assertEquals(3, OldKeyResolverSpi.number);
  }
  static public class OldKeyResolverNoPublicConsSpi extends OldKeyResolverSpi {
    protected OldKeyResolverNoPublicConsSpi() {   
    };
    public OldKeyResolverNoPublicConsSpi(PublicKey pk) {
      this.pk=pk;
    }
  };
 

  public void testOldKeyResolverSpiInKeyInfo() throws Exception{
    Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
    Element el=(Element)doc.createElementNS("http://www.w3.org/2000/09/xmldsig#","KeyInfo");
    el.appendChild((Element)doc.createElementNS("http://www.w3.org/2000/09/xmldsig#","KeyInfo"));
    KeyInfo ki=new KeyInfo(el,"!!!testUri");
    PublicKey pk=new PublicKeyMock();
    ki.registerInternalKeyResolver(new OldKeyResolverNoPublicConsSpi(pk));
    assertNotNull(ki.getPublicKey());
   
  }
}
TOP

Related Classes of org.apache.xml.security.test.utils.OldApiTest$OldTransform

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.