aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-12-03 13:51:39 +0000
committergregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-12-03 13:51:39 +0000
commit8584ca9fb0c9a3380d2345cd7d0b99fd3b43c1fd (patch)
tree60f5b7a2a7d0bf2d8abf000327f7137df12e88f5
parent6c801ae738cdf05c766519d3f7e16d408f1efc63 (diff)
downloadmoa-id-spss-8584ca9fb0c9a3380d2345cd7d0b99fd3b43c1fd.tar.gz
moa-id-spss-8584ca9fb0c9a3380d2345cd7d0b99fd3b43c1fd.tar.bz2
moa-id-spss-8584ca9fb0c9a3380d2345cd7d0b99fd3b43c1fd.zip
Erstversion für Demonstration im BKA
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@72 d688527b-c9ab-4aba-bd8d-4036d912da1d
-rw-r--r--spss.slinterface/.tomcatplugin2
-rw-r--r--spss.slinterface/constraints.txt2
-rw-r--r--spss.slinterface/pages/images/aut-emb2.gifbin0 -> 4189 bytes
-rw-r--r--spss.slinterface/pages/images/egov.jpgbin0 -> 4974 bytes
-rw-r--r--spss.slinterface/pages/resultOverview.jsp135
-rw-r--r--spss.slinterface/res/resources/properties/init.properties4
-rw-r--r--spss.slinterface/test/forms/verify.default.html85
-rw-r--r--spss.slinterface/test/forms/verify.slxhtml.html85
8 files changed, 266 insertions, 47 deletions
diff --git a/spss.slinterface/.tomcatplugin b/spss.slinterface/.tomcatplugin
index 2e649ba5e..c8ae44495 100644
--- a/spss.slinterface/.tomcatplugin
+++ b/spss.slinterface/.tomcatplugin
@@ -5,6 +5,6 @@
<reloadable>true</reloadable>
<redirectLogger>false</redirectLogger>
<updateXml>false</updateXml>
- <warLocation></warLocation>
+ <warLocation>E:\cio\projekte\basismodule\slinterface\moa-spss-sl.war</warLocation>
<webPath>/moa-spss-sl</webPath>
</tomcatProjectProperties>
diff --git a/spss.slinterface/constraints.txt b/spss.slinterface/constraints.txt
index 6cdb6ee8a..f21d385c8 100644
--- a/spss.slinterface/constraints.txt
+++ b/spss.slinterface/constraints.txt
@@ -1,4 +1,6 @@
- Prüfung eines ggf. vorhandenen SL-Manifests wird nicht durchgeführt.
In der Antwort wird der Code 98 zurückgeliefert.
+- Prüfung von dsig-Manifesten escheint nicht in der Auswertungsseite.
+
- Bei signiertem XHTML-Dokument wird list-style-image-URL nicht geprüft. \ No newline at end of file
diff --git a/spss.slinterface/pages/images/aut-emb2.gif b/spss.slinterface/pages/images/aut-emb2.gif
new file mode 100644
index 000000000..171180fad
--- /dev/null
+++ b/spss.slinterface/pages/images/aut-emb2.gif
Binary files differ
diff --git a/spss.slinterface/pages/images/egov.jpg b/spss.slinterface/pages/images/egov.jpg
new file mode 100644
index 000000000..adc92b209
--- /dev/null
+++ b/spss.slinterface/pages/images/egov.jpg
Binary files differ
diff --git a/spss.slinterface/pages/resultOverview.jsp b/spss.slinterface/pages/resultOverview.jsp
index cda562bbc..5e27178f4 100644
--- a/spss.slinterface/pages/resultOverview.jsp
+++ b/spss.slinterface/pages/resultOverview.jsp
@@ -17,91 +17,114 @@
<html>
<head>
- <head><title>Resultate der Signaturpr&uuml;fung</title></head>
+ <head><title>Bundeskanzleramt der Republik Österreich - Signaturprüfdienst</title></head>
</head>
<body>
- <h1>Informationen zum Unterzeichner</h1>
+ <table width="800px" align="center">
+ <tr>
+ <td>
+ <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
+ <td width="150px" align="center"><img width="70px"
+ <% out.print("src=\"" + request.getContextPath() + "/pages/images/aut-emb2.gif\" alt=\"Republik Österreich\""); %>
+ ></td>
+ <td align="center"><b>Bundeskanzleramt der Republik Österreich - Signaturprüfdienst</b></td>
+ </table>
+
+ <p>Nachfolgend finden Sie das Ergebnis der Prüfung der eingereichten elektronischen Signatur.</p>
+
+ <p>
+ <a href="<% out.print(response.encodeURL(request.getContextPath() + "/return")); %>">
+ Zurück zur Anwendung ...</a>
+ </p>
<!-- ######################################################### -->
<!-- Name des Unterzeichners -->
<!-- ######################################################### -->
- <h2>Name des Unterzeichners</h2>
- <p>
+ <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
+ <th>
+ <tr span="2"><b>Unterzeichner</b></tr>
+ </th>
<%
String[] subOIDNames = new String[]{"2.5.4.3", "2.5.4.11", "2.5.4.10", "2.5.4.6"}; // CN, OU, O, C
- String[] subOIDRegNames = new String[]{"CN", "OU", "O", "C"};
+ String[] subOIDRegNames = new String[]{"Name", "Organisationseinheit", "Organisation", "Staat"};
for (int i = 0; i < subOIDNames.length; i++)
{
signerInfo.setSubjectNameItemSel(subOIDNames[i]);
String currSubjectNameRDN = signerInfo.getSubjectNameItem();
if (currSubjectNameRDN != null)
{
- out.print(subOIDRegNames[i] + ": " + currSubjectNameRDN);
- %>
- <br/>
- <%
+ out.print("<tr ><td width=\"150px\" align=\"right\">" + subOIDRegNames[i] + "</td><td align=\"left\"><code>" + currSubjectNameRDN + "</code></td></tr>");
}
}
%>
- </p>
+ </table>
<!-- ######################################################### -->
<!-- Name des Ausstellers -->
<!-- ######################################################### -->
- <h2>Name des Ausstellers</h2>
- <p>
+
+ <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
+ <th>
+ <tr span="2"><b>Aussteller des Zertifikats</b></tr>
+ </th>
<%
String[] issuerOIDNames = new String[]{"2.5.4.3", "2.5.4.11", "2.5.4.10", "2.5.4.6"}; // CN, OU, O, C
- String[] issuerOIDRegNames = new String[]{"CN", "OU", "O", "C"};
+ String[] issuerOIDRegNames = new String[]{"Name", "Organisationseinheit", "Organisation", "Staat"};
for (int i = 0; i < issuerOIDNames.length; i++)
{
signerInfo.setIssuerNameItemSel(issuerOIDNames[i]);
String currIssuerNameRDN = signerInfo.getIssuerNameItem();
if (currIssuerNameRDN != null)
{
- out.print(issuerOIDRegNames[i] + ": " + currIssuerNameRDN);
- %>
- <br/>
- <%
+ out.print("<tr><td width=\"150px\" align=\"right\">" + issuerOIDRegNames[i] + "</td><td align=\"left\"><code>" + currIssuerNameRDN + "</code></td></tr>");
}
}
%>
- </p>
+ </table>
<!-- ######################################################### -->
<!-- Seriennummer des Zertifikats -->
<!-- ######################################################### -->
- <h2>Seriennummer des Zertifikats</h2>
- <p>
- Seriennummer:
+ <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
+ <th>
+ <tr span="2"><b>Informationen zum Zertifikat</b></tr>
+ </th>
+ <tr>
+ <td width="150px" align="right">Seriennummer</td>
+ <td align="left"><code>
<%
out.print(signerInfo.getSerial());
%>
- </p>
+ </code></td>
+ </tr>
<!-- ######################################################### -->
<!-- Qualifiziertes Zertifikat? -->
<!-- ######################################################### -->
- <h2>Qualität des Zertifikats</h2>
- <p>
- Das Zertifikat ist ein
- <% out.print(signerInfo.getIsQualified() ? "qualifiziertes" : "gewöhnliches"); %>
- Zertifikat.
- </p>
+ <tr>
+ <td align="right">Qualität</td>
+ <td align="left"><code>
+ <% out.print(signerInfo.getIsQualified() ? "qualifiziertes" : "gewöhnliches"); %> Zertifikat
+ </code></td>
+ </tr>
+ </table>
- <h1>Prüfungen</h1>
+ <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
+ <th>
+ <tr span="2"><b>Prüfungen</b></tr>
+ </th>
<!-- ######################################################### -->
<!-- Signaturprüfung -->
<!-- ######################################################### -->
- <h2>Signaturprüfung</h2>
- <p>
+ <tr>
+ <td width="150px" align="right">Signatur</td>
<%
String [] sigCheckMsgs = new String[]
{
@@ -111,14 +134,17 @@
};
int sigCheckCode = Integer.parseInt(checksInfo.getSigCheckCode());
+ out.print("<td align=\"left\"><p><code>");
+ if (sigCheckCode != 0) out.print("<font color=\"red\">");
out.print(sigCheckMsgs[sigCheckCode]);
+ if (sigCheckCode != 0) out.print("</font>");
%>
- <br/>
+ </code></p>
<%
if (sigCheckCode == 1)
{
%>
- Fehlerhafte Referenzen:
+ <p><code><font color="red">Fehlerhafte Referenzen:
<%
int count = 0;
do
@@ -131,9 +157,12 @@
count++;
}
while (true);
+ %>
+ </code></font></p>
+ <%
}
%>
- </p>
+ </td></tr>
<!-- ######################################################### -->
<!-- Signaturmanifestprüfung -->
@@ -151,8 +180,8 @@
<!-- Zertifikatsprüfung -->
<!-- ######################################################### -->
- <h2>Zertifikatsprüfung</h2>
- <p>
+ <tr>
+ <td align="right">Zertifikat</td>
<%
String [] certCheckMsgs = new String[]
{
@@ -166,17 +195,24 @@
};
int certCheckCode = Integer.parseInt(checksInfo.getCertCheckCode());
certCheckCode = (certCheckCode == 99) ? 6 : certCheckCode;
+ out.print("<td align=\"left\"><p><code>");
+ if (certCheckCode != 0) out.print("<font color=\"red\">");
out.print(certCheckMsgs[certCheckCode]);
+ if (certCheckCode != 0) out.print("</font>");
%>
+ </code></p></td></tr></table>
<!-- ######################################################### -->
<!-- Signierte Daten -->
<!-- ######################################################### -->
- <h1>Signierte Daten</h1>
- <p>
+ <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
+ <th>
+ <tr span="2"><b>Signierte Daten</b></tr>
+ </th>
<%
int i = 0;
+ int j = 0;
do
{
dataInfo.setHashInputDataCount(i);
@@ -185,24 +221,35 @@
boolean doShow = dataInfo.getShowHashInputData();
if (doShow)
{
- if (i > 0) out.println("<br/>");
+ out.print("<tr><td width=\"150px\" align=\"right\"><code>");
out.print("<a href=\"" + response.encodeURL(request.getContextPath() + dataInfo.getHashInputDataURL()) + "\"");
boolean isSLXHTML = dataInfo.getIsSLXHTMLDocument();
if (isSLXHTML) out.write(" target=\"_blank\"");
- out.print(">Datum Nr." + (i + 1));
- if (isSLXHTML) out.print(" (SLXHTML Dokument)");
- out.print("</a>");
+ out.print(">Datum Nr." + (j + 1) + "</a>");
+ out.print("</code></td><td align=\"left\">");
+ if (isSLXHTML)
+ {
+ out.print(" Die Datei ist vom Typ SLXHTML und kann angezeigt werden.");
+ }
+ else
+ {
+ out.print("Der Typ der Datei ist nicht bekannt. Die Datei kann in Binärform heruntergeladen werden.");
+ }
+ out.print("</td><tr>");
+ j++;
}
i++;
}
while (true);
%>
- </p>
+ </table>
<p>
<a href="<% out.print(response.encodeURL(request.getContextPath() + "/return")); %>">
Zurück zur Anwendung ...</a>
</p>
-
+ </td>
+ </tr>
+ </table>
</body>
</html> \ No newline at end of file
diff --git a/spss.slinterface/res/resources/properties/init.properties b/spss.slinterface/res/resources/properties/init.properties
index 9025644c9..59724d207 100644
--- a/spss.slinterface/res/resources/properties/init.properties
+++ b/spss.slinterface/res/resources/properties/init.properties
@@ -10,5 +10,5 @@ location.tempdir = /workDir/temp/
service.sp.endpoint = http://localhost:8080/moa-spss/services/SignatureVerification
service.sp.trustProfileId = TrustProfile1
-result.showetsi = true
-result.showslmanifest = true \ No newline at end of file
+result.showetsi = false
+result.showslmanifest = false \ No newline at end of file
diff --git a/spss.slinterface/test/forms/verify.default.html b/spss.slinterface/test/forms/verify.default.html
new file mode 100644
index 000000000..2f381d9b8
--- /dev/null
+++ b/spss.slinterface/test/forms/verify.default.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Test Securitylayer-Interface für MOA</title>
+</head>
+ <body>
+<h1>Test Securitylayer-Interface für MOA</h1>
+<h2>Kein SLXHTML-Dokument</h2>
+<form action="http://localhost:8080/moa-spss-sl/http-security-layer-request" method="post">
+<p>
+XMLRequest:
+<textarea name="XMLRequest" cols=80 rows=20>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ &lt;SignatureInfo>
+ &lt;SignatureEnvironment>
+ &lt;XMLContent>
+&lt;dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">&lt;dsig:SignedInfo>&lt;dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>&lt;dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>&lt;dsig:Reference Id="reference-1-1" URI="xmlDocument.xml">&lt;dsig:Transforms>&lt;dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ &lt;xsl:import href="stylesheet.xsl"/>
+ &lt;/xsl:stylesheet>&lt;/dsig:Transform>&lt;dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>&lt;/dsig:Transforms>&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>qWbsEi/iFwXaXZvCBanbFu7poqQ=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Id="reference-1-2" URI="bild1.gif">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>mCGwDv9ku7uHVbL4bkNC8o52LrE=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Id="reference-1-3" URI="bild2.jpg">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>Jc6oVCCGjgvFFYQR6jklGkGL4l4=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#manifest-1-1">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>8HbxBKILDNRUeewGlObTKbBsB18=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id(&apos;etsi-signed-1-1&apos;)/child::etsi:QualifyingProperties/child::etsi:SignedProperties)">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>hgityh9+8rEQjPzU0+6R/6rol3k=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;/dsig:SignedInfo>&lt;dsig:SignatureValue>AfkIFItBFm9bTyciEQFwd+nx/5wfuDzAOPhfgEl8s8OVeyL/ZH99+4inrDTcrM6E
+yhnKu/OZYfBdZicia9SGwXtnXabaUrOu/yMoxyh0DYoJY0ujLZFr6ywg4vZkM6X3
+tif5UrwAlSqnfJquT203GqpOS6euTZW86RRnvdR/4Jc=&lt;/dsig:SignatureValue>&lt;dsig:KeyInfo>&lt;dsig:X509Data>&lt;dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1&lt;/dsig:X509Certificate>&lt;/dsig:X509Data>&lt;/dsig:KeyInfo>&lt;dsig:Object>&lt;dsig:Manifest Id="manifest-1-1">&lt;dsig:Reference URI="stylesheet.xsl">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>/KjC84jSkt2ZHN35vNKXBvI2p80=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;/dsig:Manifest>&lt;/dsig:Object>&lt;dsig:Object Id="etsi-signed-1-1">&lt;etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#">&lt;etsi:SignedProperties>&lt;etsi:SignedSignatureProperties>&lt;etsi:SigningTime>2003-12-03T11:51:13&lt;/etsi:SigningTime>&lt;etsi:SigningCertificate>&lt;etsi:Cert>&lt;etsi:CertDigest>&lt;etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=&lt;/etsi:DigestValue>&lt;/etsi:CertDigest>&lt;etsi:IssuerSerial>&lt;dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT&lt;/dsig:X509IssuerName>&lt;dsig:X509SerialNumber>1044289238331&lt;/dsig:X509SerialNumber>&lt;/etsi:IssuerSerial>&lt;/etsi:Cert>&lt;/etsi:SigningCertificate>&lt;etsi:SignaturePolicyIdentifier>&lt;etsi:SignaturePolicyImplied/>&lt;/etsi:SignaturePolicyIdentifier>&lt;/etsi:SignedSignatureProperties>&lt;etsi:SignedDataObjectProperties>&lt;etsi:DataObjectFormat ObjectReference="#reference-1-1">&lt;etsi:MimeType>text/html&lt;/etsi:MimeType>&lt;/etsi:DataObjectFormat>&lt;etsi:DataObjectFormat ObjectReference="#reference-1-2">&lt;etsi:MimeType>img/gif&lt;/etsi:MimeType>&lt;/etsi:DataObjectFormat>&lt;etsi:DataObjectFormat ObjectReference="#reference-1-3">&lt;etsi:MimeType>img/jpg&lt;/etsi:MimeType>&lt;/etsi:DataObjectFormat>&lt;/etsi:SignedDataObjectProperties>&lt;/etsi:SignedProperties>&lt;/etsi:QualifyingProperties>&lt;/dsig:Object>&lt;/dsig:Signature>
+ &lt;/XMLContent>
+ &lt;/SignatureEnvironment>
+ &lt;SignatureLocation>/dsig:Signature&lt;/SignatureLocation>
+ &lt;/SignatureInfo>
+ &lt;Supplement>
+ &lt;Content Reference="stylesheet.xsl">
+ &lt;LocRefContent>http://localhost:8080/moa-spss-sl/stylesheet.xsl&lt;/LocRefContent>
+ &lt;/Content>
+ &lt;/Supplement>
+ &lt;Supplement>
+ &lt;Content Reference="xmlDocument.xml">
+ &lt;XMLContent>
+ &lt;XMLDarstellung xmlns="urn:instance">Etwas Text. Dann kommt das erste Bild.&lt;Bild Reference="bild1.gif"/>Wieder etwas Text. Dann kommt das zweite Bild.&lt;Bild Reference="bild2.jpg"/>Und noch ein wenig finaler Text.&lt;/XMLDarstellung>
+ &lt;/XMLContent>
+ &lt;/Content>
+ &lt;/Supplement>
+ &lt;Supplement>
+ &lt;Content Reference="bild1.gif">
+ &lt;Base64Content>R0lGODlhHgAPAJEAAAD/AAAAAAAAAAAAACwAAAAAHgAPAAAIJAABCBxIsKDBgwgTKlzIsKHD
+hxAjSpxIsaLFixgzatzIsePDgAA7&lt;/Base64Content>
+ &lt;/Content>
+ &lt;/Supplement>
+ &lt;Supplement>
+ &lt;Content Reference="bild2.jpg">
+ &lt;LocRefContent>http://localhost:8080/moa-spss-sl/bildspeicher/bild2.jpg&lt;/LocRefContent>
+ &lt;/Content>
+ &lt;/Supplement>
+&lt;/VerifyXMLSignatureRequest>
+</textarea>
+<p>
+<!--
+RedirectURL: <input name="RedirectURL" value="" size=70>
+http://stud.fbi.fh-darmstadt.de/~adams/mathe/poesie.html#bit
+<p>-->
+DataURL: <input name="DataURL" value="http://localhost:8080/moa-spss-sl/dataurl" size=70/>
+<p>
+<!--StylesheetURL: <input name="StylesheetURL" value="" size=70>
+http://localhost/securitylayer.xsl-->
+<p>
+<input type="submit">
+</form>
+</body>
+</html>
diff --git a/spss.slinterface/test/forms/verify.slxhtml.html b/spss.slinterface/test/forms/verify.slxhtml.html
new file mode 100644
index 000000000..e01ae9dd0
--- /dev/null
+++ b/spss.slinterface/test/forms/verify.slxhtml.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Test Securitylayer-Interface für MOA</title>
+</head>
+ <body>
+<h1>Test Securitylayer-Interface für MOA</h1>
+<h2>SLXHTML-Dokument</h2>
+<form action="http://localhost:8080/moa-spss-sl/http-security-layer-request" method="post">
+<p>
+XMLRequest:
+<textarea name="XMLRequest" cols=80 rows=20>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ &lt;SignatureInfo>
+ &lt;SignatureEnvironment>
+ &lt;XMLContent>
+&lt;dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">&lt;dsig:SignedInfo>&lt;dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>&lt;dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>&lt;dsig:Reference Id="reference-1-1" URI="xmlDocument.xml">&lt;dsig:Transforms>&lt;dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ &lt;xsl:import href="stylesheet.xsl"/>
+ &lt;/xsl:stylesheet>&lt;/dsig:Transform>&lt;dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>&lt;/dsig:Transforms>&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>qWbsEi/iFwXaXZvCBanbFu7poqQ=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Id="reference-1-2" Type="http://www.buergerkarte.at/specifications/Security-Layer/20031113?Name=SignedImage&amp;amp;InstanceDocRef=0" URI="bild1.gif">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>mCGwDv9ku7uHVbL4bkNC8o52LrE=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Id="reference-1-3" Type="http://www.buergerkarte.at/specifications/Security-Layer/20031113?Name=SignedImage&amp;amp;InstanceDocRef=0" URI="bild2.jpg">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>Jc6oVCCGjgvFFYQR6jklGkGL4l4=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#manifest-1-1">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>8HbxBKILDNRUeewGlObTKbBsB18=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id(&apos;etsi-signed-1-1&apos;)/child::etsi:QualifyingProperties/child::etsi:SignedProperties)">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>QixjzDGm3YVNnrWBVdkNLlp2Pmk=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;/dsig:SignedInfo>&lt;dsig:SignatureValue>wAt9rJy+7xx4b5VcMyGC9iwAtK+bHpMrqsiz5fLyXQJ11Iq+ME/yHhglv3u3cp6d
+BCsNAuMacqEM0qGJ2xoIaxVPS5QIPJoF6KuS7t4rPGRW9g04EgE8xyRkH6qyxP9J
+ilfBOISA/1GJcEejFeJdOkTLFrH7toE+IqB2fEl7eKs=&lt;/dsig:SignatureValue>&lt;dsig:KeyInfo>&lt;dsig:X509Data>&lt;dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1&lt;/dsig:X509Certificate>&lt;/dsig:X509Data>&lt;/dsig:KeyInfo>&lt;dsig:Object>&lt;dsig:Manifest Id="manifest-1-1">&lt;dsig:Reference URI="stylesheet.xsl">&lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;dsig:DigestValue>/KjC84jSkt2ZHN35vNKXBvI2p80=&lt;/dsig:DigestValue>&lt;/dsig:Reference>&lt;/dsig:Manifest>&lt;/dsig:Object>&lt;dsig:Object Id="etsi-signed-1-1">&lt;etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#">&lt;etsi:SignedProperties>&lt;etsi:SignedSignatureProperties>&lt;etsi:SigningTime>2003-12-03T10:13:28&lt;/etsi:SigningTime>&lt;etsi:SigningCertificate>&lt;etsi:Cert>&lt;etsi:CertDigest>&lt;etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>&lt;etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=&lt;/etsi:DigestValue>&lt;/etsi:CertDigest>&lt;etsi:IssuerSerial>&lt;dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT&lt;/dsig:X509IssuerName>&lt;dsig:X509SerialNumber>1044289238331&lt;/dsig:X509SerialNumber>&lt;/etsi:IssuerSerial>&lt;/etsi:Cert>&lt;/etsi:SigningCertificate>&lt;etsi:SignaturePolicyIdentifier>&lt;etsi:SignaturePolicyImplied/>&lt;/etsi:SignaturePolicyIdentifier>&lt;/etsi:SignedSignatureProperties>&lt;etsi:SignedDataObjectProperties>&lt;etsi:DataObjectFormat ObjectReference="#reference-1-1">&lt;etsi:MimeType>text/html&lt;/etsi:MimeType>&lt;/etsi:DataObjectFormat>&lt;etsi:DataObjectFormat ObjectReference="#reference-1-2">&lt;etsi:MimeType>img/gif&lt;/etsi:MimeType>&lt;/etsi:DataObjectFormat>&lt;etsi:DataObjectFormat ObjectReference="#reference-1-3">&lt;etsi:MimeType>img/jpg&lt;/etsi:MimeType>&lt;/etsi:DataObjectFormat>&lt;/etsi:SignedDataObjectProperties>&lt;/etsi:SignedProperties>&lt;/etsi:QualifyingProperties>&lt;/dsig:Object>&lt;/dsig:Signature>
+ &lt;/XMLContent>
+ &lt;/SignatureEnvironment>
+ &lt;SignatureLocation>/dsig:Signature&lt;/SignatureLocation>
+ &lt;/SignatureInfo>
+ &lt;Supplement>
+ &lt;Content Reference="stylesheet.xsl">
+ &lt;LocRefContent>http://localhost:8080/moa-spss-sl/stylesheet.xsl&lt;/LocRefContent>
+ &lt;/Content>
+ &lt;/Supplement>
+ &lt;Supplement>
+ &lt;Content Reference="xmlDocument.xml">
+ &lt;XMLContent>
+ &lt;XMLDarstellung xmlns="urn:instance">Etwas Text. Dann kommt das erste Bild.&lt;Bild Reference="bild1.gif"/>Wieder etwas Text. Dann kommt das zweite Bild.&lt;Bild Reference="bild2.jpg"/>Und noch ein wenig finaler Text.&lt;/XMLDarstellung>
+ &lt;/XMLContent>
+ &lt;/Content>
+ &lt;/Supplement>
+ &lt;Supplement>
+ &lt;Content Reference="bild1.gif">
+ &lt;Base64Content>R0lGODlhHgAPAJEAAAD/AAAAAAAAAAAAACwAAAAAHgAPAAAIJAABCBxIsKDBgwgTKlzIsKHD
+hxAjSpxIsaLFixgzatzIsePDgAA7&lt;/Base64Content>
+ &lt;/Content>
+ &lt;/Supplement>
+ &lt;Supplement>
+ &lt;Content Reference="bild2.jpg">
+ &lt;LocRefContent>http://localhost:8080/moa-spss-sl/bildspeicher/bild2.jpg&lt;/LocRefContent>
+ &lt;/Content>
+ &lt;/Supplement>
+&lt;/VerifyXMLSignatureRequest>
+</textarea>
+<p>
+<!--
+RedirectURL: <input name="RedirectURL" value="" size=70>
+http://stud.fbi.fh-darmstadt.de/~adams/mathe/poesie.html#bit
+<p>-->
+DataURL: <input name="DataURL" value="http://localhost:8080/moa-spss-sl/dataurl" size=70/>
+<p>
+<!--StylesheetURL: <input name="StylesheetURL" value="" size=70>
+http://localhost/securitylayer.xsl-->
+<p>
+<input type="submit">
+</form>
+</body>
+</html>