45 #include "XrdVersion.hh"
66 virtual int Init(SSL_CTX *,
int) {
return 0;}
69 virtual int InitSSL(SSL *ssl,
char *cadir) {
return 0;}
73 : vomsFun(vFun), eDest(erp) {};
94 if (SSL_get_verify_result(ssl) != X509_V_OK)
return 0;
98 xCerts.
cert = SSL_get_peer_certificate(ssl);
99 if (!xCerts.
cert)
return 0;
100 xCerts.chain = SSL_get_peer_cert_chain(ssl);
104 sec.
creds = (
char *)&xCerts;
108 if (!(rc = vomsFun.
VOMSFun(sec))) strcpy(sec.
prot,
"gsi");
112 X509_free(xCerts.
cert);
XrdVERSIONINFO(XrdClGetPlugIn, XrdClGetPlugIn) extern "C"
static XrdSysError eDest(0,"crypto_")
#define XrdHttpSecXtractorArgs
XrdHttpSecXtractor * XrdHttpGetSecXtractor(XrdHttpSecXtractorArgs)
char prot[XrdSecPROTOIDSIZE]
Auth protocol used (e.g. krb5)
char * creds
Raw entity credentials or cert.
void SetCertFmt(CertFormat n)
int VOMSInit(const char *cfg)
int VOMSFun(XrdSecEntity &ent)
virtual int InitSSL(SSL *ssl, char *cadir)
XrdVomsHttp(XrdSysError *erp, XrdVomsFun &vFun)
virtual int Init(SSL_CTX *, int)
virtual int FreeSSL(SSL *)
virtual int GetSecData(XrdLink *, XrdSecEntity &, SSL *)