changeset 14927:b9d3fa975c60

8185934: keytool shows "Signature algorithm: SHA1withECDSA, -1-bit key" Reviewed-by: mullan, andrew
author weijun
date Tue, 08 Aug 2017 21:37:38 +0800
parents 7c7b1d67d6e6
children 466b007eedbb
files src/share/classes/sun/security/tools/jarsigner/Main.java src/share/classes/sun/security/tools/jarsigner/Resources.java src/share/classes/sun/security/tools/keytool/Main.java src/share/classes/sun/security/tools/keytool/Resources.java
diffstat 4 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/sun/security/tools/jarsigner/Main.java	Sat Mar 07 18:35:20 2020 +0530
+++ b/src/share/classes/sun/security/tools/jarsigner/Main.java	Tue Aug 08 21:37:38 2017 +0800
@@ -1196,8 +1196,12 @@
 
     private String withWeak(PublicKey key) {
         if (DISABLED_CHECK.permits(SIG_PRIMITIVE_SET, key)) {
-            return String.format(
-                    rb.getString("key.bit"), KeyUtil.getKeySize(key));
+            int kLen = KeyUtil.getKeySize(key);
+            if (kLen >= 0) {
+                return String.format(rb.getString("key.bit"), kLen);
+            } else {
+                return rb.getString("unknown.size");
+            }
         } else {
             seeWeak = true;
             return String.format(
--- a/src/share/classes/sun/security/tools/jarsigner/Resources.java	Sat Mar 07 18:35:20 2020 +0530
+++ b/src/share/classes/sun/security/tools/jarsigner/Resources.java	Tue Aug 08 21:37:38 2017 +0800
@@ -157,6 +157,7 @@
         {"with.weak", "%s (weak)"},
         {"key.bit", "%d-bit key"},
         {"key.bit.weak", "%d-bit key (weak)"},
+        {"unknown.size", "unknown size"},
 
         {"jarsigner.", "jarsigner: "},
         {"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.",
--- a/src/share/classes/sun/security/tools/keytool/Main.java	Sat Mar 07 18:35:20 2020 +0530
+++ b/src/share/classes/sun/security/tools/keytool/Main.java	Tue Aug 08 21:37:38 2017 +0800
@@ -3105,8 +3105,14 @@
 
     private String withWeak(PublicKey key) {
         if (DISABLED_CHECK.permits(SIG_PRIMITIVE_SET, key)) {
-            return String.format(rb.getString("key.bit"),
-                    KeyUtil.getKeySize(key), key.getAlgorithm());
+            int kLen = KeyUtil.getKeySize(key);
+            if (kLen >= 0) {
+                return String.format(rb.getString("key.bit"),
+                        kLen, key.getAlgorithm());
+            } else {
+                return String.format(
+                        rb.getString("unknown.size.1"), key.getAlgorithm());
+            }
         } else {
             return String.format(rb.getString("key.bit.weak"),
                     KeyUtil.getKeySize(key), key.getAlgorithm());
--- a/src/share/classes/sun/security/tools/keytool/Resources.java	Sat Mar 07 18:35:20 2020 +0530
+++ b/src/share/classes/sun/security/tools/keytool/Resources.java	Tue Aug 08 21:37:38 2017 +0800
@@ -445,6 +445,7 @@
         {"with.weak", "%s (weak)"},
         {"key.bit", "%1$d-bit %2$s key"},
         {"key.bit.weak", "%1$d-bit %2$s key (weak)"},
+        {"unknown.size.1", "unknown size %s key"},
         {".PATTERN.printX509Cert.with.weak",
                 "Owner: {0}\nIssuer: {1}\nSerial number: {2}\nValid from: {3} until: {4}\nCertificate fingerprints:\n\t SHA1: {5}\n\t SHA256: {6}\nSignature algorithm name: {7}\nSubject Public Key Algorithm: {8} ({9,number,#})\nVersion: {10}"},
         {"PKCS.10.with.weak",