Class GSIAuthenticationHandler
- java.lang.Object
-
- org.dcache.xrootd.plugins.authn.gsi.GSIAuthenticationHandler
-
- All Implemented Interfaces:
AuthenticationHandler
public class GSIAuthenticationHandler extends java.lang.Object implements AuthenticationHandler
Handler for xrootd-security message exchange based on the GSI protocol. Loosely based on the first reverse-engineering of xrootdsec-gsi, done by Martin Radicke.
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.LoggerLOGGER
-
Constructor Summary
Constructors Constructor Description GSIAuthenticationHandler(GSICredentialManager credentialManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XrootdResponse<AuthenticationRequest>authenticate(AuthenticationRequest request)dispatcher function that initializes the diffie-hellman key agreement session, checks the request for the correct protocol and calls the actual handler functions.BufferDecryptergetDecrypter()java.lang.StringgetProtocol()java.lang.StringgetProtocolName()javax.security.auth.SubjectgetSubject()booleanisCompleted()
-
-
-
Constructor Detail
-
GSIAuthenticationHandler
public GSIAuthenticationHandler(GSICredentialManager credentialManager)
-
-
Method Detail
-
authenticate
public XrootdResponse<AuthenticationRequest> authenticate(AuthenticationRequest request) throws XrootdException
dispatcher function that initializes the diffie-hellman key agreement session, checks the request for the correct protocol and calls the actual handler functions.- Specified by:
authenticatein interfaceAuthenticationHandler- Throws:
XrootdException
-
getDecrypter
public BufferDecrypter getDecrypter()
- Specified by:
getDecrypterin interfaceAuthenticationHandler
-
getProtocol
public java.lang.String getProtocol()
- Specified by:
getProtocolin interfaceAuthenticationHandler- Returns:
- the supported protocol. The protocol string also contains metainformation such as the host-certificate subject hash.
-
getProtocolName
public java.lang.String getProtocolName()
- Specified by:
getProtocolNamein interfaceAuthenticationHandler
-
getSubject
public javax.security.auth.Subject getSubject()
- Specified by:
getSubjectin interfaceAuthenticationHandler
-
isCompleted
public boolean isCompleted()
- Specified by:
isCompletedin interfaceAuthenticationHandler
-
-