+ private int id;
+ private int ownerId;
+ private String serial;
+ private String dn;
+ private String md;
+ private String csrName;
+ private String crtName;
+ private String csr = null;
+
+ public Certificate(int ownerId, String dn, String md, String csr) {
+ this.ownerId = ownerId;
+ this.dn = dn;
+ this.md = md;
+ this.csr = csr;
+ }
+
+ private Certificate(String serial) {
+ try {
+ PreparedStatement ps = DatabaseConnection.getInstance().prepare(
+ "SELECT id,subject, md, csr_name, crt_name,memid FROM `emailcerts` WHERE serial=?");
+ ps.setString(1, serial);
+ ResultSet rs = ps.executeQuery();
+ if (!rs.next()) {
+ throw new IllegalArgumentException("Invalid mid " + serial);
+ }
+ this.id = rs.getInt(1);
+ dn = rs.getString(2);
+ md = rs.getString(3);
+ csrName = rs.getString(4);
+ crtName = rs.getString(5);
+ ownerId = rs.getInt(6);
+ this.serial = serial;
+ rs.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+