001 package jsp;
002
003 import javax.servlet.*;
004 import javax.servlet.http.*;
005 import javax.servlet.jsp.*;
006 import java.security.cert.X509Certificate;
007 import org.apache.geronimo.ca.helper.util.CAHelperUtils;
008 import org.apache.geronimo.crypto.CaUtils;
009 import org.apache.geronimo.crypto.CertificateUtil;
010
011 public final class downloadCACertificate_jsp extends org.apache.jasper.runtime.HttpJspBase
012 implements org.apache.jasper.runtime.JspSourceDependent {
013
014 private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
015
016 private static java.util.List _jspx_dependants;
017
018 private javax.el.ExpressionFactory _el_expressionfactory;
019 private org.apache.InstanceManager _jsp_instancemanager;
020
021 public Object getDependants() {
022 return _jspx_dependants;
023 }
024
025 public void _jspInit() {
026 _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
027 _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
028 }
029
030 public void _jspDestroy() {
031 }
032
033 public void _jspService(HttpServletRequest request, HttpServletResponse response)
034 throws java.io.IOException, ServletException {
035
036 PageContext pageContext = null;
037 HttpSession session = null;
038 ServletContext application = null;
039 ServletConfig config = null;
040 JspWriter out = null;
041 Object page = this;
042 JspWriter _jspx_out = null;
043 PageContext _jspx_page_context = null;
044
045
046 try {
047 response.setContentType("text/html; charset=ISO-8859-1");
048 pageContext = _jspxFactory.getPageContext(this, request, response,
049 null, true, 8192, true);
050 _jspx_page_context = pageContext;
051 application = pageContext.getServletContext();
052 config = pageContext.getServletConfig();
053 session = pageContext.getSession();
054 out = pageContext.getOut();
055 _jspx_out = out;
056
057
058 X509Certificate cert = (X509Certificate) CAHelperUtils.getCertificateStore().getCACertificate();
059 request.setAttribute("cert", cert);
060 String base64Cert = CaUtils.base64Certificate(cert);
061 String fpSHA1 = CertificateUtil.generateFingerprint(cert, "SHA1");
062 String fpMD5 = CertificateUtil.generateFingerprint(cert, "MD5");
063
064 out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\r\n<title>Download CA's Certificate</title>\r\n</head>\r\n<body>\r\n<h2>Download CA's Certificate</h2>\r\n<p>This page enables you to download and install CA's certificate into your web browser.</p>\r\n\r\n<SCRIPT LANGUAGE=\"VBScript\">\r\n<!--\r\nSub Install_Onclick\r\n certificate = document.installForm.caCert.value\r\n On Error Resume Next\r\n Dim Enroll\r\n\r\n Set Enroll = CreateObject(\"CEnroll.CEnroll.2\")\r\n if ( (Err.Number = 438) OR (Err.Number = 429) ) Then\r\n Err.Clear\r\n Set Enroll = CreateObject(\"CEnroll.CEnroll.1\")\r\n End If\r\n if Err.Number <> 0 then\r\n MsgBox(\"Error in creating CEnroll object. error:\" & Hex(err))\r\n Else\r\n Call Enroll.installPKCS7(certificate)\r\n If err.Number <> 0 then\r\n MsgBox(\"Certificate installation failed. error: \"& Hex(err))\r\n Else\r\n MsgBox(\"CA Certificate installed sucessfully\")\r\n");
065 out.write(" End if\r\n End If\r\nEnd sub\r\n-->\r\n</SCRIPT>\r\n\r\nTo install CA's certificate into Internet Explorer, click on the <i>Install CA's Certificate</i> button below.\r\nFor other web browsers, click on <a href=\"DownloadCertificateServlet?type=ca\">this link</a>.\r\n<form method=\"POST\">\r\n <input type=\"button\" value=\"Install CA's Certificate\" onClick=\"Install_Onclick()\"/>\r\n</form>\r\n\r\n<br><b>Base64 encoded Certificate Text</b>\r\n<br>\r\n<form name=\"installForm\" method=\"POST\">\r\n <textarea name=\"cacert\" rows=\"10\" cols=\"80\" READONLY>");
066 out.print(base64Cert);
067 out.write("</textarea>\r\n</form>\r\n\r\n <table border=\"0\">\r\n <tr>\r\n <th colspan=\"2\" align=\"left\">Certificate Details</th>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Finger Prints</th>\r\n <td>SHA1 ");
068 out.print(fpSHA1);
069 out.write("<br>MD5 ");
070 out.print(fpMD5);
071 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Version:</th>\r\n <td>");
072 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.version}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
073 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Subject:</th>\r\n <td>");
074 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.subjectDN.name}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
075 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Issuer:</th>\r\n <td>");
076 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.issuerDN.name}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
077 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Serial Number:</th>\r\n <td>");
078 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.serialNumber}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
079 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Valid From:</th>\r\n <td>");
080 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.notBefore}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
081 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Valid To:</th>\r\n <td>");
082 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.notAfter}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
083 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Signature Alg:</th>\r\n <td>");
084 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.sigAlgName}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
085 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\">Public Key Alg:</th>\r\n <td>");
086 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert.publicKey.algorithm}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
087 out.write("</td>\r\n </tr>\r\n <tr>\r\n <th align=\"right\" valign=\"top\">cert.toString()</th>\r\n <td><pre>");
088 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${cert}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));
089 out.write("</pre></td>\r\n </tr>\r\n </table>\r\n\r\n<br><a href=\"");
090 out.print(request.getContextPath());
091 out.write("\">Back to CA Helper home</a>\r\n\r\n</body>\r\n</html>\r\n");
092 } catch (Throwable t) {
093 if (!(t instanceof SkipPageException)){
094 out = _jspx_out;
095 if (out != null && out.getBufferSize() != 0)
096 try { out.clearBuffer(); } catch (java.io.IOException e) {}
097 if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
098 }
099 } finally {
100 _jspxFactory.releasePageContext(_jspx_page_context);
101 }
102 }
103 }