xrootd
|
#include <XrdSecProtocolgsi.hh>
Public Member Functions | |
int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0) |
XrdSecCredentials * | getCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0) |
XrdSecProtocolgsi (int opts, const char *hname, XrdNetAddrInfo &endPoint, const char *parms=0) | |
virtual | ~XrdSecProtocolgsi () |
void | Delete () |
Delete the protocol object. DO NOT use C++ delete() on this object. More... | |
int | Encrypt (const char *inbuf, int inlen, XrdSecBuffer **outbuf) |
int | Decrypt (const char *inbuf, int inlen, XrdSecBuffer **outbuf) |
int | Sign (const char *inbuf, int inlen, XrdSecBuffer **outbuf) |
int | Verify (const char *inbuf, int inlen, const char *sigbuf, int siglen) |
int | getKey (char *kbuf=0, int klen=0) |
int | setKey (char *kbuf, int klen) |
![]() | |
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 bool | needTLS () |
Check if this protocol requires TLS to properly function. More... | |
virtual void | Delete ()=0 |
Delete the protocol object. DO NOT use C++ delete() on this object. More... | |
XrdSecProtocol (const char *pName) | |
Constructor. More... | |
Static Public Member Functions | |
static char * | Init (gsiOptions o, XrdOucErrInfo *erp) |
static XrdOucTrace * | EnableTracing () |
Static Private Member Functions | |
static int | GetCA (const char *cahash, XrdCryptoFactory *cryptof, gsiHSVars *hs=0) |
static String | GetCApath (const char *cahash) |
static bool | VerifyCA (int opt, X509Chain *cca, XrdCryptoFactory *cf) |
static int | VerifyCRL (XrdCryptoX509Crl *crl, XrdCryptoX509 *xca, XrdOucString crldir, XrdCryptoFactory *CF, int hashalg) |
static XrdSutCacheEntry * | GetSrvCertEnt (XrdSutCERef &gcref, XrdCryptoFactory *cf, time_t timestamp, String &cal) |
static XrdCryptoX509Crl * | LoadCRL (XrdCryptoX509 *xca, const char *sjhash, XrdCryptoFactory *CF, int dwld, int &err) |
static int | QueryProxy (bool checkcache, XrdSutCache *cache, const char *tag, XrdCryptoFactory *cf, time_t timestamp, ProxyIn_t *pi, ProxyOut_t *po) |
static int | InitProxy (ProxyIn_t *pi, XrdCryptoFactory *cf, X509Chain *ch=0, XrdCryptoRSA **key=0) |
static void | ErrF (XrdOucErrInfo *einfo, kXR_int32 ecode, const char *msg1, const char *msg2=0, const char *msg3=0) |
static XrdSecgsiGMAP_t | LoadGMAPFun (const char *plugin, const char *parms) |
static XrdSecgsiAuthz_t | LoadAuthzFun (const char *plugin, const char *parms, int &fmt) |
static XrdSecgsiVOMS_t | LoadVOMSFun (const char *plugin, const char *parms, int &fmt) |
static void | QueryGMAP (XrdCryptoX509Chain *chain, int now, String &name) |
Private Attributes | |
XrdNetAddrInfo | epAddr |
int | options |
XrdCryptoFactory * | sessionCF |
XrdCryptoCipher * | sessionKey |
XrdSutBucket * | bucketKey |
XrdCryptoMsgDigest * | sessionMD |
XrdCryptoRSA * | sessionKsig |
XrdCryptoRSA * | sessionKver |
X509Chain * | proxyChain |
bool | srvMode |
char * | expectedHost |
bool | useIV |
gsiHSVars * | hs |
Friends | |
class | gsiOptions |
class | gsiHSVars |
Additional Inherited Members | |
![]() | |
XrdSecEntity | Entity |
![]() | |
virtual | ~XrdSecProtocol () |
Destructor (prevents use of direct delete). More... | |
XrdSecProtocolgsi::XrdSecProtocolgsi | ( | int | opts, |
const char * | hname, | ||
XrdNetAddrInfo & | endPoint, | ||
const char * | parms = 0 |
||
) |
|
inlinevirtual |
|
private |
|
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. |
Implements XrdSecProtocol.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
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. |
Reimplemented from XrdSecProtocol.
|
virtual |
Delete the protocol object. DO NOT use C++ delete() on this object.
Implements XrdSecProtocol.
|
static |
|
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. |
Reimplemented from XrdSecProtocol.
|
private |
|
staticprivate |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
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. |
Implements XrdSecProtocol.
|
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. |
Reimplemented from XrdSecProtocol.
|
staticprivate |
|
static |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
virtual |
Set the current encryption key
buff | buffer that holds the key. |
size | size of the key. |
Reimplemented from XrdSecProtocol.
|
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. |
Reimplemented from XrdSecProtocol.
|
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. |
Reimplemented from XrdSecProtocol.
|
staticprivate |
|
staticprivate |
|
friend |
|
friend |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
staticprivate |
|
staticprivate |
Referenced by gsiHSVars::~gsiHSVars().
|
staticprivate |
|
staticprivate |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |