diff options
Diffstat (limited to 'pdf-as-web/src/main')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/LocalRequestHelper.java | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/LocalRequestHelper.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/LocalRequestHelper.java deleted file mode 100644 index fdc50a0..0000000 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/LocalRequestHelper.java +++ /dev/null @@ -1,249 +0,0 @@ -/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *
- * $Id: LocalRequestHelper.java,v 1.6 2006/10/31 08:22:04 wprinz Exp $
- */
-package at.gv.egiz.pdfas.web.helper;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.commons.SignatureInformation;
-import at.gv.egiz.pdfas.api.internal.PdfAsInternal;
-import at.gv.egiz.pdfas.web.CurrentLocalOperation;
-import at.gv.egiz.pdfas.web.LocalRequest;
-import at.gv.egiz.pdfas.web.session.SignSessionInformation;
-import at.gv.egiz.pdfas.web.session.VerifySessionInformation;
-import at.knowcenter.wag.egov.egiz.exceptions.ConnectorException;
-import at.knowcenter.wag.egov.egiz.exceptions.ConnectorFactoryException;
-import at.knowcenter.wag.egov.egiz.exceptions.NormalizeException;
-import at.knowcenter.wag.egov.egiz.exceptions.PresentableException;
-import at.knowcenter.wag.egov.egiz.exceptions.SettingsException;
-import at.knowcenter.wag.egov.egiz.exceptions.SignatureException;
-
-/**
- * Contains commonly used helper functions for the local request procedure.
- *
- * @author wprinz
- */
-public abstract class LocalRequestHelper
-{
-
- /**
- * The logger.
- */
- protected static Log logger = LogFactory.getLog(LocalRequestHelper.class);
-
- /**
- * The resource of the null request page jsp.
- */
- public static final String NULL_REQUEST_PAGE_JSP = "/jsp/null_request_page.jsp";
-
- /**
- * The resource of the local connection page jsp.
- */
- public static final String LOCAL_CONNECTION_PAGE_JSP = "/jsp/local_connection_page.jsp";
-
- /**
- * The resource of the redirect refresh page jsp.
- */
- public static final String REDIRECT_REFRESH_PAGE_JSP = "/jsp/redirect_refresh_page.jsp";
-
- /**
- * Sets up the local sign procedure.
- *
- * @param response
- * The HttpServletResponse the local request page is written to.
- * @throws IOException
- * Forwarded exception.
- * @throws PresentableException
- * Forwarded exception.
- */
- public static String processLocalSign(PdfAsInternal pdfAsInternal, SignSessionInformation si, HttpServletRequest request, HttpServletResponse response) throws IOException, PresentableException
- {
- String host = request.getServerName();
- URL loc_ref_URL = new URL(WebUtils.buildRetrieveSignatureDataURL(request, response));
- String loc_ref_url = response.encodeURL(loc_ref_URL.toString());
-
- String sign_request = pdfAsInternal.prepareLocalSignRequest(si.signParameters, false, loc_ref_url, si.sdi);
-
- String local_request_url = pdfAsInternal.getLocalServiceAddress(si.type, si.connector);
- si.localRequest = new LocalRequest(local_request_url, sign_request);
- si.outputAvailable = false;
-
- URL data_URL = new URL(request.getScheme(), host, request.getServerPort(), WebUtils.addJSessionID(request.getContextPath() + "/DataURL", request));
- String data_url = response.encodeURL(data_URL.toString());
- logger.debug("data_url = " + data_url);
-
- request.setAttribute("local_request_url", local_request_url);
- request.setAttribute("data_url", data_url);
-
- return NULL_REQUEST_PAGE_JSP;
- }
-
- /**
- * Sets up the local verify procedure.
- * @param list
- *
- * @param response
- * The HttpServletResponse the local request page is written to.
- * @return Returns the JSP location where the calling servlet should dispatch
- * to.
- * @throws SignatureException
- * Forwarded exception.
- * @throws NormalizeException
- * Forwarded exception.
- * @throws IOException
- * Forwarded exception.
- * @throws ConnectorFactoryException
- * Forwarded exception.
- * @throws SettingsException
- * @throws ConnectorException
- */
- public static String processLocalVerify(PdfAsInternal pdfAsInternal, VerifySessionInformation si, List signaturesToBeverified, HttpServletRequest request, HttpServletResponse response) throws SignatureException, NormalizeException,
- IOException, ConnectorFactoryException, SettingsException, ConnectorException
- {
- si.currentLocalOperation = new CurrentLocalOperation();
- si.currentLocalOperation.signaturesToBeverified = signaturesToBeverified; // SignatureInformation
-
- si.currentLocalOperation.requests = new LocalRequest[signaturesToBeverified.size()];
- si.currentLocalOperation.response_xmls = new String[si.currentLocalOperation.requests.length];
-
- si.currentLocalOperation.current_operation = 0;
-
- String host = request.getServerName();
- URL loc_ref_URL = new URL(WebUtils.buildRetrieveSignatureDataURL(request, response));
- String loc_ref_url = response.encodeURL(loc_ref_URL.toString());
-
- for (int i = 0; i < si.currentLocalOperation.requests.length; i++)
- {
- SignatureInformation sigInfo = (SignatureInformation) signaturesToBeverified.get(i);
- String request_string = pdfAsInternal.prepareLocalVerifyRequest(sigInfo, si.connector, si.type, loc_ref_url);
-
- LocalRequest local_request = new LocalRequest("not-needed", request_string);
- si.currentLocalOperation.requests[i] = local_request;
- si.currentLocalOperation.response_xmls[i] = null;
- }
-
- String local_request_url = pdfAsInternal.getLocalServiceAddress(si.type, si.connector);
-
- URL data_URL = new URL(request.getScheme(), host, request.getServerPort(), WebUtils.addJSessionID(request.getContextPath() + "/DataURL", request));
- String data_url = response.encodeURL(data_URL.toString());
-
- request.setAttribute("local_request_url", local_request_url);
- request.setAttribute("data_url", data_url);
-
- return NULL_REQUEST_PAGE_JSP;
-
- }
-
- /**
- * Formats the OK response from the web application back to the local BKU.
- *
- * <p>
- * As stated in the BKU tutorial, this response must be plain text "<ok/>".
- * Otherwise BKU will assume a failure.
- * </p>
- *
- * @param response
- * The HttpServletResponse to answer to.
- * @throws IOException
- * Forwarded exception.
- */
- protected static void formatBKUOkResponse(HttpServletResponse response) throws IOException
- {
- response.setContentType("text/plain");
- response.setCharacterEncoding("ISO-8859-1");
-
- response.getWriter().println("<ok/>");
- }
-
- public static String makeStringHTMLReady(String input)
- {
- String output = input;
-
- output = output.replaceAll("&", "&");
- output = output.replaceAll("\"", """);
- output = output.replaceAll("<", "<");
- output = output.replaceAll(">", ">");
- return output;
- }
-
- public static String getLocalServerAddress(HttpServletRequest request, HttpServletResponse response)
- {
- String host = request.getServerName();
- URL local_server = null;
- try
- {
- String scheme = request.getScheme();
- int port = request.getServerPort();
- if ("http".equalsIgnoreCase(scheme) && port == 80) {
- local_server = new URL(scheme, host, "/");
- } else if ("https".equalsIgnoreCase(scheme) && port == 443) {
- local_server = new URL(scheme, host, "/");
- } else {
- local_server = new URL(scheme, host, port, "/");
- }
- }
- catch (MalformedURLException e)
- {
- logger.error(e.getMessage(), e);
- }
- String loc_server = response.encodeURL(local_server.toString());
-
- return loc_server;
- }
-
- public static String getLocalContextAddress(HttpServletRequest request, HttpServletResponse response) {
- String serverURL = getLocalServerAddress(request, response);
- String context = request.getContextPath();
- if (serverURL.endsWith("/") && context.startsWith("/")) {
- context = context.substring(1);
- }
- return serverURL + context;
- }
-
-/**
- * Tells, if the given connector is local.
- *
- * @param connector_identifier
- * The connector.
- * @return Returns true, if the given connector is local, false otherwise.
- * @throws ConnectorFactoryException
- * F.e.
- */
- public static boolean isConnectorLocal(String connector_identifier) throws ConnectorFactoryException
- {
- return connector_identifier.equals(Constants.SIGNATURE_DEVICE_BKU) || connector_identifier.equals(Constants.SIGNATURE_DEVICE_A1) || connector_identifier.equals(Constants.SIGNATURE_DEVICE_MOC);
- }
-
-}
|