![]() |
XRootD
|
#include <XrdSecInterface.hh>
Public Member Functions | |
XrdSecProtocol (const char *pName) | |
Constructor. More... | |
virtual int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0)=0 |
virtual int | Decrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual void | Delete ()=0 |
Delete the protocol object. DO NOT use C++ delete() on this object. More... | |
virtual int | Encrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual XrdSecCredentials * | getCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0)=0 |
virtual int | getKey (char *buff=0, int size=0) |
virtual bool | needTLS () |
Check if this protocol requires TLS to properly function. More... | |
virtual int | setKey (char *buff, int size) |
virtual int | Sign (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual int | Verify (const char *inbuff, int inlen, const char *sigbuff, int siglen) |
Public Attributes | |
XrdSecEntity | Entity |
Protected Member Functions | |
virtual | ~XrdSecProtocol () |
Destructor (prevents use of direct delete). More... | |
Definition at line 130 of file XrdSecInterface.hh.
|
inline |
|
inlineprotectedvirtual |
Destructor (prevents use of direct delete).
Definition at line 324 of file XrdSecInterface.hh.
|
pure virtual |
Authenticate a client.
cred | Credentials supplied by the client. |
parms | Place where the address of additional authentication data is to be placed for another autrhentication handshake. |
einfo | The error information object where error messages should be placed. The messages are returned to the client. Should einfo be null, messages should be written to stderr. |
Implemented in XrdSecProtocolztn, XrdSecProtocolunix, XrdSecProtocolsss, XrdSecProtocolpwd, XrdSecProtocolkrb5, XrdSecProtocolgsi, XrdSecTLayer, XrdSecProtocolhost, and XrdSecProtNone.
Referenced by XrdCmsSecurity::Authenticate(), and main().
|
inlinevirtual |
Decrypt data in inbuff using the session key.
inbuff | buffer holding data to be decrypted. |
inlen | length of the data. |
outbuff | place where a pointer to the decrypted data is placed. |
Reimplemented in XrdSecProtocolgsi.
Definition at line 214 of file XrdSecInterface.hh.
|
pure virtual |
Delete the protocol object. DO NOT use C++ delete() on this object.
Implemented in XrdSecTLayer, XrdSecProtocolztn, XrdSecProtocolunix, XrdSecProtocolsss, XrdSecProtocolpwd, XrdSecProtocolkrb5, XrdSecProtocolgsi, XrdSecProtocolhost, and XrdSecProtNone.
Referenced by XrdCmsSecurity::Authenticate(), XrdCmsSecurity::Identify(), and main().
|
inlinevirtual |
Encrypt data in inbuff using the session key.
inbuff | buffer holding data to be encrypted. |
inlen | length of the data. |
outbuff | place where a pointer to the encrypted data is placed. |
Reimplemented in XrdSecProtocolgsi.
Definition at line 193 of file XrdSecInterface.hh.
|
pure virtual |
Generate client credentials to be used in the authentication process.
parm | Pointer to the information returned by the server either in the initial login response or the authmore response. |
einfo | The error information object where error messages should be placed. The messages are returned to the client. Should einfo be null, messages should be written to stderr. |
Implemented in XrdSecProtocolsss, XrdSecProtocolztn, XrdSecProtocolunix, XrdSecProtocolpwd, XrdSecProtocolkrb5, XrdSecProtocolgsi, XrdSecTLayer, XrdSecProtocolhost, and XrdSecProtNone.
Referenced by XrdCmsSecurity::Identify(), and main().
|
inlinevirtual |
Get the current encryption key (i.e. session key)
buff | buffer to hold the key, and may be null. |
size | size of the buffer. |
Reimplemented in XrdSecProtocolgsi.
Definition at line 279 of file XrdSecInterface.hh.
Referenced by XrdSecProtector::New4Client(), and XrdSecProtector::New4Server().
|
inlinevirtual |
Check if this protocol requires TLS to properly function.
Reimplemented in XrdSecProtocolztn.
Definition at line 305 of file XrdSecInterface.hh.
|
inlinevirtual |
Set the current encryption key
buff | buffer that holds the key. |
size | size of the key. |
Reimplemented in XrdSecProtocolgsi.
Definition at line 295 of file XrdSecInterface.hh.
|
inlinevirtual |
Sign data in inbuff using the session key.
inbuff | buffer holding data to be signed. |
inlen | length of the data. |
outbuff | place where a pointer to the signature is placed. |
Reimplemented in XrdSecProtocolgsi.
Definition at line 235 of file XrdSecInterface.hh.
|
inlinevirtual |
Verify a signature using the session key.
inbuff | buffer holding data to be verified. |
inlen | length of the data. |
sigbuff | pointer to the signature data. |
siglen | length of the signature data. |
Reimplemented in XrdSecProtocolgsi.
Definition at line 257 of file XrdSecInterface.hh.
XrdSecEntity XrdSecProtocol::Entity |
Structure holding the entity's identification. It is filled in by a successful call to Authenticate() (i.e. it returns 0).
Definition at line 139 of file XrdSecInterface.hh.
Referenced by XrdSecProtocolgsi::XrdSecProtocolgsi(), XrdSecProtocolkrb5::XrdSecProtocolkrb5(), XrdSecProtocolpwd::XrdSecProtocolpwd(), XrdSecProtocolunix::XrdSecProtocolunix(), XrdSecProtocolztn::XrdSecProtocolztn(), XrdSecProtocolztn::~XrdSecProtocolztn(), XrdCmsSecurity::Authenticate(), XrdSecProtocolhost::Authenticate(), XrdSecProtocolgsi::Authenticate(), XrdSecProtocolkrb5::Authenticate(), XrdSecProtocolpwd::Authenticate(), XrdSecProtocolsss::Authenticate(), XrdSecProtocolunix::Authenticate(), XrdSecProtocolztn::Authenticate(), XrdSecProtocolgsi::Delete(), XrdSecProtocolkrb5::Delete(), XrdSecProtocolpwd::Delete(), XrdSecProtocolgsi::getCredentials(), main(), and XrdSecProtector::New4Server().