package at.gv.egiz.pdfas.web.helper; import iaik.x509.X509Certificate; import java.io.IOException; import java.io.OutputStream; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; public class VerifyResultHTMLEncoder implements VerifyResultEncoder { public void produce(HttpServletRequest request, HttpServletResponse response, List results) throws IOException { StringBuilder sb = new StringBuilder(); sb.append(""); sb.append("

Verification Results for: " + PdfAsHelper.getPDFFileName(request) + "

"); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); for (int i = 0; i < results.size(); i++) { VerifyResult result = results.get(i); sb.append(""); sb.append(""); if (result.isVerificationDone()) { sb.append(""); int certCode = result.getCertificateCheck().getCode(); String certMessage = result.getCertificateCheck().getMessage(); int valueCode = result.getValueCheckCode().getCode(); String valueMessage = result.getValueCheckCode().getMessage(); Exception e = result.getVerificationException(); X509Certificate cert = (X509Certificate)result.getSignerCertificate(); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); if(e != null) { sb.append(""); } else { sb.append(""); } if(result.isQualifiedCertificate()) { sb.append(""); } else { sb.append(""); } sb.append(""); } else { sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); } sb.append(""); } sb.append("
SignatureProcessedSigned ByCert CodeCert MessageValue CodeValue MessageErrorCertificateSigned Data
" + i + "YES" + cert.getSubjectDN().getName() + "" + certCode + "" + certMessage + "" + valueCode + "" + valueMessage + "" + e.getMessage() + "-here (QC)herehereNO--------
"); sb.append(""); response.setContentType("text/html"); OutputStream os = response.getOutputStream(); os.write(sb.toString().getBytes()); os.close(); } }