From 6443cd493db6d0241968e15c59a067684e42d0a8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Sat, 16 Aug 2014 00:28:51 +0200 Subject: [PATCH] Pre-guess signature for cert based on csr signature. --- .../gigi/pages/account/CertificateIssueForm.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/org/cacert/gigi/pages/account/CertificateIssueForm.java b/src/org/cacert/gigi/pages/account/CertificateIssueForm.java index 115e958e..4332a391 100644 --- a/src/org/cacert/gigi/pages/account/CertificateIssueForm.java +++ b/src/org/cacert/gigi/pages/account/CertificateIssueForm.java @@ -206,6 +206,8 @@ public class CertificateIssueForm extends Form { PublicKey pk = parsed.getSubjectPublicKeyInfo(); checkKeyStrength(pk, out); String sign = getSignatureAlgorithm(data); + guessDigest(sign); + out.println("
digest: " + sign + "
"); this.csr = csr; @@ -219,6 +221,7 @@ public class CertificateIssueForm extends Form { } checkKeyStrength(parsed.getPubkey(), out); String sign = getSignatureAlgorithm(data); + guessDigest(sign); out.println("
digest: " + sign + "
"); // spkacChallenge @@ -315,6 +318,14 @@ public class CertificateIssueForm extends Form { return false; } + private void guessDigest(String sign) { + if (sign.toLowerCase().startsWith("sha512")) { + selectedDigest = Digest.SHA512; + } else if (sign.toLowerCase().startsWith("sha384")) { + selectedDigest = Digest.SHA384; + } + } + private TreeSet parseSANBox(String SANs) { String[] SANparts = SANs.split("[\r\n]+|, *"); TreeSet parsedNames = new TreeSet<>(); -- 2.39.2