<%@ page contentType="text/html; charset=ISO-8859-1" %> <jsp:useBean id="checksInfo" class="at.gv.egovernment.moa.spss.slinterface.beans.ChecksInfoBean" scope="request"> </jsp:useBean> <jsp:useBean id="signerInfo" class="at.gv.egovernment.moa.spss.slinterface.beans.SignerInfoBean" scope="request"> </jsp:useBean> <jsp:useBean id="dataInfo" class="at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean" scope="session"> </jsp:useBean> <html> <head> <title>MOA SL - Signaturpr�fdienst</title> <script type="text/javascript"> var doTerminate = true; var breakWhile = false; function terminateSession() { if (doTerminate) { ref = "<%out.print( ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite( request.getContextPath() + "/return", request.getSession()));%>"; window.location.replace(ref); } doTerminate = true; } function doNotTerminate() { doTerminate = false; } </script> </head> <body onunload="terminateSession()"> <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=\"" + ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite( request.getContextPath() + "/pages/images/LogoMoa4c.png\"", request.getSession()) + " alt=\"Republik �sterreich\""); %> ></td> <td align="center"><b>MOA SL - Signaturpr�fdienst</b></td> </table> <p>Nachfolgend finden Sie das Ergebnis der Pr�fung der eingereichten elektronischen Signatur.</p> <p> <a onclick="doNotTerminate()" href="<%out.print( ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite( request.getContextPath() + "/return", request.getSession()));%>"> Zur�ck zur Anwendung ...</a> </p> <!-- ######################################################### --> <!-- Name des Unterzeichners --> <!-- ######################################################### --> <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[]{"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("<tr ><td width=\"150px\" align=\"right\">" + subOIDRegNames[i] + "</td><td align=\"left\"><code>" + currSubjectNameRDN + "</code></td></tr>"); } } %> </table> <!-- ######################################################### --> <!-- Name des Ausstellers --> <!-- ######################################################### --> <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[]{"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("<tr><td width=\"150px\" align=\"right\">" + issuerOIDRegNames[i] + "</td><td align=\"left\"><code>" + currIssuerNameRDN + "</code></td></tr>"); } } %> </table> <!-- ######################################################### --> <!-- Seriennummer des Zertifikats --> <!-- ######################################################### --> <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()); %> </code></td> </tr> <!-- ######################################################### --> <!-- Qualifiziertes Zertifikat? --> <!-- ######################################################### --> <tr> <td align="right">Qualit�t</td> <td align="left"><code> <% out.print(signerInfo.getIsQualified() ? "qualifiziertes" : "gew�hnliches"); %> Zertifikat </code></td> </tr> </table> <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3"> <th> <tr span="2"><b>Pr�fungen</b></tr> </th> <!-- ######################################################### --> <!-- Signaturpr�fung --> <!-- ######################################################### --> <tr> <td width="150px" align="right">Signatur</td> <% String [] sigCheckMsgs = new String[] { "Die �berpr�fung der Hash-Werte und des Werts der Signatur konnte erfolgreich durchgef�hrt werden.", "Bei der �berpr�fung des Hash-Werts zumindest einer dsig:Reference der Signatur ist ein Fehler aufgetreten. Der Wert der Signatur (dsig:SignatureValue) wurde nicht �berpr�ft.", "Die �berpr�fung der Hash-Werte konnte erfolgreich durchgef�hrt werden. Beim �berpr�fen des Werts der Signatur (dsig:SignatureValue) ist jedoch ein Fehler aufgetreten." }; 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>"); %> </code></p> <% if (sigCheckCode == 1) { %> <p><code><font color="red">Fehlerhafte Referenzen: <% int count = 0; do { checksInfo.setSigCheckFailedRefCount(count); String failedRef = checksInfo.getSigCheckFailedRef(); if (null == failedRef) break; if (count > 0) out.print(", "); out.print(failedRef); count++; } while (true); %> </code></font></p> <% } %> </td></tr> <!-- ######################################################### --> <!-- Signaturmanifestpr�fung --> <!-- ######################################################### --> <!-- Aus der Sicht des B�rgers nicht sinnvoll --> <!-- ######################################################### --> <!-- XMLDSIG-Manifestpr�fung --> <!-- ######################################################### --> <!-- Derzeit nicht implementiert, Bean "checksInfo" enth�lt allerdings alle notwendigen Infos --> <!-- ######################################################### --> <!-- Zertifikatspr�fung --> <!-- ######################################################### --> <tr> <td align="right">Zertifikat</td> <% String [] certCheckMsgs = new String[] { "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauensw�rdigen Wurzelzertifikat konnte konstruiert werden. Jedes Zertifikat dieser Kette ist zum in der Anfrage angegebenen Pr�fzeitpunkt g�ltig.", "Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauensw�rdigen Wurzelzertifikat konstruiert werden.", "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauensw�rdigen Wurzelzertifikat konnte konstruiert werden. F�r zumindest ein Zertifikat dieser Kette f�llt der Pr�fzeitpunkt nicht in das G�ltigkeitsintervall.", "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauensw�rdigen Wurzelzertifikat konnte konstruiert werden. F�r alle Zertifikate dieser Kette f�llt der Pr�fzeitpunkt in das jeweilige G�ltigkeitsintervall. F�r zumindest ein Zertifikat konnte der Zertifikatstatus nicht festgestellt werden.", "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauensw�rdigen Wurzelzertifikat konnte konstruiert werden. F�r alle Zertifikate dieser Kette f�llt der Pr�fzeitpunkt in das jeweilige G�ltigkeitsintervall. Zumindest ein Zertifikat ist zum Pr�fzeitpunkt widerrufen.", "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauensw�rdigen Wurzelzertifikat konnte konstruiert werden. F�r alle Zertifikate dieser Kette f�llt der Pr�fzeitpunkt in das jeweilige G�ltigkeitsintervall. Kein Zertifikat dieser Kette ist zum Pr�fzeitpunkt widerrufen. Zumindest ein Zertifikat ist zum Pr�fzeitpunkt gesperrt.", "Die Pr�fung der Signaturpr�fdaten wurde nicht durchgef�hrt, da bei der Pr�fung der G�ltigkeit der Signatur ein Fehler aufgetreten ist." }; 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 --> <!-- ######################################################### --> <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); String hashDataInputURL = dataInfo.getHashInputDataURL(); if (hashDataInputURL == null) break; boolean doShow = dataInfo.getShowHashInputData(); if (doShow) { out.print("<tr><td width=\"150px\" align=\"right\"><code>"); // out.print("<a href=\"" + response.encodeURL(request.getContextPath() + dataInfo.getHashInputDataURL()) + "\""); out.print( "<a onclick=\"doNotTerminate()\" href=\"" + ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite( request.getContextPath() + dataInfo.getHashInputDataURL(), request.getSession()) + "\""); boolean isSLXHTML = dataInfo.getIsSLXHTMLDocument(); if (isSLXHTML) out.write(" target=\"_blank\""); out.print(">Datei Nr." + (j + 1) + "</a>"); out.print("</code></td><td align=\"left\">"); if (isSLXHTML) { out.print(" Die Datei kann in einem eigenen Browser-Fenster 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); %> </table> <p> <a onclick="doNotTerminate()" href="<%out.print( ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite( request.getContextPath() + "/return", request.getSession()));%>"> Zur�ck zur Anwendung ...</a> </p> </td> </tr> </table> </body> </html>