aboutsummaryrefslogtreecommitdiff
path: root/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java
diff options
context:
space:
mode:
Diffstat (limited to 'spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java')
-rw-r--r--spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java163
1 files changed, 0 insertions, 163 deletions
diff --git a/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java b/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java
deleted file mode 100644
index ad7ecb6b6..000000000
--- a/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package at.gv.egovernment.moa.spss.handbook.clients.webservice;
-
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.security.Security;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.rpc.Call;
-import javax.xml.rpc.Service;
-import javax.xml.rpc.ServiceFactory;
-
-import org.apache.axis.message.SOAPBodyElement;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
-import org.w3c.dom.Document;
-
-import com.sun.net.ssl.internal.ssl.Provider;
-
-/**
- * Diese Klasse implementiert einen einfachen Client für das MOA SP/SS Webservice mittels Apache Axis. Die
- * Verbindung erfolgt gesichert über SSL, und zwar sowohl mit Server- und Clientauthentisierung.
- */
-public class HTTPSClientAuth
-{
- // Zugangspunkt für Signaturerstellung (SS)
- private static final QName SERVICE_QNAME_ = new QName("SignatureCreation");
- private static final String SECURE_ENDPOINT_ = "https://localhost:8443/moa-spss/services/SignatureCreation";
-
- // Zugangspunkt für Signaturprüfung (SP)
-// private static final QName SERVICE_QNAME_ = new QName("SignatureVerification");
-// private static final String SECURE_ENDPOINT_ = "https://localhost:8443/moa-spss/services/SignatureVerification";
-
- // Datei mit dem zu sendenden XML-Request
- private static final String XML_REQUEST_FILENAME_ =
- "clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml";
-// "clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml";
-// "clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml";
-// "clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml";
-// "clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml";
-// "clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml";
-// "clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml";
-// "clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml";
-// "clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml";
-// "clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml";
-// "clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml";
-
- // SSL Konstanten
- public static final String HANDLER = "java.protocol.handler.pkgs";
-
- public static final String KEYSTORE = "javax.net.ssl.keyStore";
- public static final String KEYSTOREPASSWORD = "javax.net.ssl.keyStorePassword";
- public static final String KEYSTORETYPE = "javax.net.ssl.keyStoreType";
-
- public static final String TRUSTSTORE = "javax.net.ssl.trustStore";
- public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword";
- public static final String TRUSTSTORETYPE = "javax.net.ssl.trustStoreType";
-
- /**
- * Methode main.
- *
- * Enthält den Beispielcode der nötig ist um von Java aus auf MOA-SPSS zugreifen zu können. Der Zugriff
- * passiert über das AXIS-Framework. Die Verbindung ist eine SSL Verbindung mit Clientauthentisierung.
- *
- * @param args Wird nicht verwendet.
- */
- public static void main(String[] args)
- {
- try
- {
- configureSSL();
-
- // Datei mit Request einlesen
- FileInputStream inputStream = new FileInputStream(XML_REQUEST_FILENAME_);
-
- // Parser/DOMBuilder instanzieren
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- // XML Datei in einen DOM-Baum umwandeln
- Document root_request = builder.parse(inputStream);
-
- // AXIS-Server instanzieren
- Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME_);
-
- // Call öffnen
- Call call = service.createCall();
-
- // Neues BodyElement anlegen und mit dem DOM-Baum füllen
- SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement());
- SOAPBodyElement[] params = new SOAPBodyElement[]
- {
- body
- };
-
- // Call mit Endpoint verknüpfen
- call.setTargetEndpointAddress(SECURE_ENDPOINT_);
-
- // Call auslösen und die Antworten speichern
- System.out.println("Calling ...");
- Vector responses = (Vector) call.invoke(params);
-
- // Erstes BodyElement auslesen
- SOAPBodyElement response = (SOAPBodyElement) responses.get(0);
-
- // Aus der Response den DOM-Baum lesen
- Document root_response = response.getAsDocument();
- System.out.println("Return ...");
-
- // XML-Formatierung konfiguieren
- OutputFormat format = new OutputFormat((Document) root_response);
- format.setLineSeparator("\n");
- format.setIndenting(false);
- format.setPreserveSpace(true);
- format.setOmitXMLDeclaration(false);
- format.setEncoding("UTF-8");
-
- // Ausgabe der Webservice-Antwort auf die Konsole
- XMLSerializer conSerializer = new XMLSerializer(System.out, format);
- conSerializer.serialize(root_response);
-
- // Ausgabe der Webservice-Antwort in Datei
- String responseFile = XML_REQUEST_FILENAME_.substring(0, XML_REQUEST_FILENAME_.lastIndexOf('.'))
- + ".response.xml";
- XMLSerializer fileSerializer = new XMLSerializer(new FileOutputStream(responseFile), format);
- fileSerializer.serialize(root_response);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Konfiguriert JSSE für eine SSL-Verbindung mit Client- und Serverauthentisierung.
- */
- private static void configureSSL()
- {
- // Aktivieren Sie die nächste Zeile für detailliertes Logging des SSL-Verbindungsaufbaus
- // System.setProperty("javax.net.debug", "all");
-
- Security.addProvider(new Provider());
- System.setProperty(HANDLER, "com.sun.net.ssl.internal.www.protocol");
-
- // Konfiguriere Key-Store (enthält privaten Schlüssel und Zertifikat des Clients)
- System.setProperty(KEYSTORETYPE, "PKCS12");
- System.setProperty(KEYSTORE,
- "clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12");
-// "clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12");
- System.setProperty(KEYSTOREPASSWORD, "kunde1");
-// System.setProperty(KEYSTOREPASSWORD, "kunde2");
-
- // Konfiguriere Trust-Store (enthält SSL-Zertifikat des MOA Services, dem vertraut wird)
- System.setProperty(TRUSTSTORETYPE, "JKS");
- System.setProperty(TRUSTSTORE,
- "clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore");
-// "clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore");
- System.setProperty(TRUSTSTOREPASSWORD, "servers");
- }
-} \ No newline at end of file