Class UserAuthHostBased
- java.lang.Object
-
- org.apache.sshd.common.util.logging.AbstractLoggingBean
-
- org.apache.sshd.client.auth.AbstractUserAuth
-
- org.apache.sshd.client.auth.hostbased.UserAuthHostBased
-
- All Implemented Interfaces:
UserAuth
,ClientSessionHolder
,UserAuthInstance<ClientSession>
,NamedResource
,SignatureFactoriesHolder
,SignatureFactoriesManager
public class UserAuthHostBased extends AbstractUserAuth implements SignatureFactoriesManager
-
-
Field Summary
Fields Modifier and Type Field Description protected HostKeyIdentityProvider
clientHostKeys
private java.lang.String
clientHostname
private java.lang.String
clientUsername
private java.util.List<NamedFactory<Signature>>
factories
protected java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>>
keyInfo
protected java.util.Iterator<? extends java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>>>
keys
static java.lang.String
NAME
-
Fields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log
-
Fields inherited from interface org.apache.sshd.common.NamedResource
BY_NAME_COMPARATOR, NAME_EXTRACTOR
-
-
Constructor Summary
Constructors Constructor Description UserAuthHostBased(HostKeyIdentityProvider clientHostKeys)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
appendSignature(ClientSession session, java.lang.String service, java.lang.String keyType, java.security.PublicKey key, byte[] keyBytes, java.lang.String clientHostname, java.lang.String clientUsername, Signature verifier, Buffer buffer)
java.lang.String
getClientHostname()
java.lang.String
getClientUsername()
java.util.List<NamedFactory<Signature>>
getSignatureFactories()
void
init(ClientSession session, java.lang.String service)
protected boolean
processAuthDataRequest(ClientSession session, java.lang.String service, Buffer buffer)
protected java.lang.String
resolveClientHostname(ClientSession session)
protected java.lang.String
resolveClientUsername(ClientSession session)
protected boolean
sendAuthDataRequest(ClientSession session, java.lang.String service)
void
setClientHostname(java.lang.String clientHostname)
void
setClientUsername(java.lang.String clientUsername)
void
setSignatureFactories(java.util.List<NamedFactory<Signature>> factories)
void
signalAuthMethodFailure(ClientSession session, java.lang.String service, boolean partial, java.util.List<java.lang.String> serverMethods, Buffer buffer)
Signals reception ofSSH_MSG_USERAUTH_FAILURE
messagevoid
signalAuthMethodSuccess(ClientSession session, java.lang.String service, Buffer buffer)
Signal reception ofSSH_MSG_USERAUTH_SUCCESS
message-
Methods inherited from class org.apache.sshd.client.auth.AbstractUserAuth
destroy, getClientSession, getName, getService, getSession, isCancellable, process, setCancellable, toString
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.sshd.common.signature.SignatureFactoriesHolder
getSignatureFactoriesNameList, getSignatureFactoriesNames
-
Methods inherited from interface org.apache.sshd.common.signature.SignatureFactoriesManager
setSignatureFactoriesNameList, setSignatureFactoriesNames, setSignatureFactoriesNames
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
keys
protected java.util.Iterator<? extends java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>>> keys
-
keyInfo
protected java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>> keyInfo
-
clientHostKeys
protected final HostKeyIdentityProvider clientHostKeys
-
factories
private java.util.List<NamedFactory<Signature>> factories
-
clientUsername
private java.lang.String clientUsername
-
clientHostname
private java.lang.String clientHostname
-
-
Constructor Detail
-
UserAuthHostBased
public UserAuthHostBased(HostKeyIdentityProvider clientHostKeys)
-
-
Method Detail
-
init
public void init(ClientSession session, java.lang.String service) throws java.lang.Exception
- Specified by:
init
in interfaceUserAuth
- Overrides:
init
in classAbstractUserAuth
- Parameters:
session
- TheClientSession
service
- The requesting service name- Throws:
java.lang.Exception
- If failed to initialize the mechanism
-
getSignatureFactories
public java.util.List<NamedFactory<Signature>> getSignatureFactories()
- Specified by:
getSignatureFactories
in interfaceSignatureFactoriesHolder
- Returns:
- The list of named
Signature
factories
-
setSignatureFactories
public void setSignatureFactories(java.util.List<NamedFactory<Signature>> factories)
- Specified by:
setSignatureFactories
in interfaceSignatureFactoriesManager
-
getClientUsername
public java.lang.String getClientUsername()
-
setClientUsername
public void setClientUsername(java.lang.String clientUsername)
-
getClientHostname
public java.lang.String getClientHostname()
-
setClientHostname
public void setClientHostname(java.lang.String clientHostname)
-
sendAuthDataRequest
protected boolean sendAuthDataRequest(ClientSession session, java.lang.String service) throws java.lang.Exception
- Specified by:
sendAuthDataRequest
in classAbstractUserAuth
- Throws:
java.lang.Exception
-
appendSignature
protected byte[] appendSignature(ClientSession session, java.lang.String service, java.lang.String keyType, java.security.PublicKey key, byte[] keyBytes, java.lang.String clientHostname, java.lang.String clientUsername, Signature verifier, Buffer buffer) throws java.lang.Exception
- Throws:
java.lang.Exception
-
processAuthDataRequest
protected boolean processAuthDataRequest(ClientSession session, java.lang.String service, Buffer buffer) throws java.lang.Exception
- Specified by:
processAuthDataRequest
in classAbstractUserAuth
- Throws:
java.lang.Exception
-
signalAuthMethodSuccess
public void signalAuthMethodSuccess(ClientSession session, java.lang.String service, Buffer buffer) throws java.lang.Exception
Description copied from interface:UserAuth
Signal reception ofSSH_MSG_USERAUTH_SUCCESS
message- Specified by:
signalAuthMethodSuccess
in interfaceUserAuth
- Parameters:
session
- TheClientSession
service
- The requesting service namebuffer
- TheBuffer
containing the success message (after having consumed the relevant data from it)- Throws:
java.lang.Exception
- If failed to handle the callback - Note: may cause session close
-
signalAuthMethodFailure
public void signalAuthMethodFailure(ClientSession session, java.lang.String service, boolean partial, java.util.List<java.lang.String> serverMethods, Buffer buffer) throws java.lang.Exception
Description copied from interface:UserAuth
Signals reception ofSSH_MSG_USERAUTH_FAILURE
message- Specified by:
signalAuthMethodFailure
in interfaceUserAuth
- Parameters:
session
- TheClientSession
service
- The requesting service namepartial
-true
if some partial authentication success so farserverMethods
- TheList
of authentication methods that can continuebuffer
- TheBuffer
containing the failure message (after having consumed the relevant data from it)- Throws:
java.lang.Exception
- If failed to handle the callback - Note: may cause session close
-
resolveClientUsername
protected java.lang.String resolveClientUsername(ClientSession session)
-
resolveClientHostname
protected java.lang.String resolveClientHostname(ClientSession session)
-
-