X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMailCertificates.java;h=2fa6ac097e249b35628bf23312c2f5c5302ecdaf;hb=22f27f39d5b62ca5b264b2016daae7e870f78fd8;hp=72952d4bb4d9bc516a6068763e42ccc0d7e6d6b0;hpb=ea6ee43a84f9a1f055d97ff0de8196569154e4d0;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/MailCertificates.java b/src/org/cacert/gigi/pages/account/MailCertificates.java index 72952d4b..2fa6ac09 100644 --- a/src/org/cacert/gigi/pages/account/MailCertificates.java +++ b/src/org/cacert/gigi/pages/account/MailCertificates.java @@ -1,6 +1,8 @@ package org.cacert.gigi.pages.account; import java.io.IOException; +import java.io.PrintWriter; +import java.security.GeneralSecurityException; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -9,6 +11,7 @@ import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.cacert.gigi.Certificate; import org.cacert.gigi.User; import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.output.CertificateTable; @@ -24,19 +27,38 @@ public class MailCertificates extends Page { } @Override - public void doGet(HttpServletRequest req, HttpServletResponse resp) - throws IOException { + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + PrintWriter out = resp.getWriter(); + String pi = req.getPathInfo().substring(PATH.length()); + if (pi.length() != 0) { + pi = pi.substring(1); + int id = Integer.parseInt(pi); + Certificate c = new Certificate(id); + if (LoginPage.getUser(req).getId() != c.getOwnerId()) { + out.println(translate(req, "You do not own this certificate.")); + return; + } + out.println("
"); + try { + out.print(c.cert()); + } catch (GeneralSecurityException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + out.println(""); + return; + } + HashMap