]> WPIA git - gigi.git/commitdiff
SPKAC: add intstall link for signed certificates.
authorFelix Dörre <felix@dogcraft.de>
Tue, 22 Jul 2014 23:48:09 +0000 (01:48 +0200)
committerFelix Dörre <felix@dogcraft.de>
Thu, 24 Jul 2014 23:44:27 +0000 (01:44 +0200)
src/org/cacert/gigi/pages/account/MailCertificates.java

index 56a0b5bd5cf780573f0fe5f47baa05cd89548273..de8c1ca010c1cde5d5fd2b7727896b3823cf6a81 100644 (file)
@@ -31,6 +31,7 @@ public class MailCertificates extends Page {
 
        @Override
        public boolean beforeTemplate(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+
                String pi = req.getPathInfo().substring(PATH.length());
                if (pi.length() == 0) {
                        return false;
@@ -38,9 +39,16 @@ public class MailCertificates extends Page {
                pi = pi.substring(1);
                boolean crt = false;
                boolean cer = false;
+               resp.setContentType("application/pkix-cert");
                if (pi.endsWith(".crt")) {
                        crt = true;
                        pi = pi.substring(0, pi.length() - 4);
+               } else if (pi.endsWith(".cer")) {
+                       if (req.getParameter("install") != null) {
+                               resp.setContentType("application/x-x509-user-cert");
+                       }
+                       cer = true;
+                       pi = pi.substring(0, pi.length() - 4);
                } else if (pi.endsWith(".cer")) {
                        cer = true;
                        pi = pi.substring(0, pi.length() - 4);
@@ -103,6 +111,11 @@ public class MailCertificates extends Page {
                        out.print(".cer'>");
                        out.print(translate(req, "DER encoded Certificate"));
                        out.println("</a><br/>");
+                       out.print("<a href='");
+                       out.print(serial);
+                       out.print(".cer?install'>");
+                       out.print(translate(req, "Install into browser."));
+                       out.println("</a><br/>");
 
                        out.println("<pre>");
                        try {