Package org.apache.sshd.agent.local
Class AgentImpl
- java.lang.Object
-
- org.apache.sshd.agent.local.AgentImpl
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.util.Map.Entry<java.security.KeyPair,java.lang.String>>keysprivate static org.slf4j.LoggerLOGprivate java.util.concurrent.atomic.AtomicBooleanopen-
Fields inherited from interface org.apache.sshd.agent.SshAgent
SSH_AUTHSOCKET_ENV_NAME
-
-
Constructor Summary
Constructors Constructor Description AgentImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddIdentity(java.security.KeyPair key, java.lang.String comment, SshAgentKeyConstraint... constraints)Adds a key to the agent.voidclose()java.lang.Iterable<? extends java.util.Map.Entry<java.security.PublicKey,java.lang.String>>getIdentities()protected static java.util.Map.Entry<java.security.KeyPair,java.lang.String>getKeyPair(java.util.Collection<? extends java.util.Map.Entry<java.security.KeyPair,java.lang.String>> keys, java.security.PublicKey key)booleanisOpen()voidremoveAllIdentities()voidremoveIdentity(java.security.PublicKey key)java.security.KeyPairresolveLocalIdentity(java.security.PublicKey key)Used for reporting client-side public key authentication via agentjava.util.Map.Entry<java.lang.String,byte[]>sign(SessionContext session, java.security.PublicKey key, java.lang.String algo, byte[] data)
-
-
-
Method Detail
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacejava.nio.channels.Channel
-
getIdentities
public java.lang.Iterable<? extends java.util.Map.Entry<java.security.PublicKey,java.lang.String>> getIdentities() throws java.io.IOException- Specified by:
getIdentitiesin interfaceSshAgent- Throws:
java.io.IOException
-
sign
public java.util.Map.Entry<java.lang.String,byte[]> sign(SessionContext session, java.security.PublicKey key, java.lang.String algo, byte[] data) throws java.io.IOException
- Specified by:
signin interfaceSshAgent- Parameters:
session- The currentSessionContextkey- ThePublicKeyto use for signingalgo- Recommended signature algorithm - ifnull/empty then one will be selected based on the key type and/or signature factories. Note: even if specific algorithm specified, the implementation may disregard and choose anotherdata- Data to sign- Returns:
- used algorithm + signed data - using the identity
- Throws:
java.io.IOException- If failed to sign
-
addIdentity
public void addIdentity(java.security.KeyPair key, java.lang.String comment, SshAgentKeyConstraint... constraints) throws java.io.IOExceptionDescription copied from interface:SshAgentAdds a key to the agent.- Specified by:
addIdentityin interfaceSshAgent- Parameters:
key-KeyPairto addcomment- to associate with the keyconstraints-SshAgentKeyConstraints for this key to pass on to the agent- Throws:
java.io.IOException- if an error in the communication with the agent occurred, or the agent did not return a reply indicating successful addition of the key
-
resolveLocalIdentity
public java.security.KeyPair resolveLocalIdentity(java.security.PublicKey key)
Description copied from interface:SshAgentUsed for reporting client-side public key authentication via agent- Specified by:
resolveLocalIdentityin interfaceSshAgent- Parameters:
key- ThePublicKeythat is going to be used- Returns:
- The
KeyPairidentity for it - if available -nullotherwise
-
removeIdentity
public void removeIdentity(java.security.PublicKey key) throws java.io.IOException- Specified by:
removeIdentityin interfaceSshAgent- Throws:
java.io.IOException
-
removeAllIdentities
public void removeAllIdentities() throws java.io.IOException- Specified by:
removeAllIdentitiesin interfaceSshAgent- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.nio.channels.Channel- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
getKeyPair
protected static java.util.Map.Entry<java.security.KeyPair,java.lang.String> getKeyPair(java.util.Collection<? extends java.util.Map.Entry<java.security.KeyPair,java.lang.String>> keys, java.security.PublicKey key)
-
-