public class UserAuthHostBased extends AbstractUserAuth implements SignatureFactoriesManager
Modifier and Type | Field and 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 |
log
BY_NAME_COMPARATOR, NAME_EXTRACTOR
Constructor and Description |
---|
UserAuthHostBased(HostKeyIdentityProvider clientHostKeys) |
Modifier and Type | Method and 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 of
SSH_MSG_USERAUTH_FAILURE message |
void |
signalAuthMethodSuccess(ClientSession session,
java.lang.String service,
Buffer buffer)
Signal reception of
SSH_MSG_USERAUTH_SUCCESS message |
destroy, getClientSession, getName, getService, getSession, process, toString
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getSignatureFactories, resolveSignatureFactories, setSignatureFactoriesNameList, setSignatureFactoriesNames, setSignatureFactoriesNames
getSignatureFactoriesNameList, getSignatureFactoriesNames
findByName, findFirstMatchByName, getNameList, getNames, ofName, removeByName, safeCompareByName
public static final java.lang.String NAME
protected java.util.Iterator<? extends java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>>> keys
protected java.util.Map.Entry<java.security.KeyPair,? extends java.util.Collection<java.security.cert.X509Certificate>> keyInfo
protected final HostKeyIdentityProvider clientHostKeys
private java.util.List<NamedFactory<Signature>> factories
private java.lang.String clientUsername
private java.lang.String clientHostname
public UserAuthHostBased(HostKeyIdentityProvider clientHostKeys)
public void init(ClientSession session, java.lang.String service) throws java.lang.Exception
init
in interface UserAuth
init
in class AbstractUserAuth
session
- The ClientSession
service
- The requesting service namejava.lang.Exception
- If failed to initialize the mechanismpublic java.util.List<NamedFactory<Signature>> getSignatureFactories()
getSignatureFactories
in interface SignatureFactoriesHolder
Signature
factoriespublic void setSignatureFactories(java.util.List<NamedFactory<Signature>> factories)
setSignatureFactories
in interface SignatureFactoriesManager
public java.lang.String getClientUsername()
public void setClientUsername(java.lang.String clientUsername)
public java.lang.String getClientHostname()
public void setClientHostname(java.lang.String clientHostname)
protected boolean sendAuthDataRequest(ClientSession session, java.lang.String service) throws java.lang.Exception
sendAuthDataRequest
in class AbstractUserAuth
java.lang.Exception
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
java.lang.Exception
protected boolean processAuthDataRequest(ClientSession session, java.lang.String service, Buffer buffer) throws java.lang.Exception
processAuthDataRequest
in class AbstractUserAuth
java.lang.Exception
public void signalAuthMethodSuccess(ClientSession session, java.lang.String service, Buffer buffer) throws java.lang.Exception
UserAuth
SSH_MSG_USERAUTH_SUCCESS
messagesignalAuthMethodSuccess
in interface UserAuth
session
- The ClientSession
service
- The requesting service namebuffer
- The Buffer
containing the success message (after having consumed the relevant data from
it)java.lang.Exception
- If failed to handle the callback - Note: may cause session closepublic void signalAuthMethodFailure(ClientSession session, java.lang.String service, boolean partial, java.util.List<java.lang.String> serverMethods, Buffer buffer) throws java.lang.Exception
UserAuth
SSH_MSG_USERAUTH_FAILURE
messagesignalAuthMethodFailure
in interface UserAuth
session
- The ClientSession
service
- The requesting service namepartial
- true
if some partial authentication success so farserverMethods
- The List
of authentication methods that can continuebuffer
- The Buffer
containing the failure message (after having consumed the relevant data
from it)java.lang.Exception
- If failed to handle the callback - Note: may cause session closeprotected java.lang.String resolveClientUsername(ClientSession session)
protected java.lang.String resolveClientHostname(ClientSession session)