ARC SDK
Typedefs | Enumerations | Functions
ArcCredential Namespace Reference

Internal code for low-level credential handling. More...

Typedefs

typedef void(* freefn) (void *)
 

Enumerations

enum  certType {
  CERT_TYPE_EEC, CERT_TYPE_CA, CERT_TYPE_GSI_3_IMPERSONATION_PROXY, CERT_TYPE_GSI_3_INDEPENDENT_PROXY,
  CERT_TYPE_GSI_3_LIMITED_PROXY, CERT_TYPE_GSI_3_RESTRICTED_PROXY, CERT_TYPE_GSI_2_PROXY, CERT_TYPE_GSI_2_LIMITED_PROXY,
  CERT_TYPE_RFC_IMPERSONATION_PROXY, CERT_TYPE_RFC_INDEPENDENT_PROXY, CERT_TYPE_RFC_LIMITED_PROXY, CERT_TYPE_RFC_RESTRICTED_PROXY,
  CERT_TYPE_RFC_ANYLANGUAGE_PROXY
}
 Certificate Types. More...
 

Functions

int verify_cert_chain (X509 *cert, STACK_OF(X509) **certchain, std::string const &ca_file, std::string const &ca_dir, std::string &proxy_policy)
 
int collect_cert_chain (X509 *cert, STACK_OF(X509) **certchain, std::string &proxy_policy)
 
bool check_cert_type (X509 *cert, certType &type)
 
const char * certTypeToString (certType type)
 
char ** listadd (char **vect, char *data, int size)
 
void listfree (char **vect, freefn f)
 
int PROXY_POLICY_set_policy_language (PROXY_POLICY *policy, ASN1_OBJECT *policy_language)
 
ASN1_OBJECT * PROXY_POLICY_get_policy_language (PROXY_POLICY *policy)
 
int PROXY_POLICY_set_policy (PROXY_POLICY *proxypolicy, unsigned char *policy, int length)
 
unsigned char * PROXY_POLICY_get_policy (PROXY_POLICY *policy, int *length)
 
int PROXY_CERT_INFO_EXTENSION_set_path_length (PROXY_CERT_INFO_EXTENSION *proxycertinfo, long path_length)
 
long PROXY_CERT_INFO_EXTENSION_get_path_length (PROXY_CERT_INFO_EXTENSION *proxycertinfo)
 
PROXY_POLICY * PROXY_CERT_INFO_EXTENSION_get_proxypolicy (PROXY_CERT_INFO_EXTENSION *proxycertinfo)
 

Detailed Description

Internal code for low-level credential handling.

Borrow the code about list operation from VOMS, specially for list of Attribute Certificate. Because the AC** operator is required for i2d_AC() and d2i_AC() method, and implicitly required by OpenSSL code, some other solution like std::list<AC*> is not suitable here. The listfunc.h and listfunc.h are introduced from code written by VOMS project, so here the original license follows.