view app/src/main/java/ch/ethz/ssh2/AuthAgentCallback.java @ 509:2eb4fa13b9ef

update 5250 encryption to allow TLS1.3, remove old SSLv2 and SSLv3 methods
author Carl Byington <carl@five-ten-sg.com>
date Sun, 29 Jan 2023 10:25:21 -0700
parents d29cce60f393
children
line wrap: on
line source

package ch.ethz.ssh2;

import java.security.KeyPair;
import java.util.Map;

/**
 * AuthAgentCallback.
 *
 * @author Kenny Root
 * @version $Id$
 */
public interface AuthAgentCallback {

    /**
     * @return array of blobs containing the OpenSSH-format encoded public keys
     */
    Map<String, byte[]> retrieveIdentities();

    /**
     * @param pair A <code>RSAPrivateKey</code> or <code>DSAPrivateKey</code> or <code>ECPrivateKey</code>
     *            containing a DSA or RSA or EC private key of
     *            the user in standard java key format.
     * @param comment comment associated with this key
     * @param confirmUse whether to prompt before using this key
     * @param lifetime lifetime in seconds for key to be remembered
     * @return success or failure
     */
    boolean addIdentity(KeyPair pair, String comment, boolean confirmUse, int lifetime);

    /**
     * @param publicKey byte blob containing the OpenSSH-format encoded public key
     * @return success or failure
     */
    boolean removeIdentity(byte[] publicKey);

    /**
     * @return success or failure
     */
    boolean removeAllIdentities();

    /**
     * @param publicKey byte blob containing the OpenSSH-format encoded public key
     * @return A <code>RSAPrivateKey</code> or <code>DSAPrivateKey</code>
     *         containing a DSA or RSA or EC private key of
     *         the user in standard java key format.
     */
    KeyPair getKeyPair(byte[] publicKey);

    /**
     * @return
     */
    boolean isAgentLocked();

    /**
     * @param lockPassphrase
     */
    boolean setAgentLock(String lockPassphrase);

    /**
     * @param unlockPassphrase
     * @return
     */
    boolean requestAgentUnlock(String unlockPassphrase);
}