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 HostKeyIdentityProviderclientHostKeysprivate java.lang.StringclientHostnameprivate java.lang.StringclientUsernameprivate java.util.List<NamedFactory<Signature>>factoriesprotected java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>>keyInfoprotected java.util.Iterator<? extends java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>>>keysstatic java.lang.StringNAME-
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.StringgetClientHostname()java.lang.StringgetClientUsername()java.util.List<NamedFactory<Signature>>getSignatureFactories()voidinit(ClientSession session, java.lang.String service)protected booleanprocessAuthDataRequest(ClientSession session, java.lang.String service, Buffer buffer)protected java.lang.StringresolveClientHostname(ClientSession session)protected java.lang.StringresolveClientUsername(ClientSession session)protected booleansendAuthDataRequest(ClientSession session, java.lang.String service)voidsetClientHostname(java.lang.String clientHostname)voidsetClientUsername(java.lang.String clientUsername)voidsetSignatureFactories(java.util.List<NamedFactory<Signature>> factories)voidsignalAuthMethodFailure(ClientSession session, java.lang.String service, boolean partial, java.util.List<java.lang.String> serverMethods, Buffer buffer)Signals reception ofSSH_MSG_USERAUTH_FAILUREmessagevoidsignalAuthMethodSuccess(ClientSession session, java.lang.String service, Buffer buffer)Signal reception ofSSH_MSG_USERAUTH_SUCCESSmessage-
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:
initin interfaceUserAuth- Overrides:
initin classAbstractUserAuth- Parameters:
session- TheClientSessionservice- The requesting service name- Throws:
java.lang.Exception- If failed to initialize the mechanism
-
getSignatureFactories
public java.util.List<NamedFactory<Signature>> getSignatureFactories()
- Specified by:
getSignatureFactoriesin interfaceSignatureFactoriesHolder- Returns:
- The list of named
Signaturefactories
-
setSignatureFactories
public void setSignatureFactories(java.util.List<NamedFactory<Signature>> factories)
- Specified by:
setSignatureFactoriesin 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:
sendAuthDataRequestin 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:
processAuthDataRequestin 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:UserAuthSignal reception ofSSH_MSG_USERAUTH_SUCCESSmessage- Specified by:
signalAuthMethodSuccessin interfaceUserAuth- Parameters:
session- TheClientSessionservice- The requesting service namebuffer- TheBuffercontaining 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:UserAuthSignals reception ofSSH_MSG_USERAUTH_FAILUREmessage- Specified by:
signalAuthMethodFailurein interfaceUserAuth- Parameters:
session- TheClientSessionservice- The requesting service namepartial-trueif some partial authentication success so farserverMethods- TheListof authentication methods that can continuebuffer- TheBuffercontaining 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)
-
-