|
XRootD
|
#include <XrdSecInterface.hh>
Inheritance diagram for XrdSecProtocol:
Collaboration diagram for XrdSecProtocol: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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().