47 #include <openssl/x509.h>
48 #include <openssl/bio.h>
49 #include <sys/types.h>
50 #include "newformat.h"
129 struct vomsr *translate();
130 friend int TranslateVOMS(
struct vomsdatar *vd, std::vector<voms>&v,
int *error);
200 Initializer(Initializer &);
204 static Initializer init;
205 std::string ca_cert_dir;
206 std::string voms_cert_dir;
208 std::string ordering;
209 std::vector<contactdata> servers;
210 std::vector<std::string> targets;
216 std::string cert_dir =
"");
244 std::vector<contactdata>
FindByAlias(std::string alias);
252 std::vector<contactdata>
FindByVO(std::string vo);
260 void Order(std::string att);
279 bool Retrieve(X509 *cert, STACK_OF(X509) *chain,
289 bool Contact(std::string hostname,
int port,
290 std::string servsubject,
291 std::string command);
301 bool Contact(std::string hostname,
int port,
302 std::string servsubject,
316 bool ContactRaw(std::string hostname,
int port,
317 std::string servsubject,
329 bool ContactRaw(std::string hostname,
int port,
330 std::string servsubject,
353 bool Import(std::string buffer);
384 bool loadfile(std::string, uid_t uid, gid_t gid);
385 bool loadfile0(std::string, uid_t uid, gid_t gid);
386 bool verifydata(std::string &message, std::string subject, std::string ca,
387 X509 *holder,
voms &v);
388 bool check_cert(X509 *cert);
389 bool retrieve(X509 *cert, STACK_OF(X509) *chain,
recurse_type how,
390 AC_SEQ **listnew, std::string &subject, std::string &ca,
394 std::string serverrors;
395 std::string errmessage;
399 bool check_sig_ac(X509 *,
void *);
401 bool contact(
const std::string&,
int,
const std::string&,
402 const std::string&, std::string&, std::string&,
403 std::string&,
int timeout);
404 bool verifydata(AC *ac,
const std::string& subject,
const std::string& ca,
405 X509 *holder,
voms &v);
406 bool evaluate(AC_SEQ *,
const std::string&,
const std::string&, X509*);
447 bool check_cert(STACK_OF(X509) *);
448 X509 *check_from_certs(AC *ac,
const std::string& voname);
449 X509 *check_from_file(AC *, std::ifstream&,
const std::string &vo,
const std::string &filename);
464 time_t verificationtime;
465 bool verifyac(X509 *, X509 *, AC*, time_t,
voms&);
469 bool ContactRESTRaw(
const std::string&,
int,
const std::string&, std::string&,
int,
int);
472 bool InterpretOutput(
const std::string&, std::string&);
void Order(std::string att)
bool Export(std::string &data)
int getVOMSMajorVersionNumber(void)
int getVOMSMinorVersionNumber(void)
bool RetrieveFromProxy(recurse_type how)
std::vector< std::string > GetTargets()
std::vector< contactdata > FindByAlias(std::string alias)
std::string ServerErrors(void)
int getVOMSPatchVersionNumber(void)
void AddTarget(std::string target)
std::vector< std::string > ListTargets(void)
std::vector< attributelist > & GetAttributes()
std::string ErrorMessage(void)
void SetVerificationTime(time_t)
bool Retrieve(X509 *cert, STACK_OF(X509)*chain, recurse_type how=RECURSE_CHAIN)
bool ContactRESTRaw(const std::string &, int, const std::string &, std::string &, int, int)
bool ContactRaw(std::string hostname, int port, std::string servsubject, std::string command, std::string &raw, int &version)
vomsdata(std::string voms_dir="", std::string cert_dir="")
friend int TranslateVOMS(struct vomsdatar *vd, std::vector< voms > &v, int *error)
std::vector< std::string > fqan
voms & operator=(const voms &)
std::vector< contactdata > FindByVO(std::string vo)
bool Import(std::string buffer)
bool RetrieveFromCred(gss_cred_id_t credential, recurse_type how)
bool(* check_sig)(X509 *, void *, verror_type &)
void SetLifetime(int lifetime)
bool LoadCredentials(X509 *, EVP_PKEY *, STACK_OF(X509)*)
bool LoadSystemContacts(std::string dir="")
void SetRetryCount(int retryCount)
bool Contact(std::string hostname, int port, std::string servsubject, std::string command)
bool LoadUserContacts(std::string dir="")
std::vector< attribute > attributes
User's characteristics: can be repeated. Generic name-value attribute : can be repeated.
bool RetrieveFromCtx(gss_ctx_id_t context, recurse_type how)
data_type
The type of data returned.
void SetVerificationType(verify_type how)