X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Faccount%2Fcerts%2FCertificates.java;h=9c0dafd0b9622c292b7a850dbd7a72a15d2ed8da;hb=7d8ec14b31b08647465fe73c48218f0afa149b09;hp=62322554361348c2d91a0cedef772b52b1e054e9;hpb=a1ee192e00a8c1c1bb970d82e06c82ca25d9ab35;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 62322554..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) {