aboutsummaryrefslogtreecommitdiff
path: root/spss/server/serverlib/src/main/java/at/gv
diff options
context:
space:
mode:
Diffstat (limited to 'spss/server/serverlib/src/main/java/at/gv')
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm155
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java242
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java59
3 files changed, 0 insertions, 456 deletions
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm
deleted file mode 100644
index 9b17bbf91..000000000
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-</head>
-<body bgcolor="white">
-
-MOA SP/SS API documentation overview.
-
-
-<h2>Using the MOA SP/SS API</h2>
-
-<h3>Invoking the services</h3>
-In general, invoking the MOA SP/SS API involves the following steps:
-<ol>
-<li>Set the <code>moa.spss.server.configuration</code> system property to point
-to the main MOA SP/SS configuration file. This needs to be done only once per
-JVM instance. You may also call
-{@link at.gv.egovernment.moa.spss.api.Configurator#init} at this point to
-pre-initialize MOA SP/SS (if not, it is done automatically upon service
-invocation).</li>
-<li>Create an instance of the service to be used
-({@link at.gv.egovernment.moa.spss.api.SignatureCreationService} or
-{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService}),
-via its <code>getInstance()</code> method.</li>
-<li>Create an instance of the
-{@link at.gv.egovernment.moa.spss.api.SPSSFactory}, via its
-{@link at.gv.egovernment.moa.spss.api.SPSSFactory#getInstance} method.</li>
-<li>Use the <code>create...</code> methods of the <code>SPSSFactory</code> to
-create the desired {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest},
-{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} or
-{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} object.
-</li>
-<li>Call one of the service methods:
-{@link at.gv.egovernment.moa.spss.api.SignatureCreationService#createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest) <code>createXMLSignature()</code>},
-{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest) <code>verifyCMSSignature()</code>} or
-{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest) <code>verifyXMLSignature()</code>}.
-</li>
-<li>Analyze the result of the service call, given as a
-{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse},
-{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse} or
-{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}.
-In case of an error, a {@link at.gv.egovernment.moa.spss.MOAException}
-is thrown by the service. Please be aware that errors during signature creation
-are reported as part of a <code>CreateXMLSignatureResponse</code>.
-</ol>
-
-<h3>Creating MOA SP/SS API objects</h3>
-<p>
-Invoking the MOA SP/SS API <code>Service</code> classes involves creating
-a <code>Request</code> object using the {@link at.gv.egovernment.moa.spss.api.SPSSFactory SPSSFactory}.
-Object creation using the <code>SPSSFactory</code> is always bottom-up, meaning
-that in order to create an object all of its components must have been created
-before.
-</p>
-<p>
-The names of the MOA SP/SS API classes have been chosen to correspond to the
-MOA SP/SS schema elements. The structure of the classes (i.e., their fields)
-also corresponds to the structure of the respective MOA SP/SS schema elements.
-However, a few classes escape this naming convention, mainly because the
-corresponding schema elements contain <code>xsd:choice</code> components:
-<ul>
-<li>The various <code>Profile</code> classes have subclasses called
-<code>ProfileID</code> and <code>ProfileExplicit</code>
-(e.g., {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileID} and
-{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit}),
-so that the profile can be given either as an ID (which is to be resolved from the
-MOA SP/SS configuration) or explicitly.</li>
-<li>The classes {@link at.gv.egovernment.moa.spss.api.common.Content},
-{@link at.gv.egovernment.moa.spss.api.cmsverify.CMSContent} and
-{@link at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter} have
-subclasses specifying the type of content they actually contain. E.g.,
-{@link at.gv.egovernment.moa.spss.api.common.ContentBinary} will contain
-a byte stream.</li>
-</ul>
-
-</p>
-<p>
-For clarity, the MOA SP/SS API classes have been organized in several packages
-listed in the following table:
-</p>
-
-<table border=1 cellspacing=0 cellpadding=5>
-<tr>
- <td>Package</td><td>Purpose</td>
-</tr>
-<tr>
- <td>{@link at.gv.egovernment.moa.spss.api.xmlsign}</td>
- <td>Components of the {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest} and
- {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse}</td>
-</tr>
-<tr>
- <td>{@link at.gv.egovernment.moa.spss.api.cmsverify}</td>
- <td>Components of the
- {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} and
- {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse}</td>
-</tr>
-<tr>
- <td>{@link at.gv.egovernment.moa.spss.api.xmlverify}</td>
- <td>Components of the
- {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} and
- {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}</td>
-</tr>
-<tr>
- <td>{@link at.gv.egovernment.moa.spss.api.common}</td>
- <td>Common components used across the classes of the above packages</td>
-</tr>
-</table>
-
-<h3>Converting MOA SP/SS API objects to and from DOM trees</h3>
-The package {@link at.gv.egovernment.moa.spss.api.xmlbind} contains helper
-classes to:
-<ul>
-<li>Parse a DOM tree containing a <code>CreateXMLSignatureRequest</code>,
-<code>VerifyCMSSignatureRequest</code> or
-<code>VerifyCMSSignatureRequest</code> into its respective MOA SP/SS API object
-representation. For example, to parse a <code>CreateXMLSignatureRequest</code>
-DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser#parse(org.w3c.dom.Element) CreateXMLSignatureRequestParser.parse()}
-method can be used. <br />
-<b>Note:</b> The DOM tree of the request must be derived from a schema valid
-XML document. Otherwise, unexpected behaviour will almost certainly result.</li>
-<li>Build a <code>CreateXMLSignatureResponse</code>,
-<code>VerifyCMSSignatureResponse</code> or a
-<code>VerifyXMLSignatureResponse</code> DOM tree from the respective MOA SP/SS
-API object. For example, to build a <code>VerifyXMLSignatureResponse</code>
-DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder#build(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse) VerifyXMLSignatureResponseBuilder.build()}
-can be used.<br />
-<b>Note:</b>The serialized DOM tree will be schema valid.
-</li>
-</ul>
-The DOM trees can easily be read from and written to XML byte streams using
-the methods in the {@link at.gv.egovernment.moa.util.DOMUtils} class.
-<br />
-
-<h3>Utilities and Logging</h3>
-<p> The packages {@link at.gv.egovernment.moa.util} and
-{@link at.gv.egovernment.moa.spss.util} contain utility classes developed for
-the MOA SP/SS implementation. Since the classes contained in these packages are
-tailored towards the MOA SP/SS implementation, they are far from being complete
-in the sense of providing a utility class library. Therefore, they may or may
-not prove useful in the context of your application. Their interfaces may also
-change in future releases.
-</p>
-
-<p>The package {@link at.gv.egovernment.moa.logging} contains classes for
-logging messages to the MOA SP/SS log hierarchy via the
-{@link at.gv.egovernment.moa.logging.Logger} class.
-</p>
-
-<h3>Related Documentation</h3>
-
-See also the <a href="../moa_spss/sp-anwendung.htm#API">API example</a> in the
-MOA SP/SS documentation.
-
-</body>
-</html> \ No newline at end of file
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java
deleted file mode 100644
index 9fe17eae2..000000000
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package at.gv.egovernment.moa.spss.server.tools;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.security.cert.CertificateException;
-
-import iaik.asn1.structures.Name;
-import iaik.pki.store.certstore.CertStoreException;
-import iaik.pki.store.certstore.CertStoreTypes;
-import iaik.pki.store.certstore.directory.DirectoryCertStore;
-import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters;
-import iaik.pki.store.certstore.directory.DirectoryStoreException;
-import iaik.security.ecc.provider.ECCProvider;
-import iaik.security.provider.IAIK;
-import iaik.utils.RFC2253NameParserException;
-import iaik.x509.X509Certificate;
-
-/**
- * A tool to support X509 certificate handling for configuring the MOA SP/SS
- * service.
- *
- * This class provides functions for:
- * <ul>
- * <li>printing certificate information</li>
- * <li>adding certificates to the cert store</li>
- * </ul>
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class CertTool {
-
- /** Error message if the DN cannot be parsed according to RFC2253. */
- private static final String ILLEGAL_RFC2253_NAME =
- "Kein gültiger RFC2253-Name";
-
- /**
- * Main entry point of the tool.
- *
- * @param args The command line arguments. A single argument is expected,
- * which is the file name of the X509 certificate to inspect.
- */
- public static void main(String args[]) {
- CertTool certTool = new CertTool();
-
- if (args.length == 2 && "-info".equals(args[0])) {
- initProviders();
- certTool.printCertInfo(args[1], System.out);
- } else if (args.length == 3 && "-add".equals(args[0])) {
- initProviders();
- certTool.addCertToCertStore(args[1], args[2]);
- } else {
- certTool.printUsage(System.err);
- }
- }
-
- /**
- * Init the JCE providers, depending on the JDK used.
- *
- * Adds the IAIK JCE and IAIK ECC providers.
- */
- private static void initProviders() {
- if (System.getProperty("java.version").startsWith("1.3")) {
- IAIK.addAsProvider();
- } else {
- IAIK.addAsJDK14Provider();
- }
- ECCProvider.addAsProvider();
- }
-
- /**
- * Print the information about the certificate.
- *
- * This method will output information about the Subject DN, the Issuer DN and
- * the serial number of the certificate.
- *
- * @param certFile The name of the certificate file to inspect.
- * @param out The stream to print the information to.
- */
- public void printCertInfo(String certFile, PrintStream out) {
- try {
- InputStream is = new BufferedInputStream(new FileInputStream(certFile));
- X509Certificate cert = new X509Certificate(is);
- String issuerDN;
- String serial;
- String subjectDN;
-
- try {
- subjectDN = ((Name) (cert.getSubjectDN())).getRFC2253String();
- } catch (RFC2253NameParserException e) {
- subjectDN = ILLEGAL_RFC2253_NAME;
- }
-
- try {
- issuerDN = ((Name) (cert.getIssuerDN())).getRFC2253String();
- } catch (RFC2253NameParserException e) {
- issuerDN = ILLEGAL_RFC2253_NAME;
- }
-
- serial = cert.getSerialNumber().toString();
-
- out.println("SubjectDN (RFC2253): " + subjectDN);
- out.println("IssuerDN (RFC2253) : " + issuerDN);
- out.println("Serial Number : " + serial);
- } catch (FileNotFoundException e) {
- System.err.println("Zertifikat nicht gefunden: " + certFile);
- } catch (IOException e) {
- System.err.println(
- "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage());
- } catch (CertificateException e) {
- System.err.println(
- "Fehler beim Lesen des Zertifikats: " + e.getMessage());
- } catch (Throwable t) {
- System.err.println("Allgemeiner Fehler: " + t.getMessage());
- }
- }
-
- /**
- * Add a certificate to a directory certificate store.
- *
- * @param certFile The certificate to add.
- * @param certStoreRoot The root directory of the certificate store.
- */
- public void addCertToCertStore(String certFile, String certStoreRoot) {
- try {
- // read the certificate
- InputStream is = new BufferedInputStream(new FileInputStream(certFile));
- X509Certificate cert = new X509Certificate(is);
-
- // initialize the DirectoryCertStore
- DirectoryCertStore certStore =
- new DirectoryCertStore(
- new SimpleDirectoryCertStoreParameters(certStoreRoot),
- null);
-
- certStore.storeCertificate(cert, null);
-
- System.out.println("\nDas Zertifikat wurde erfolreich hinzugefügt.\n");
-
- } catch (FileNotFoundException e) {
- System.err.println("Zertifikat nicht gefunden: " + certFile);
- } catch (IOException e) {
- System.err.println(
- "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage());
- } catch (CertificateException e) {
- System.err.println(
- "Fehler beim Lesen des Zertifikats: " + e.getMessage());
- } catch (DirectoryStoreException e) {
- System.err.println(
- "Fehler beim Öffnen des Zertifikatsspeichers: " + e.getMessage());
- } catch (CertStoreException e) {
- System.err.println(
- "Fehler beim Hinzufügen des Zertifikats: " + e.getMessage());
- } catch (Throwable t) {
- System.err.println("Allgemeiner Fehler: " + t.getMessage());
- t.printStackTrace();
- }
- }
-
- /**
- * Print tool usage.
- *
- * @param out The <code>PrintStream</code> to print to.
- */
- private void printUsage(PrintStream out) {
- out.println("\nCerttool-Syntax:\n");
- out.println("-info <X509 Zertifikatsdatei");
- out.println();
- out.println("-add <X509 Zertifikatsdatei> <Zertifikatsspeicher>");
- out.println("\n");
- }
-
-}
-
-/**
- * Simple implementation of the <code>DirectoryCertStoreParameters</code>
- * interface intelligent enough for setting up a simple
- * <code>DirectoryCertStore</code> in the <code>CertTool</code>.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-class SimpleDirectoryCertStoreParameters
- implements DirectoryCertStoreParameters {
-
- /** The cert store root directory. */
- private String rootDirectory;
-
- /**
- * Create a new <code>SimpleDirectoryCertStoreParameters</code> object.
- *
- * @param rootDirectory The root directory of the cert store.
- */
- public SimpleDirectoryCertStoreParameters(String rootDirectory) {
- this.rootDirectory = rootDirectory;
- }
-
- /**
- * @return <code>&quot;MOA Directory CertStore&quot;</code>
- * @see iaik.pki.store.certstore.CertStoreParameters#getId()
- */
- public String getId() {
- return "MOA Directory CertStore";
- }
-
- /**
- * @return CertStoreTypes.DIRECTORY
- * @see iaik.pki.store.certstore.CertStoreParameters#getType()
- */
- public String getType() {
- return CertStoreTypes.DIRECTORY;
- }
-
- /**
- * @return <code>false</code>
- * @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly()
- */
- public boolean isReadOnly() {
- return false;
- }
-
- /**
- * @return <code>false</code>
- * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#createNew()
- */
- public boolean createNew() {
- return false;
- }
-
- /**
- * @return The root directory given at construction time.
- * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#getRootDirectory()
- */
- public String getRootDirectory() {
- return rootDirectory;
- }
-
-} \ No newline at end of file
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java
deleted file mode 100644
index d5c3b48c1..000000000
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package at.gv.egovernment.moa.spss.server.tools;
-
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-/**
- * A tool for converting a MOA SPSS Version 1.0 configuration file into
- * a Version 1.3 configuration file.
- *
- * @author Gregor Karlinger
- * @version $Id$
- */
-public class ConfigTool
-{
- public static void main(String[] args)
- {
- if (args == null || args.length != 2)
- {
- System.out.println("Usage: ConfigTool <MOA.SPSS.1-0.ConfigFile.xml> <MOA.SPSS.1-3.ConfigFile.xml>");
- System.out.println(" <MOA.SPSS.1-0.ConfigFile.xml> ... Old config file to be transformed");
- System.out.println(" <MOA.SPSS.1-3.ConfigFile.xml> ... New config file resulting from the transform");
- System.exit(-1);
- }
-
- try
- {
- TransformerFactory tFactory = TransformerFactory.newInstance();
- Transformer transformer = tFactory.newTransformer(new StreamSource(
- ConfigTool.class.getResourceAsStream("/resources/tools/ConfigurationMapper.xsl")));
- transformer.transform(new StreamSource(args[0]), new StreamResult(new FileOutputStream(args[1])));
-
- System.out.println("Successfully mapped configuration file.");
- }
- catch (TransformerConfigurationException e)
- {
- System.err.println("An error occurred during mapping the configuration file:");
- System.err.println(" Cannot initialize XSLT transform.");
- System.err.println(" " + e.getMessage());
- }
- catch (FileNotFoundException e)
- {
- System.err.println("An error occurred during mapping the configuration file:");
- System.err.println(" There is a problem with the filename for the new configuration file.");
- System.err.println(" " + e.getMessage());
- }
- catch (TransformerException e)
- {
- System.err.println("An error occurred during mapping the configuration file:");
- System.err.println(" " + e.getMessage());
- }
- }
-}