diff a/test/lib/jdk/test/lib/SigTestUtil.java b/test/lib/jdk/test/lib/SigTestUtil.java --- a/test/lib/jdk/test/lib/SigTestUtil.java +++ b/test/lib/jdk/test/lib/SigTestUtil.java @@ -1,7 +1,7 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. @@ -52,30 +52,34 @@ } // collection of all supported digest algorithms // note that the entries are ordered by required key sizes private static final String[] DIGEST_ALGS = { + "SHA3-512", "SHA-512", + "SHA3-384", "SHA-384", + "SHA3-256", "SHA-256", "SHA-512/256", + "SHA3-224", "SHA-224", "SHA-512/224", "SHA-1", "MD2", "MD5" // these aren't supported by RSA PSS }; // indice for message digest algorithms lookup // may need to be adjusted if new algorithms are added - private static final int PKCS1_5_INDEX_768 = 0; - private static final int PKCS1_5_INDEX_512 = 2; + private static final int PKCS1_5_INDEX_768 = 0; // 512, 384-bit digests + private static final int PKCS1_5_INDEX_512 = 4; // 256-bit digests private static final int PKCS1_5_INDEX_END = DIGEST_ALGS.length; - private static final int PSS_INDEX_2048 = 0; - private static final int PSS_INDEX_1024 = 1; - private static final int PSS_INDEX_768 = 2; - private static final int PSS_INDEX_512 = 4; - private static final int PSS_INDEX_END = 7; + private static final int PSS_INDEX_2048 = 0; // 512-bit digests + private static final int PSS_INDEX_1024 = 2; // 384-bit digests + private static final int PSS_INDEX_768 = 4; // 256-bit digests + private static final int PSS_INDEX_512 = 7; // 224-bit digests + private static final int PSS_INDEX_END = DIGEST_ALGS.length - 2; public static Iterable getDigestAlgorithms(SignatureType type, int keysize) throws RuntimeException { // initialize to all, then trim based on key size @@ -133,13 +137,12 @@ public static String generateSigAlg(SignatureType type, String mdAlg) throws RuntimeException { switch (type) { case RSA: - int idx = mdAlg.indexOf("-"); - if (idx != -1) { - mdAlg = mdAlg.substring(0, idx) + mdAlg.substring(idx+1); + if (mdAlg.startsWith("SHA-")) { + mdAlg = mdAlg.substring(0, 3) + mdAlg.substring(4); } return mdAlg + "with" + type.toString(); case RSASSA_PSS: return type.toString(); default: