Loading...
Searching...
No Matches
XrdVomsHttp Class Reference
Inheritance diagram for XrdVomsHttp:
Collaboration diagram for XrdVomsHttp:

## Public Member Functions

| XrdVomsHttp (XrdSysError *erp, XrdVomsFun &vFun)
virtual int | FreeSSL (SSL *)
virtual int | GetSecData (XrdLink *, XrdSecEntity &, SSL *)
virtual int | Init (SSL_CTX *, int)
virtual int | InitSSL (SSL *ssl, char *cadir)
Public Member Functions inherited from XrdHttpSecXtractor
| XrdHttpSecXtractor ()
| Constructor.
virtual | ~XrdHttpSecXtractor ()
| Destructor.

## Detailed Description

Definition at line 55 of file XrdVomsHttp.cc.

## Constructor & Destructor Documentation

## XrdVomsHttp()

XrdVomsHttp::XrdVomsHttp | ( | XrdSysError * | erp,
|  | XrdVomsFun & | vFun )

inline

Definition at line 72 of file XrdVomsHttp.cc.

: vomsFun(vFun), eDest(erp) {};
eDest
static XrdSysError eDest(0,"crypto_")

## Member Function Documentation

## FreeSSL()

virtual int XrdVomsHttp::FreeSSL | ( | SSL * |  | ) |

inline virtual

Reimplemented from XrdHttpSecXtractor.

Definition at line 70 of file XrdVomsHttp.cc.

{return 0;}

## GetSecData()

int XrdVomsHttp::GetSecData | ( | XrdLink * | lp,
|  | XrdSecEntity & | sec,
|  | SSL * | ssl )

virtual

Implements XrdHttpSecXtractor.

Definition at line 85 of file XrdVomsHttp.cc.

{
Voms_x509_in_t xCerts;
int rc;
// Make sure the certs have been verified. Note that HTTP doesn't do well if
// we return failure. So, we always return success as there will be no entity.
//
//
if (SSL_get_verify_result(ssl) != X509_V_OK) return 0;
// Get the certs
//
xCerts.cert = SSL_get_peer_certificate(ssl);
if (!xCerts.cert) return 0;
xCerts.chain = SSL_get_peer_cert_chain(ssl);
// The API calls for the cert member in the SecEntity point to the certs
//
sec.creds = (char *)&xCerts;
// Do the voms tango now and upon success pretend we are "gsi" authentication
//
if (!(rc = vomsFun.VOMSFun(sec))) strcpy(sec.prot, "gsi");
// Free the x509 cert the chain will stick arround until the session is freed
//
X509_free(xCerts.cert);
// All done
//
sec.creds = 0;
return rc;
}
XrdSecEntity::prot
char prot[XrdSecPROTOIDSIZE]
Auth protocol used (e.g. krb5).
Definition XrdSecEntity.hh:67
XrdSecEntity::creds
char * creds
Raw entity credentials or cert.
Definition XrdSecEntity.hh:77
Voms_x509_in_t::cert
X509 * cert
Definition XrdVoms.hh:40

References Voms_x509_in_t::cert, XrdSecEntity::creds, and XrdSecEntity::prot.

## Init()

virtual int XrdVomsHttp::Init | ( | SSL_CTX * | ,
|  | int | )

inline virtual

Implements XrdHttpSecXtractor.

Definition at line 66 of file XrdVomsHttp.cc.

{return 0;}

## InitSSL()

virtual int XrdVomsHttp::InitSSL | ( | SSL * | ssl,
|  | char * | cadir )

inline virtual

Reimplemented from XrdHttpSecXtractor.

Definition at line 69 of file XrdVomsHttp.cc.

{return 0;}

The documentation for this class was generated from the following file:

- XrdVomsHttp.cc