src/share/classes/sun/security/krb5/internal/crypto/EType.java

Print this page
rev 7199 : 8014310: JAAS/Krb5LoginModule using des encytypes failure with NPE after JDK-8012679

*** 228,250 **** } /** * Retrieves the default etypes from the configuration file, or * if that's not available, return the built-in list of default etypes. */ ! // used in KrbAsReq, KeyTab ! public static int[] getDefaults(String configName) { try { ! return Config.getInstance().defaultEtype(configName); } catch (KrbException exc) { if (DEBUG) { System.out.println("Exception while getting " + configName + exc.getMessage()); System.out.println("Using default builtin etypes"); } return getBuiltInDefaults(); } } /** * Retrieve the default etypes from the configuration file for * those etypes for which there are corresponding keys. --- 228,254 ---- } /** * Retrieves the default etypes from the configuration file, or * if that's not available, return the built-in list of default etypes. + * This result is always non-empty. If no etypes are found, + * an exception is thrown. */ ! public static int[] getDefaults(String configName) ! throws KrbException { ! Config config = null; try { ! config = Config.getInstance(); } catch (KrbException exc) { if (DEBUG) { System.out.println("Exception while getting " + configName + exc.getMessage()); System.out.println("Using default builtin etypes"); } return getBuiltInDefaults(); } + return config.defaultEtype(configName); } /** * Retrieve the default etypes from the configuration file for * those etypes for which there are corresponding keys.
*** 254,267 **** * we have keys. */ public static int[] getDefaults(String configName, EncryptionKey[] keys) throws KrbException { int[] answer = getDefaults(configName); - if (answer == null) { - throw new KrbException("No supported encryption types listed in " - + configName); - } List<Integer> list = new ArrayList<>(answer.length); for (int i = 0; i < answer.length; i++) { if (EncryptionKey.findKey(answer[i], keys) != null) { list.add(answer[i]); --- 258,267 ----