From 667af128d0adfeee2aa4748ab58411c91bc4905f Mon Sep 17 00:00:00 2001 From: mcentner Date: Tue, 26 Jan 2010 16:27:04 +0000 Subject: git-svn-id: https://joinup.ec.europa.eu/svn/mocca/branches/mocca-1.2.11-sha2@600 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../src/test/java/moaspss/MOASPClient.java | 276 --------------------- 1 file changed, 276 deletions(-) delete mode 100644 mocca-1.2.11/bkucommon/src/test/java/moaspss/MOASPClient.java (limited to 'mocca-1.2.11/bkucommon/src/test/java/moaspss/MOASPClient.java') diff --git a/mocca-1.2.11/bkucommon/src/test/java/moaspss/MOASPClient.java b/mocca-1.2.11/bkucommon/src/test/java/moaspss/MOASPClient.java deleted file mode 100644 index ade5b38b..00000000 --- a/mocca-1.2.11/bkucommon/src/test/java/moaspss/MOASPClient.java +++ /dev/null @@ -1,276 +0,0 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package moaspss; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.net.URL; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.SchemaOutputResolver; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.Validator; -import javax.xml.namespace.QName; -import javax.xml.transform.Result; - -import moaspss.generated.ContentOptionalRefType; -import moaspss.generated.InputDataType; -import moaspss.generated.MOAFault; -import moaspss.generated.ObjectFactory; -import moaspss.generated.SignatureVerificationPortType; -import moaspss.generated.SignatureVerificationService; -import moaspss.generated.VerifyXMLSignatureRequestType; -import moaspss.generated.VerifyXMLSignatureResponseType; -import moaspss.generated.VerifyXMLSignatureRequestType.VerifySignatureInfo; - -import org.w3c.dom.Node; -import org.w3c.dom.bootstrap.DOMImplementationRegistry; -import org.w3c.dom.ls.DOMImplementationLS; -import org.w3c.dom.ls.LSOutput; -import org.w3c.dom.ls.LSSerializer; - -import com.sun.xml.bind.api.Bridge; -import com.sun.xml.bind.api.BridgeContext; -import com.sun.xml.bind.api.JAXBRIContext; -import com.sun.xml.bind.api.RawAccessor; -import com.sun.xml.bind.api.TypeReference; -import com.sun.xml.bind.marshaller.NamespacePrefixMapper; -import com.sun.xml.ws.api.model.SEIModel; -import com.sun.xml.ws.developer.JAXBContextFactory; -import com.sun.xml.ws.developer.UsesJAXBContextFeature; - -@SuppressWarnings("deprecation") -public class MOASPClient { - - private static class JAXBContextHolder { - - private static final JAXBContext context; - - static { - try { - context = JAXBRIContext.newInstance(VerifyXMLSignatureRequestType.class.getPackage().getName()); - } catch (JAXBException e) { - throw new RuntimeException("Failed to setup JAXBContext.", e); - } - } - - } - - public static JAXBContext getJAXBContext() { - return JAXBContextHolder.context; - } - - public static class ClientJAXBContextFactory implements JAXBContextFactory { - - @SuppressWarnings("unchecked") - public JAXBRIContext createJAXBContext(final SEIModel sei, - final List classesToBind, final List typeReferences) - throws JAXBException { - - System.out.println("Create Context"); - - return new JAXBRIContext() { - - JAXBRIContext context = JAXBRIContext.newInstance(classesToBind.toArray - (new Class[classesToBind.size()]), - typeReferences, null, sei.getTargetNamespace(), false, null); - - @Override - public Validator createValidator() throws JAXBException { - return context.createValidator(); - } - - @Override - public Unmarshaller createUnmarshaller() throws JAXBException { - return context.createUnmarshaller(); - } - - @Override - public Marshaller createMarshaller() throws JAXBException { - Marshaller marshaller = context.createMarshaller(); - ClientNamespacePrefixMapper pm = new ClientNamespacePrefixMapper(); - System.out.println(pm.toString()); - marshaller.setProperty("com.sun.xml.bind.namespacePrefixMapper", pm); - return marshaller; - } - - @Override - public boolean hasSwaRef() { - return context.hasSwaRef(); - } - - @Override - public QName getTypeName(TypeReference arg0) { - return context.getTypeName(arg0); - } - - @Override - public List getKnownNamespaceURIs() { - return context.getKnownNamespaceURIs(); - } - - @Override - public RawAccessor getElementPropertyAccessor(Class arg0, - String arg1, String arg2) throws JAXBException { - return context.getElementPropertyAccessor(arg0, arg1, arg2); - } - - @Override - public QName getElementName(Object arg0) throws JAXBException { - return context.getElementName(arg0); - } - - @Override - public String getBuildId() { - return context.getBuildId(); - } - - @Override - public void generateSchema(SchemaOutputResolver arg0) throws IOException { - context.generateSchema(arg0); - } - - @Override - public void generateEpisode(Result arg0) { - context.generateEpisode(arg0); - } - - @Override - public BridgeContext createBridgeContext() { - return context.createBridgeContext(); - } - - @Override - public Bridge createBridge(TypeReference arg0) { - return context.createBridge(arg0); - } - }; - - } - - } - - public static class ClientNamespacePrefixMapper extends NamespacePrefixMapper { - - protected static final Map prefixMap = new HashMap(); - - static { - prefixMap.put("http://www.w3.org/2001/XMLSchema-instance", "xsi"); - prefixMap.put("http://reference.e-government.gv.at/namespace/moa/20020822#", "moa"); - prefixMap.put("http://www.w3.org/2000/09/xmldsig#", "dsig"); - prefixMap.put("http://uri.etsi.org/01903/v1.1.1#", "xades"); - } - - - @Override - public String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix) { - - String prefix = prefixMap.get(namespaceUri); - - return (prefix != null) ? prefix : suggestion; - } - - /** - * Returns a list of namespace URIs that should be declared - * at the root element. - *

- * By default, the JAXB RI produces namespace declarations only when - * they are necessary, only at where they are used. Because of this - * lack of look-ahead, sometimes the marshaller produces a lot of - * namespace declarations that look redundant to human eyes. For example, - */ - @Override - public String[] getPreDeclaredNamespaceUris() { - return new String[]{ "http://www.w3.org/2000/09/xmldsig#" }; - } - } - - - private SignatureVerificationPortType port; - - public MOASPClient() { - QName serviceName = new QName("http://reference.e-government.gv.at/namespace/moa/wsdl/20020822#", "SignatureVerificationService"); - - URL wsdlURL = MOASPClient.class.getClassLoader().getResource("MOA-SPSS-1.3.wsdl"); - - SignatureVerificationService service = new SignatureVerificationService(wsdlURL, serviceName); - - UsesJAXBContextFeature feature = new UsesJAXBContextFeature(ClientJAXBContextFactory.class); - - port = service.getSignatureVerificationPort(feature); - } - - public JAXBElement verifySignature(Node node, - String signatureLocation, String trustProfileId) throws JAXBException, - IOException, ClassCastException, ClassNotFoundException, - InstantiationException, IllegalAccessException { - - DOMImplementationLS domImpl = (DOMImplementationLS) DOMImplementationRegistry - .newInstance().getDOMImplementation("LS"); - - LSSerializer serializer = domImpl.createLSSerializer(); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - LSOutput output = domImpl.createLSOutput(); - output.setByteStream(bos); - serializer.write(node, output); - - ObjectFactory factory = new ObjectFactory(); - - ContentOptionalRefType contentOptionalRefType = factory.createContentOptionalRefType(); - contentOptionalRefType.setBase64Content(bos.toByteArray()); - - VerifySignatureInfo verifySignatureInfo = factory.createVerifyXMLSignatureRequestTypeVerifySignatureInfo(); - verifySignatureInfo.setVerifySignatureEnvironment(contentOptionalRefType); - verifySignatureInfo.setVerifySignatureLocation(signatureLocation); - - VerifyXMLSignatureRequestType verifyXMLSignatureRequestType = factory.createVerifyXMLSignatureRequestType(); - verifyXMLSignatureRequestType.setVerifySignatureInfo(verifySignatureInfo); - verifyXMLSignatureRequestType.setTrustProfileID(trustProfileId); - verifyXMLSignatureRequestType.setReturnHashInputData(Boolean.TRUE); - - VerifyXMLSignatureResponseType resp = null; - try { - resp = port.verifyXMLSignature(verifyXMLSignatureRequestType); - } catch (MOAFault e) { - e.printStackTrace(); - } - - JAXBElement verifyXMLSignatureResponse = factory.createVerifyXMLSignatureResponse(resp); - - Marshaller marshaller = getJAXBContext().createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); - marshaller.marshal(verifyXMLSignatureResponse, System.out); - - List hashInputData = resp.getHashInputData(); - for (InputDataType inputDataType : hashInputData) { - System.out.println("------------------------------------------"); - System.out.println("HashInputData: " + inputDataType.getPartOf() + " " + inputDataType.getReferringSigReference()); - System.out.println("------------------------------------------"); - System.out.write(inputDataType.getBase64Content()); - System.out.println(); - } - - return verifyXMLSignatureResponse; - } -} -- cgit v1.2.3