ARC SDK
ARCProxyUtil.h
1 #ifndef __ARC_PROXYUTIL_H__
2 #define __ARC_PROXYUTIL_H__
3 
4 
5 namespace Arc {
6 
8 
11 class ARCProxyUtil {
12  enum { SHA1,
13  SHA224,
14  SHA256,
15  SHA384,
16  SHA512,
17  } SHA_OPTION;
18 
19  public:
20  ARCProxyUtil();
21 
22  virtual ~ARCProxyUtil();
23 
24  bool Contact_VOMS_Server(bool use_nssdb, const std::list<std::string>& vomslist,
25  const std::list<std::string>& orderlist, bool use_gsi_comm, bool use_http_comm,
26  const std::string& voms_period, std::string vomsacseq);
27 
28  bool Contact_MyProxy_Server();
29 
30  bool Create_Proxy(bool use_nssdb, const std::string& proxy_policy,
31  Arc::Time& proxy_start, Arc::Period& proxy_period,
32  const std::string& vomsacseq);
33 
34  void Set_ProxyPath(const std::string& proxypath) { proxy_path = proxypath; };
35  std::string Get_ProxyPath() { return proxy_path; };
36 
37  void Set_CertPath(const std::string& certpath) { cert_path = certpath; };
38  std::string Get_CertPath() { return cert_path; };
39 
40  void Set_KeyPath(const std::string& keypath) { key_path = keypath; };
41  std::string Get_KeyPath() { return key_path; };
42 
43  void Set_CACertDir(const std::string& cadir) { ca_dir = cadir; };
44  std::string Get_CACertDir() { return ca_dir; };
45 
46  void Set_Keybits(int bits) { keybits = bits; };
47  int Get_Keybits() { return keybits; };
48 
49  void Set_Digest(SHA_OPTION sha_opt) { sha = sha_opt; };
50  SHA_OPTION Get_Digest() { return sha; };
51 
52  void Set_VOMSDir(const std::string& vomsdir) { voms_dir = vomsdir; };
53  std::string Get_VOMSDir() { return voms_dir; };
54 
55  void Set_VOMSESPath(const std::string& vomsespath) { vomses_path = vomsespath; };
56  std::string Get_VOMSESPath() { return vomses_path; };
57 
58  void Set_NSSDBPath(const std::string& nssdbpath) { nssdb_path = nssdbpath; };
59  std::string Get_NSSDBPath() { return nssdb_path; };
60 
61  private:
62  std::string proxy_path;
63  std::string cert_path;
64  std::string key_path;
65  std::string ca_dir;
66  std::string voms_dir;
67  std::string vomses_path;
68  std::string nssdb_path;
69 
70  int keybits;
71  SHA_OPTION sha;
72 
73  std::string debug_level;
74 
75 
76 
77 };
78 
79 }
80 
81 #endif /* __ARC_PROXYUTIL_H__ */
Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
Utility class for generating proxies.
Definition: ARCProxyUtil.h:11
A class for storing and manipulating times.
Definition: DateTime.h:125
A Period represents a length of time.
Definition: DateTime.h:48