65#define XrdSecPROTOIDENT "gsi"
66#define XrdSecPROTOIDLEN sizeof(XrdSecPROTOIDENT)
67#define XrdSecgsiVERSION 10600
68#define XrdSecNOIPCHK 0x0001
69#define XrdSecDEBUG 0x1000
70#define XrdCryptoMax 10
72#define kMAXBUFLEN 1024
75#define XrdSecgsiVersDHsigned 10400
77#define XrdSecgsiVersCertKey 10600
150#define REL1(x) { if (x) delete x; }
151#define REL2(x,y) { if (x) delete x; if (y) delete y; }
152#define REL3(x,y,z) { if (x) delete x; if (y) delete y; if (z) delete z; }
154#define SafeDelete(x) { if (x) {delete x ; x = 0;} }
155#define SafeDelArray(x) { if (x) {delete [] x ; x = 0;} }
156#define SafeFree(x) { if (x) {free(x) ; x = 0;} }
159typedef char *(*XrdSecgsiGMAP_t)(
const char *, int);
259 char k[40]; snprintf(k, 40,
"%p", t);
266 char k[40]; snprintf(k, 40,
"%p", t);
293 const char *parms = 0);
307 int Sign(
const char *inbuf,
int inlen,
310 const char *sigbuf,
int siglen);
385 static std::unique_ptr<GSIStack<XrdCryptoX509Crl>>
stackCRL;
442 static int GetCA(
const char *cahash,
451 time_t timestamp,
String &cal);
466 const char *msg1,
const char *msg2 = 0,
467 const char *msg3 = 0);
471 const char *msg2 = 0,
const char *msg3 = 0);
475 const char *msg2 = 0,
const char *msg3 = 0);
int kXR_int32
Definition XPtypes.hh:89
@ Hash_count
Definition XrdOucHash.hh:54
kgsiHandshakeOpts
Definition XrdSecProtocolgsi.hh:107
@ kOptsDelChn
Definition XrdSecProtocolgsi.hh:113
@ kOptsDelPxy
Definition XrdSecProtocolgsi.hh:116
@ kOptsSigReq
Definition XrdSecProtocolgsi.hh:110
@ kOptsFwdPxy
Definition XrdSecProtocolgsi.hh:109
@ kOptsPxCred
Definition XrdSecProtocolgsi.hh:114
@ kOptsSrvReq
Definition XrdSecProtocolgsi.hh:111
@ kOptsDlgPxy
Definition XrdSecProtocolgsi.hh:108
@ kOptsCreatePxy
Definition XrdSecProtocolgsi.hh:115
@ kOptsPxFile
Definition XrdSecProtocolgsi.hh:112
#define SafeDelete(x)
Definition XrdSecProtocolgsi.hh:154
int(* XrdSecgsiAuthz_t)(XrdSecEntity &)
Definition XrdSecProtocolgsi.hh:160
XrdCryptogsiX509Chain X509Chain
Definition XrdSecProtocolgsi.hh:63
kgsiServerSteps
Definition XrdSecProtocolgsi.hh:98
@ kXGS_cert
Definition XrdSecProtocolgsi.hh:101
@ kXGS_none
Definition XrdSecProtocolgsi.hh:99
@ kXGS_pxyreq
Definition XrdSecProtocolgsi.hh:102
@ kXGS_init
Definition XrdSecProtocolgsi.hh:100
@ kXGS_reserved
Definition XrdSecProtocolgsi.hh:103
XrdSecgsiAuthz_t XrdSecgsiVOMS_t
Definition XrdSecProtocolgsi.hh:164
int(* XrdSecgsiAuthzKey_t)(XrdSecEntity &, char **)
Definition XrdSecProtocolgsi.hh:162
XrdOucString String
Definition XrdSecProtocolgsi.hh:62
kgsiStatus
Definition XrdSecProtocolgsi.hh:82
@ kgST_ok
Definition XrdSecProtocolgsi.hh:84
@ kgST_error
Definition XrdSecProtocolgsi.hh:83
@ kgST_more
Definition XrdSecProtocolgsi.hh:85
int(* XrdSecgsiAuthzInit_t)(const char *)
Definition XrdSecProtocolgsi.hh:161
#define XrdCryptoMax
Definition XrdSecProtocolgsi.hh:70
kgsiClientSteps
Definition XrdSecProtocolgsi.hh:89
@ kXGC_sigpxy
Definition XrdSecProtocolgsi.hh:93
@ kXGC_cert
Definition XrdSecProtocolgsi.hh:92
@ kXGC_reserved
Definition XrdSecProtocolgsi.hh:94
@ kXGC_none
Definition XrdSecProtocolgsi.hh:90
@ kXGC_certreq
Definition XrdSecProtocolgsi.hh:91
XrdSecgsiAuthzInit_t XrdSecgsiVOMSInit_t
Definition XrdSecProtocolgsi.hh:165
kgsiErrors
Definition XrdSecProtocolgsi.hh:120
@ kGSErrExportPuK
Definition XrdSecProtocolgsi.hh:130
@ kGSErrBadRndmTag
Definition XrdSecProtocolgsi.hh:132
@ kGSErrCreateBuffer
Definition XrdSecProtocolgsi.hh:127
@ kGSErrNoCipher
Definition XrdSecProtocolgsi.hh:134
@ kGSErrInit
Definition XrdSecProtocolgsi.hh:145
@ kGSErrFinCipher
Definition XrdSecProtocolgsi.hh:144
@ kGSErrParseBuffer
Definition XrdSecProtocolgsi.hh:121
@ kGSErrGenCipher
Definition XrdSecProtocolgsi.hh:129
@ kGSErrBadCreds
Definition XrdSecProtocolgsi.hh:146
@ kGSErrUnmarshal
Definition XrdSecProtocolgsi.hh:138
@ kGSErrRefCipher
Definition XrdSecProtocolgsi.hh:141
@ kGSErrBadProtocol
Definition XrdSecProtocolgsi.hh:124
@ kGSErrMarshal
Definition XrdSecProtocolgsi.hh:137
@ kGSErrNoPublic
Definition XrdSecProtocolgsi.hh:142
@ kGSErrSaveCreds
Definition XrdSecProtocolgsi.hh:139
@ kGSErrSerialBuffer
Definition XrdSecProtocolgsi.hh:128
@ kGSErrNoCreds
Definition XrdSecProtocolgsi.hh:135
@ kGSErrDecodeBuffer
Definition XrdSecProtocolgsi.hh:122
@ kGSErrLoadCrypto
Definition XrdSecProtocolgsi.hh:123
@ kGSErrEncRndmTag
Definition XrdSecProtocolgsi.hh:131
@ kGSErrDuplicateBucket
Definition XrdSecProtocolgsi.hh:126
@ kGSErrBadOpt
Definition XrdSecProtocolgsi.hh:136
@ kGSErrNoRndmTag
Definition XrdSecProtocolgsi.hh:133
@ kGSErrAddBucket
Definition XrdSecProtocolgsi.hh:143
@ kGSErrError
Definition XrdSecProtocolgsi.hh:147
@ kGSErrCreateBucket
Definition XrdSecProtocolgsi.hh:125
@ kGSErrNoBuffer
Definition XrdSecProtocolgsi.hh:140
char *(* XrdSecgsiGMAP_t)(const char *, int)
Definition XrdSecProtocolgsi.hh:159
Definition XrdSecProtocolgsi.hh:256
void Add(T *t)
Definition XrdSecProtocolgsi.hh:258
XrdSysMutex mtx
Definition XrdSecProtocolgsi.hh:272
void Del(T *t)
Definition XrdSecProtocolgsi.hh:265
XrdOucHash< T > stack
Definition XrdSecProtocolgsi.hh:273
Definition XrdCryptoCipher.hh:48
Definition XrdCryptoFactory.hh:122
Definition XrdCryptoMsgDigest.hh:47
Definition XrdCryptoRSA.hh:51
Definition XrdCryptoX509Chain.hh:80
void Cleanup(bool keepCA=0)
Definition XrdCryptoX509Crl.hh:49
Definition XrdCryptoX509.hh:51
Definition XrdCryptogsiX509Chain.hh:50
Definition XrdNetAddrInfo.hh:54
Definition XrdOucErrInfo.hh:101
Definition XrdOucGMap.hh:49
Definition XrdOucHash.hh:128
Definition XrdOucString.hh:254
Definition XrdOucTrace.hh:36
Definition XrdSecEntity.hh:65
Definition XrdSecInterface.hh:131
Definition XrdSecProtocolgsi.hh:281
static GSIStack< XrdCryptoX509Chain > stackCA
Definition XrdSecProtocolgsi.hh:384
int Authenticate(XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0)
static std::unique_ptr< GSIStack< XrdCryptoX509Crl > > stackCRL
Definition XrdSecProtocolgsi.hh:385
bool useIV
Definition XrdSecProtocolgsi.hh:412
int Verify(const char *inbuf, int inlen, const char *sigbuf, int siglen)
XrdSutBucket * bucketKey
Definition XrdSecProtocolgsi.hh:405
static XrdSecgsiGMAP_t LoadGMAPFun(const char *plugin, const char *parms)
virtual ~XrdSecProtocolgsi()
Definition XrdSecProtocolgsi.hh:294
static String SrvKey
Definition XrdSecProtocolgsi.hh:329
XrdCryptoFactory * sessionCF
Definition XrdSecProtocolgsi.hh:403
static String UsrCert
Definition XrdSecProtocolgsi.hh:331
static XrdSecgsiAuthz_t LoadAuthzFun(const char *plugin, const char *parms, int &fmt)
XrdSecProtocolgsi(int opts, const char *hname, XrdNetAddrInfo &endPoint, const char *parms=0)
X509Chain * proxyChain
Definition XrdSecProtocolgsi.hh:409
static int AuthzCertFmt
Definition XrdSecProtocolgsi.hh:351
static XrdSecgsiVOMS_t VOMSFun
Definition XrdSecProtocolgsi.hh:359
void FreeEntity(XrdSecEntity *in)
XrdSecCredentials * ErrC(XrdOucErrInfo *einfo, XrdSutBuffer *b1, XrdSutBuffer *b2, XrdSutBuffer *b3, kXR_int32 ecode, const char *msg1=0, const char *msg2=0, const char *msg3=0)
static int CRLDownload
Definition XrdSecProtocolgsi.hh:338
static XrdSecgsiVOMS_t LoadVOMSFun(const char *plugin, const char *parms, int &fmt)
static XrdSysLogger Logger
Definition XrdSecProtocolgsi.hh:397
int ServerDoCertreq(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
static bool VerifyCA(int opt, X509Chain *cca, XrdCryptoFactory *cf)
bool ServerCertNameOK(const char *subject, const char *hname, String &e)
static XrdSecgsiAuthzKey_t AuthzKey
Definition XrdSecProtocolgsi.hh:350
int ParseServerInput(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
static int PxyReqOpts
Definition XrdSecProtocolgsi.hh:353
static String DefError
Definition XrdSecProtocolgsi.hh:343
static XrdCryptoFactory * cryptF[XrdCryptoMax]
Definition XrdSecProtocolgsi.hh:368
static String DefMD
Definition XrdSecProtocolgsi.hh:342
static String PxyValid
Definition XrdSecProtocolgsi.hh:333
static XrdOucGMap * servGMap
Definition XrdSecProtocolgsi.hh:381
static String GetCApath(const char *cahash)
static String DefCRLext
Definition XrdSecProtocolgsi.hh:327
static int GMAPCacheTimeOut
Definition XrdSecProtocolgsi.hh:347
int ServerDoSigpxy(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
static String UsrProxy
Definition XrdSecProtocolgsi.hh:330
static int ncrypt
Definition XrdSecProtocolgsi.hh:367
bool srvMode
Definition XrdSecProtocolgsi.hh:410
int AddSerialized(char opt, kXR_int32 step, String ID, XrdSutBuffer *bls, XrdSutBuffer *buf, kXR_int32 type, XrdCryptoCipher *cip)
bool CheckTimeStamp(XrdSutBuffer *b, int skew, String &emsg)
static XrdCryptoX509Crl * LoadCRL(XrdCryptoX509 *xca, const char *sjhash, XrdCryptoFactory *CF, int dwld, int &err)
static int VOMSAttrOpt
Definition XrdSecProtocolgsi.hh:358
static int AuthzPxyWhat
Definition XrdSecProtocolgsi.hh:354
int options
Definition XrdSecProtocolgsi.hh:402
static int GetCA(const char *cahash, XrdCryptoFactory *cryptof, gsiHSVars *hs=0)
static int QueryProxy(bool checkcache, XrdSutCache *cache, const char *tag, XrdCryptoFactory *cf, time_t timestamp, ProxyIn_t *pi, ProxyOut_t *po)
int Decrypt(const char *inbuf, int inlen, XrdSecBuffer **outbuf)
static String cryptName[XrdCryptoMax]
Definition XrdSecProtocolgsi.hh:370
static XrdSysMutex gsiContext
Definition XrdSecProtocolgsi.hh:324
static XrdSutCacheEntry * GetSrvCertEnt(XrdSutCERef &gcref, XrdCryptoFactory *cf, time_t timestamp, String &cal)
XrdNetAddrInfo epAddr
Definition XrdSecProtocolgsi.hh:321
int Encrypt(const char *inbuf, int inlen, XrdSecBuffer **outbuf)
static String GMAPFile
Definition XrdSecProtocolgsi.hh:344
static int Debug
Definition XrdSecProtocolgsi.hh:392
static bool HashCompatibility
Definition XrdSecProtocolgsi.hh:362
static int AuthzCacheTimeOut
Definition XrdSecProtocolgsi.hh:352
static int GMAPOpt
Definition XrdSecProtocolgsi.hh:345
XrdCryptoRSA * sessionKver
Definition XrdSecProtocolgsi.hh:408
static String UsrKey
Definition XrdSecProtocolgsi.hh:332
static String CRLdir
Definition XrdSecProtocolgsi.hh:326
XrdCryptoMsgDigest * sessionMD
Definition XrdSecProtocolgsi.hh:406
int ClientDoCert(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
int ClientDoPxyreq(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
static String SrvAllowedNames
Definition XrdSecProtocolgsi.hh:357
int ClientDoInit(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
static char * Init(gsiOptions o, XrdOucErrInfo *erp)
void Delete()
Delete the protocol object. DO NOT use C++ delete() on this object.
static int cryptID[XrdCryptoMax]
Definition XrdSecProtocolgsi.hh:369
void CopyEntity(XrdSecEntity *in, XrdSecEntity *out, int *lout=0)
char * expectedHost
Definition XrdSecProtocolgsi.hh:411
gsiHSVars * hs
Definition XrdSecProtocolgsi.hh:415
static time_t lastGMAPCheck
Definition XrdSecProtocolgsi.hh:388
static int DepLength
Definition XrdSecProtocolgsi.hh:334
static bool TrustDNS
Definition XrdSecProtocolgsi.hh:363
static String CAdir
Definition XrdSecProtocolgsi.hh:325
static XrdSutCache cachePxy
Definition XrdSecProtocolgsi.hh:376
static XrdSutCache cacheAuthzFun
Definition XrdSecProtocolgsi.hh:378
static XrdSecgsiGMAP_t GMAPFun
Definition XrdSecProtocolgsi.hh:348
static int AuthzAlways
Definition XrdSecProtocolgsi.hh:356
XrdCryptoCipher * sessionKey
Definition XrdSecProtocolgsi.hh:404
static XrdOucTrace * EnableTracing()
static bool GMAPuseDNname
Definition XrdSecProtocolgsi.hh:346
XrdCryptoRSA * sessionKsig
Definition XrdSecProtocolgsi.hh:407
static int VOMSCertFmt
Definition XrdSecProtocolgsi.hh:360
XrdSecCredentials * getCredentials(XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0)
static int AuthzPxyWhere
Definition XrdSecProtocolgsi.hh:355
static XrdSutCache cacheCA
Definition XrdSecProtocolgsi.hh:374
static XrdOucTrace * GSITrace
Definition XrdSecProtocolgsi.hh:399
static XrdSysMutex mutexGMAP
Definition XrdSecProtocolgsi.hh:389
static int CACheck
Definition XrdSecProtocolgsi.hh:336
int getKey(char *kbuf=0, int klen=0)
static String SrvCert
Definition XrdSecProtocolgsi.hh:328
static String DefCipher
Definition XrdSecProtocolgsi.hh:341
static XrdSysError eDest
Definition XrdSecProtocolgsi.hh:398
int ServerDoCert(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
static bool Server
Definition XrdSecProtocolgsi.hh:393
static String DefCrypto
Definition XrdSecProtocolgsi.hh:340
static int MonInfoOpt
Definition XrdSecProtocolgsi.hh:361
static void ErrF(XrdOucErrInfo *einfo, kXR_int32 ecode, const char *msg1, const char *msg2=0, const char *msg3=0)
static XrdCryptoCipher * refcip[XrdCryptoMax]
Definition XrdSecProtocolgsi.hh:371
int ParseCrypto(String cryptlist)
static int DefBits
Definition XrdSecProtocolgsi.hh:335
int ParseCAlist(String calist)
static int InitProxy(ProxyIn_t *pi, XrdCryptoFactory *cf, X509Chain *ch=0, XrdCryptoRSA **key=0)
static void QueryGMAP(XrdCryptoX509Chain *chain, int now, String &name)
int Sign(const char *inbuf, int inlen, XrdSecBuffer **outbuf)
static XrdSutCache cacheCert
Definition XrdSecProtocolgsi.hh:375
int ErrS(String ID, XrdOucErrInfo *einfo, XrdSutBuffer *b1, XrdSutBuffer *b2, XrdSutBuffer *b3, kXR_int32 ecode, const char *msg1=0, const char *msg2=0, const char *msg3=0)
bool CheckRtag(XrdSutBuffer *bm, String &emsg)
static bool ShowDN
Definition XrdSecProtocolgsi.hh:364
static int CRLCheck
Definition XrdSecProtocolgsi.hh:337
int setKey(char *kbuf, int klen)
int ParseClientInput(XrdSutBuffer *br, XrdSutBuffer **bm, String &emsg)
static XrdSutCache cacheGMAPFun
Definition XrdSecProtocolgsi.hh:377
static XrdSecgsiAuthz_t AuthzFun
Definition XrdSecProtocolgsi.hh:349
static int VerifyCRL(XrdCryptoX509Crl *crl, XrdCryptoX509 *xca, XrdOucString crldir, XrdCryptoFactory *CF, int hashalg)
static int TimeSkew
Definition XrdSecProtocolgsi.hh:394
static int CRLRefresh
Definition XrdSecProtocolgsi.hh:339
Definition XrdSutBucket.hh:44
Definition XrdSutBuffer.hh:43
Definition XrdSutCacheEntry.hh:100
Definition XrdSutCacheEntry.hh:75
Definition XrdSutCache.hh:49
Definition XrdSutPFEntry.hh:78
Definition XrdSysError.hh:90
Definition XrdSysLogger.hh:53
Definition XrdSysPthread.hh:165
void Lock()
Definition XrdSysPthread.hh:222
void UnLock()
Definition XrdSysPthread.hh:224
Definition XrdSecProtocolgsi.hh:501
XrdSutPFEntry * Cref
Definition XrdSecProtocolgsi.hh:511
bool RtagOK
Definition XrdSecProtocolgsi.hh:516
bool Tty
Definition XrdSecProtocolgsi.hh:517
String CryptoMod
Definition XrdSecProtocolgsi.hh:505
bool HasPad
Definition XrdSecProtocolgsi.hh:508
X509Chain * PxyChain
Definition XrdSecProtocolgsi.hh:515
XrdCryptoX509Crl * Crl
Definition XrdSecProtocolgsi.hh:514
XrdSutBuffer * Parms
Definition XrdSecProtocolgsi.hh:521
int HashAlg
Definition XrdSecProtocolgsi.hh:520
String ID
Definition XrdSecProtocolgsi.hh:510
XrdSutBucket * Cbck
Definition XrdSecProtocolgsi.hh:509
gsiHSVars()
Definition XrdSecProtocolgsi.hh:523
void Dump(XrdSecProtocolgsi *p=0)
X509Chain * Chain
Definition XrdSecProtocolgsi.hh:513
int Options
Definition XrdSecProtocolgsi.hh:519
XrdSutPFEntry * Pent
Definition XrdSecProtocolgsi.hh:512
~gsiHSVars()
Definition XrdSecProtocolgsi.hh:529
time_t TimeStamp
Definition XrdSecProtocolgsi.hh:504
int LastStep
Definition XrdSecProtocolgsi.hh:518
int Iter
Definition XrdSecProtocolgsi.hh:503
int RemVers
Definition XrdSecProtocolgsi.hh:506
XrdCryptoCipher * Rcip
Definition XrdSecProtocolgsi.hh:507
Definition XrdSecProtocolgsi.hh:171
int authzto
Definition XrdSecProtocolgsi.hh:199
char * authzfun
Definition XrdSecProtocolgsi.hh:196
char mode
Definition XrdSecProtocolgsi.hh:174
char * cert
Definition XrdSecProtocolgsi.hh:179
int moninfo
Definition XrdSecProtocolgsi.hh:212
char * valid
Definition XrdSecProtocolgsi.hh:189
char * crldir
Definition XrdSecProtocolgsi.hh:177
char * gmapfun
Definition XrdSecProtocolgsi.hh:194
char * proxy
Definition XrdSecProtocolgsi.hh:188
char * crlext
Definition XrdSecProtocolgsi.hh:178
char * cipher
Definition XrdSecProtocolgsi.hh:183
bool showDN
Definition XrdSecProtocolgsi.hh:216
virtual ~gsiOptions()
Definition XrdSecProtocolgsi.hh:229
char * vomsfunparms
Definition XrdSecProtocolgsi.hh:211
char * key
Definition XrdSecProtocolgsi.hh:181
int deplen
Definition XrdSecProtocolgsi.hh:190
char * certdir
Definition XrdSecProtocolgsi.hh:176
char * authzfunparms
Definition XrdSecProtocolgsi.hh:197
int createpxy
Definition XrdSecProtocolgsi.hh:204
char * srvnames
Definition XrdSecProtocolgsi.hh:205
char * exppxy
Definition XrdSecProtocolgsi.hh:206
int crl
Definition XrdSecProtocolgsi.hh:185
int ogmap
Definition XrdSecProtocolgsi.hh:200
int vomsat
Definition XrdSecProtocolgsi.hh:209
bool trustdns
Definition XrdSecProtocolgsi.hh:215
int authzcall
Definition XrdSecProtocolgsi.hh:198
char * gridmap
Definition XrdSecProtocolgsi.hh:192
char * md
Definition XrdSecProtocolgsi.hh:184
int hashcomp
Definition XrdSecProtocolgsi.hh:213
int authzpxy
Definition XrdSecProtocolgsi.hh:207
short debug
Definition XrdSecProtocolgsi.hh:173
gsiOptions()
Definition XrdSecProtocolgsi.hh:218
int bits
Definition XrdSecProtocolgsi.hh:191
int gmapto
Definition XrdSecProtocolgsi.hh:193
char * vomsfun
Definition XrdSecProtocolgsi.hh:210
void Print(XrdOucTrace *t)
char * clist
Definition XrdSecProtocolgsi.hh:175
char * gmapfunparms
Definition XrdSecProtocolgsi.hh:195
int sigpxy
Definition XrdSecProtocolgsi.hh:203
int ca
Definition XrdSecProtocolgsi.hh:186
int crlrefresh
Definition XrdSecProtocolgsi.hh:187
int dlgpxy
Definition XrdSecProtocolgsi.hh:201
Definition XrdSecProtocolgsi.hh:244
int bits
Definition XrdSecProtocolgsi.hh:251
bool createpxy
Definition XrdSecProtocolgsi.hh:252
const char * valid
Definition XrdSecProtocolgsi.hh:249
const char * out
Definition XrdSecProtocolgsi.hh:248
int deplen
Definition XrdSecProtocolgsi.hh:250
const char * key
Definition XrdSecProtocolgsi.hh:246
const char * certdir
Definition XrdSecProtocolgsi.hh:247
const char * cert
Definition XrdSecProtocolgsi.hh:245
Definition XrdSecProtocolgsi.hh:237
XrdSutBucket * cbck
Definition XrdSecProtocolgsi.hh:240
XrdCryptoRSA * ksig
Definition XrdSecProtocolgsi.hh:239
X509Chain * chain
Definition XrdSecProtocolgsi.hh:238
Generic structure to pass security information back and forth.
Definition XrdSecInterface.hh:51