aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java66
1 files changed, 36 insertions, 30 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
index 64bae47e..4fce6860 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
@@ -45,14 +45,11 @@ import at.gv.egiz.pdfas.web.stats.StatisticFrontend;
* Servlet implementation class PDFData
*/
public class PDFData extends HttpServlet {
-
+
private static final long serialVersionUID = 1L;
- private static final Logger logger = LoggerFactory
- .getLogger(PDFData.class);
-
-
-
+ private static final Logger logger = LoggerFactory.getLogger(PDFData.class);
+
/**
* @see HttpServlet#HttpServlet()
*/
@@ -82,49 +79,58 @@ public class PDFData extends HttpServlet {
HttpServletResponse response) throws ServletException, IOException {
byte[] signedData = PdfAsHelper.getSignedPdf(request, response);
- StatisticEvent statisticEvent = PdfAsHelper.getStatisticEvent(request, response);
-
+ StatisticEvent statisticEvent = PdfAsHelper.getStatisticEvent(request,
+ response);
+
String plainPDFDigest = PdfAsParameterExtractor.getOrigDigest(request);
-
+
if (signedData != null) {
- if(plainPDFDigest != null) {
- String signatureDataHash = PdfAsHelper.getSignatureDataHash(request);
- if(!plainPDFDigest.equalsIgnoreCase(signatureDataHash)) {
+ if (plainPDFDigest != null) {
+ String signatureDataHash = PdfAsHelper
+ .getSignatureDataHash(request);
+ if (!plainPDFDigest.equalsIgnoreCase(signatureDataHash)) {
logger.warn("Digest Hash mismatch!");
logger.warn("Requested digest: " + plainPDFDigest);
logger.warn("Saved digest: " + signatureDataHash);
-
+
PdfAsHelper.setSessionException(request, response,
"Signature Data digest do not match!", null);
- PdfAsHelper.gotoError(getServletContext(), request, response);
+ PdfAsHelper.gotoError(getServletContext(), request,
+ response);
return;
}
}
- response.setHeader("Content-Disposition", "inline;filename=" + PdfAsHelper.getPDFFileName(request));
+ response.setHeader("Content-Disposition", "inline;filename="
+ + PdfAsHelper.getPDFFileName(request));
String pdfCert = PdfAsHelper.getSignerCertificate(request);
- if(pdfCert != null) {
+ if (pdfCert != null) {
response.setHeader("Signer-Certificate", pdfCert);
}
-
- if(!statisticEvent.isLogged()) {
- statisticEvent.setStatus(Status.OK);
-
- statisticEvent.setEndNow();
- statisticEvent.setTimestampNow();
- StatisticFrontend.getInstance().storeEvent(statisticEvent);
- statisticEvent.setLogged(true);
+
+ if (statisticEvent != null) {
+ if (!statisticEvent.isLogged()) {
+ statisticEvent.setStatus(Status.OK);
+
+ statisticEvent.setEndNow();
+ statisticEvent.setTimestampNow();
+ StatisticFrontend.getInstance().storeEvent(statisticEvent);
+ statisticEvent.setLogged(true);
+ }
}
-
- PDFASVerificationResponse resp = PdfAsHelper.getPDFASVerificationResponse(request);
- if(resp != null) {
- response.setHeader("CertificateCheckCode", String.valueOf(resp.getCertificateCode()));
- response.setHeader("ValueCheckCode", String.valueOf(resp.getValueCode()));
+
+ PDFASVerificationResponse resp = PdfAsHelper
+ .getPDFASVerificationResponse(request);
+ if (resp != null) {
+ response.setHeader("CertificateCheckCode",
+ String.valueOf(resp.getCertificateCode()));
+ response.setHeader("ValueCheckCode",
+ String.valueOf(resp.getValueCode()));
}
response.setContentType("application/pdf");
OutputStream os = response.getOutputStream();
os.write(signedData);
os.close();
-
+
// When data is collected destroy session!
request.getSession().invalidate();
} else {