private static char[] getKeyPassword(KeyManagersType kmc) { char[] keyPass = kmc.isSetKeyPassword() ? deobfuscate(kmc.getKeyPassword()) : null; if (keyPass != null) { return keyPass; } String callbackHandlerClass = kmc.getKeyPasswordCallbackHandler(); if (callbackHandlerClass == null) { return null; } CallbackHandler ch = null; try { ch = (CallbackHandler)ClassLoaderUtils.loadClass(callbackHandlerClass, TLSParameterJaxBUtils.class) .newInstance(); String prompt = kmc.getKeyStore().getFile(); if (prompt == null) { prompt = kmc.getKeyStore().getResource(); } PasswordCallback pwCb = new PasswordCallback(prompt, false); PasswordCallback[] callbacks = new PasswordCallback[] {pwCb}; ch.handle(callbacks); keyPass = callbacks[0].getPassword(); } catch (Exception e) { LOG.log(Level.WARNING, "Cannot load key password from callback handler: " + e.getMessage(), e); } return keyPass; }
private static char[] getKeyPassword(KeyManagersType kmc) { char[] keyPass = kmc.isSetKeyPassword() ? deobfuscate(kmc.getKeyPassword()) : null; if (keyPass != null) { return keyPass; } String callbackHandlerClass = kmc.getKeyPasswordCallbackHandler(); if (callbackHandlerClass == null) { return null; } CallbackHandler ch = null; try { ch = (CallbackHandler)ClassLoaderUtils.loadClass(callbackHandlerClass, TLSParameterJaxBUtils.class) .newInstance(); String prompt = kmc.getKeyStore().getFile(); if (prompt == null) { prompt = kmc.getKeyStore().getResource(); } PasswordCallback pwCb = new PasswordCallback(prompt, false); PasswordCallback[] callbacks = new PasswordCallback[] {pwCb}; ch.handle(callbacks); keyPass = callbacks[0].getPassword(); } catch (Exception e) { LOG.log(Level.WARNING, "Cannot load key password from callback handler: " + e.getMessage(), e); } return keyPass; }