#include <XrdSecInterface.hh>
Collaboration diagram for XrdSecProtocol:

Public Member Functions | |
| virtual int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0)=0 |
| virtual XrdSecCredentials * | getCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0)=0 |
| virtual int | Encrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
| virtual int | Decrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
| virtual int | Sign (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
| virtual int | Verify (const char *inbuff, int inlen, const char *sigbuff, int siglen) |
| virtual int | getKey (char *buff=0, int size=0) |
| virtual int | setKey (char *buff, int size) |
| virtual void | Delete ()=0 |
| Delete the protocol object. DO NOT use C++ delete() on this object. | |
| XrdSecProtocol (const char *pName) | |
| Constructor. | |
Public Attributes | |
| XrdSecEntity | Entity |
Protected Member Functions | |
| virtual | ~XrdSecProtocol () |
| Destructor (prevents use of direct delete). | |
| XrdSecProtocol::XrdSecProtocol | ( | const char * | pName | ) | [inline] |
Constructor.
| virtual XrdSecProtocol::~XrdSecProtocol | ( | ) | [inline, protected, virtual] |
Destructor (prevents use of direct delete).
| virtual int XrdSecProtocol::Authenticate | ( | XrdSecCredentials * | cred, | |
| XrdSecParameters ** | parms, | |||
| XrdOucErrInfo * | einfo = 0 | |||
| ) | [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. |
| virtual int XrdSecProtocol::Decrypt | ( | const char * | inbuff, | |
| int | inlen, | |||
| XrdSecBuffer ** | outbuff | |||
| ) | [inline, virtual] |
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. |
| virtual void XrdSecProtocol::Delete | ( | ) | [pure virtual] |
Delete the protocol object. DO NOT use C++ delete() on this object.
| virtual int XrdSecProtocol::Encrypt | ( | const char * | inbuff, | |
| int | inlen, | |||
| XrdSecBuffer ** | outbuff | |||
| ) | [inline, virtual] |
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. |
| virtual XrdSecCredentials* XrdSecProtocol::getCredentials | ( | XrdSecParameters * | parm = 0, |
|
| XrdOucErrInfo * | einfo = 0 | |||
| ) | [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. |
| virtual int XrdSecProtocol::getKey | ( | char * | buff = 0, |
|
| int | size = 0 | |||
| ) | [inline, virtual] |
Get the current encryption key (i.e. session key)
| buff | buffer to hold the key, and may be null. | |
| size | size of the buffer. |
| virtual int XrdSecProtocol::setKey | ( | char * | buff, | |
| int | size | |||
| ) | [inline, virtual] |
Set the current encryption key
| buff | buffer that holds the key. | |
| size | size of the key. |
| virtual int XrdSecProtocol::Sign | ( | const char * | inbuff, | |
| int | inlen, | |||
| XrdSecBuffer ** | outbuff | |||
| ) | [inline, virtual] |
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. |
| virtual int XrdSecProtocol::Verify | ( | const char * | inbuff, | |
| int | inlen, | |||
| const char * | sigbuff, | |||
| int | siglen | |||
| ) | [inline, virtual] |
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. |
Structure holding the entity's identification. It is filled in by a successful call to Authenticate() (i.e. it returns 0).
1.4.7