/* * Copyright 2011 Jesper Terkelsen. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * */ package dk.deck.remoteconsole.userinfo; import java.io.IOException; import dk.deck.remoteconsole.input.PasswordField; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * A user info that returns true on all questions, * but will prompt for a passphrase, if the private key is encrypted. * * @author Jesper Terkelsen */ public class PassphraseUserInfo extends LoggingUserInfo { private static Log log = LogFactory.getLog(PassphraseUserInfo.class); @Override public String getPassphrase() { try { char[] passphrase = PasswordField.getPassword(System.in, System.out, "> "); return new String(passphrase); } catch (IOException ex) { log.warn(ex.getMessage(), ex); return ""; } } @Override public boolean promptPassphrase(String message) { log.info("PassPhrase: " + message); return true; } }