⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sshuserinfo.java

📁 Use the links below to download a source distribution of Ant from one of our mirrors. It is good pra
💻 JAVA
字号:
/* *  Licensed to the Apache Software Foundation (ASF) under one or more *  contributor license agreements.  See the NOTICE file distributed with *  this work for additional information regarding copyright ownership. *  The ASF licenses this file to You 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 org.apache.tools.ant.taskdefs.optional.ssh;import com.jcraft.jsch.UserInfo;import com.jcraft.jsch.UIKeyboardInteractive;/** * Class containing information on an SSH user. */public class SSHUserInfo implements UserInfo, UIKeyboardInteractive {    private String name;    private String password = null;    private String keyfile;    private String passphrase = null;    private boolean trustAllCertificates;    /** Constructor for SSHUserInfo. */    public SSHUserInfo() {        super();        this.trustAllCertificates = false;    }    /**     * Constructor for SSHUserInfo.     * @param password the user's password     * @param trustAllCertificates if true trust hosts whose identity is unknown     */    public SSHUserInfo(String password, boolean trustAllCertificates) {        super();        this.password = password;        this.trustAllCertificates = trustAllCertificates;    }    /**     * Gets the user name.     * @return the user name     */    public String getName() {        return name;    }    /**     * Gets the pass phrase of the user.     * @param message a message     * @return the passphrase     */    public String getPassphrase(String message) {        return passphrase;    }    /**     * Gets the user's password.     * @return the user's password     */    public String getPassword() {        return password;    }    /**     * Prompts a string.     * @param str the string     * @return whether the string was prompted     */    public boolean prompt(String str) {        return false;    }    /**     * Indicates whether a retry was done.     * @return whether a retry was done     */    public boolean retry() {        return false;    }    /**     * Sets the name.     * @param name The name to set     */    public void setName(String name) {        this.name = name;    }    /**     * Sets the passphrase.     * @param passphrase The passphrase to set     */    public void setPassphrase(String passphrase) {        this.passphrase = passphrase;    }    /**     * Sets the password.     * @param password The password to set     */    public void setPassword(String password) {        this.password = password;    }    /**     * Sets the trust.     * @param trust whether to trust or not.     */    public void setTrust(boolean trust) {        this.trustAllCertificates = trust;    }    /**     * @return whether to trust or not.     */    public boolean getTrust() {        return this.trustAllCertificates;    }    /**     * Returns the passphrase.     * @return String     */    public String getPassphrase() {        return passphrase;    }    /**     * Returns the keyfile.     * @return String     */    public String getKeyfile() {        return keyfile;    }    /**     * Sets the keyfile.     * @param keyfile The keyfile to set     */    public void setKeyfile(String keyfile) {        this.keyfile = keyfile;    }    /**     * Implement the UserInfo interface.     * @param message ignored     * @return true always     */    public boolean promptPassphrase(String message) {        return true;    }    /**     * Implement the UserInfo interface.     * @param passwordPrompt ignored     * @return true the first time this is called, false otherwise     */    public boolean promptPassword(String passwordPrompt) {        return true;    }    /**     * Implement the UserInfo interface.     * @param message ignored     * @return the value of trustAllCertificates     */    public boolean promptYesNo(String message) {        return trustAllCertificates;    }//why do we do nothing?    /**     * Implement the UserInfo interface (noop).     * @param message ignored     */    public void showMessage(String message) {        //log(message, Project.MSG_DEBUG);    }    /**     * Implementation of UIKeyboardInteractive#promptKeyboardInteractive.     * @param destination not used.     * @param name        not used.     * @param instruction not used.     * @param prompt      the method checks if this is one in length.     * @param echo        the method checks if the first element is false.     * @return the password in an size one array if there is a password     *         and if the prompt and echo checks pass.     */    public String[] promptKeyboardInteractive(String destination,                                              String name,                                              String instruction,                                              String[] prompt,                                              boolean[] echo) {        if (prompt.length != 1 || echo[0] || this.password == null) {            return null;        }        String[] response = new String[1];        response[0] = this.password;        return response;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -