X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Faccount%2Fcerts%2FCertificates.java;h=9c0dafd0b9622c292b7a850dbd7a72a15d2ed8da;hb=7a85d1889b747e9e82f1036ac1825aefac9bb6c0;hp=78d8a09f1fa696dfb9d9b1623a92926376e6ef7c;hpb=0d53a31181ded3b9897179d3099ccb74a159d2cc;p=gigi.git diff --git a/src/club/wpia/gigi/pages/account/certs/Certificates.java b/src/club/wpia/gigi/pages/account/certs/Certificates.java index 78d8a09f..9c0dafd0 100644 --- a/src/club/wpia/gigi/pages/account/certs/Certificates.java +++ b/src/club/wpia/gigi/pages/account/certs/Certificates.java @@ -2,6 +2,7 @@ package club.wpia.gigi.pages.account.certs; import java.io.IOException; import java.io.PrintWriter; +import java.math.BigInteger; import java.net.URLEncoder; import java.security.GeneralSecurityException; import java.security.cert.X509Certificate; @@ -72,7 +73,7 @@ public class Certificates extends Page implements HandlesMixedRequest { cer = true; pi = pi.substring(0, pi.length() - 4); } - String serial = pi; + BigInteger serial = new BigInteger(pi, 16); try { Certificate c = Certificate.getBySerial(serial); if (c == null || ( !support && LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) { @@ -144,7 +145,7 @@ public class Certificates extends Page implements HandlesMixedRequest { pi = pi.substring(1); String serial = pi; - Certificate c = Certificate.getBySerial(serial); + Certificate c = Certificate.getBySerial(new BigInteger(serial, 16)); Language l = LoginPage.getLanguage(req); if (c == null || ( !support && LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) { @@ -182,8 +183,15 @@ public class Certificates extends Page implements HandlesMixedRequest { vars.put("DN", c.getDistinguishedName()); vars.put("digest", c.getMessageDigest()); vars.put("profile", c.getProfile().getVisibleName()); - vars.put("fingerprint", "TBD"); // TODO function needs to be - // implemented in Certificate.java + try { + vars.put("fingerprintSHA1", c.getFingerprint("sha-1")); + vars.put("fingerprintSHA256", c.getFingerprint("sha-256")); + } catch (GeneralSecurityException e) { + e.printStackTrace(); + } catch (GigiApiException e) { + e.format(out, l, getDefaultVars(req)); + } + try { if (st == CertificateStatus.ISSUED || st == CertificateStatus.REVOKED) { @@ -231,7 +239,7 @@ public class Certificates extends Page implements HandlesMixedRequest { } catch (GeneralSecurityException e) { e.printStackTrace(); } catch (GigiApiException e) { - e.format(out, l); + e.format(out, l, getDefaultVars(req)); } certDisplay.output(out, getLanguage(req), vars);