globus_gsi_proxy_core  8.11
 All Files Functions Typedefs Enumerations Enumerator Groups Pages
globus_gsi_proxy.h
Go to the documentation of this file.
1 
7 #ifndef GLOBUS_GLOBUS_GSI_PROXY_H
8 #define GLOBUS_GLOBUS_GSI_PROXY_H
9 
10 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
11 
15 #endif
16 
48 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
49 #include "globus_gsi_credential.h"
50 #include "globus_error_generic.h"
51 #include "globus_error_openssl.h"
52 #include "openssl/evp.h"
53 #include "openssl/x509v3.h"
54 #include "proxypolicy.h"
55 #endif
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
96 #define GLOBUS_GSI_PROXY_MODULE (&globus_i_gsi_proxy_module)
97 
98 extern
99 globus_module_descriptor_t globus_i_gsi_proxy_module;
100 
101 #define _PCSL(s) globus_common_i18n_get_string(\
102  GLOBUS_GSI_PROXY_MODULE, \
103  s)
104 
120 typedef struct globus_l_gsi_proxy_handle_s *
122 
136 typedef struct
137 globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t;
138 
139 
153 globus_result_t
155  globus_gsi_proxy_handle_t * handle,
156  globus_gsi_proxy_handle_attrs_t handle_attrs);
157 
158 globus_result_t
160  globus_gsi_proxy_handle_t handle);
161 
162 globus_result_t
164  globus_gsi_proxy_handle_t handle,
165  X509_REQ ** req);
166 
167 globus_result_t
169  globus_gsi_proxy_handle_t handle,
170  X509_REQ * req);
171 
172 globus_result_t
174  globus_gsi_proxy_handle_t handle,
175  EVP_PKEY ** proxy_key);
176 
177 globus_result_t
179  globus_gsi_proxy_handle_t handle,
180  const EVP_PKEY * proxy_key);
181 
182 globus_result_t
184  globus_gsi_proxy_handle_t handle,
185  globus_gsi_cert_utils_cert_type_t * type);
186 
187 globus_result_t
189  globus_gsi_proxy_handle_t handle,
190  globus_gsi_cert_utils_cert_type_t type);
191 
192 
193 globus_result_t
195  globus_gsi_proxy_handle_t handle,
196  int * time_valid);
197 
198 globus_result_t
200  globus_gsi_proxy_handle_t handle,
201  int time_valid);
202 
203 globus_result_t
205  globus_gsi_proxy_handle_t handle,
206  const unsigned char * policy_data,
207  int policy_length,
208  int policy_NID);
209 
210 globus_result_t
212  globus_gsi_proxy_handle_t handle,
213  unsigned char ** policy_data,
214  int * policy_length,
215  int * policy_NID);
216 
217 globus_result_t
219  globus_gsi_proxy_handle_t handle,
220  X509_EXTENSION * extension);
221 
222 globus_result_t
224  globus_gsi_proxy_handle_t handle,
225  STACK_OF(X509_EXTENSION) * extensions);
226 
227 globus_result_t
229  globus_gsi_proxy_handle_t handle,
230  STACK_OF(X509_EXTENSION) ** extension);
231 
232 globus_result_t
234  globus_gsi_proxy_handle_t handle,
235  long pathlen);
236 
237 globus_result_t
239  globus_gsi_proxy_handle_t handle,
240  int * pathlen);
241 
242 globus_result_t
244  globus_gsi_proxy_handle_t handle);
245 
246 #ifdef GLOBUS_GSI_PROXY_CORE_COMPAT_0
247 #include "proxycertinfo.h"
248 
249 #define globus_gsi_proxy_handle_get_proxy_cert_info(h,p) \
250  globus_gsi_proxy_handle_get_proxy_cert_info_proxy_ssl(h,p)
251 #define globus_gsi_proxy_handle_set_proxy_cert_info(h,p) \
252  globus_gsi_proxy_handle_set_proxy_cert_info_proxy_ssl(h,p)
253 
254 globus_result_t
255 globus_gsi_proxy_handle_get_proxy_cert_info_proxy_ssl(
256  globus_gsi_proxy_handle_t handle,
257  PROXYCERTINFO ** pci);
258 
259 globus_result_t
260 globus_gsi_proxy_handle_set_proxy_cert_info_proxy_ssl(
261  globus_gsi_proxy_handle_t handle,
262  PROXYCERTINFO * pci);
263 #else
264 globus_result_t
265 globus_gsi_proxy_handle_get_proxy_cert_info(
266  globus_gsi_proxy_handle_t handle,
267  PROXY_CERT_INFO_EXTENSION ** pci);
268 
269 globus_result_t
270 globus_gsi_proxy_handle_set_proxy_cert_info(
271  globus_gsi_proxy_handle_t handle,
272  PROXY_CERT_INFO_EXTENSION * pci);
273 #endif
274 
275 globus_result_t
277  globus_gsi_proxy_handle_t handle,
278  char ** common_name);
279 
280 globus_result_t
282  globus_gsi_proxy_handle_t handle,
283  const char * common_name);
284 
285 globus_result_t
287  globus_gsi_proxy_handle_t handle,
288  globus_bool_t * is_limited);
289 
290 globus_result_t
292  globus_gsi_proxy_handle_t handle,
293  globus_bool_t is_limited);
294 
295 globus_result_t
297  globus_gsi_proxy_handle_t handle,
298  const EVP_MD ** algorithm);
299 
300 globus_result_t
302  globus_gsi_proxy_handle_t handle,
303  int * key_bits);
304 
305 globus_result_t
307  globus_gsi_proxy_handle_t handle,
308  int * init_prime);
309 
310 globus_result_t
312  globus_gsi_proxy_handle_t handle,
313  int * skew);
314 
315 globus_result_t
317  globus_gsi_proxy_handle_t handle,
318  void (**callback)(int, int, void *));
319 
332 globus_result_t
334  globus_gsi_proxy_handle_attrs_t * handle_attrs);
335 
336 globus_result_t
338  globus_gsi_proxy_handle_attrs_t handle_attrs);
339 
340 globus_result_t
342  globus_gsi_proxy_handle_attrs_t a,
343  globus_gsi_proxy_handle_attrs_t * b);
344 
355 globus_result_t
357  globus_gsi_proxy_handle_t handle,
358  BIO * output_bio);
359 
360 globus_result_t
362  globus_gsi_proxy_handle_t handle,
363  BIO * input_bio);
364 
365 globus_result_t
367  globus_gsi_proxy_handle_t handle,
368  globus_gsi_cred_handle_t issuer_credential,
369  BIO * output_bio);
370 
371 globus_result_t
373  globus_gsi_proxy_handle_t handle,
374  globus_gsi_cred_handle_t issuer_credential,
375  globus_gsi_cred_handle_t peer_credential,
376  globus_gsi_cred_handle_t * resigned_credential);
377 
378 globus_result_t
380  globus_gsi_proxy_handle_t handle,
381  globus_gsi_cred_handle_t * proxy_credential,
382  BIO * input_bio);
383 
384 globus_result_t
386  globus_gsi_proxy_handle_t handle,
387  globus_gsi_cred_handle_t issuer,
388  globus_gsi_cred_handle_t * proxy_credential);
389 
390 globus_result_t
392  globus_gsi_proxy_handle_attrs_t handle_attrs,
393  int bits);
394 
395 globus_result_t
397  globus_gsi_proxy_handle_attrs_t handle_attrs,
398  int * bits);
399 
400 globus_result_t
402  globus_gsi_proxy_handle_attrs_t handle_attrs,
403  int prime);
404 
405 globus_result_t
407  globus_gsi_proxy_handle_attrs_t handle_attrs,
408  int * prime);
409 
410 globus_result_t
412  globus_gsi_proxy_handle_attrs_t handle_attrs,
413  const EVP_MD * algorithm);
414 
415 globus_result_t
417  globus_gsi_proxy_handle_attrs_t handle_attrs,
418  const EVP_MD ** algorithm);
419 
420 globus_result_t
422  globus_gsi_proxy_handle_attrs_t handle,
423  int skew);
424 
425 globus_result_t
427  globus_gsi_proxy_handle_attrs_t handle,
428  int * skew);
429 
430 globus_result_t
432  globus_gsi_proxy_handle_attrs_t handle,
433  void (**callback)(int, int, void *));
434 
435 globus_result_t
437  globus_gsi_proxy_handle_attrs_t handle,
438  void (*callback)(int, int, void *));
439 
440 #ifdef __cplusplus
441 }
442 #endif
443 
444 #endif /* GLOBUS_GLOBUS_GSI_PROXY_H */
globus_result_t globus_gsi_proxy_handle_get_common_name(globus_gsi_proxy_handle_t handle, char **common_name)
Get/Set Proxy Common Name.
Definition: globus_gsi_proxy_handle.c:1956
globus_result_t globus_gsi_proxy_handle_set_private_key(globus_gsi_proxy_handle_t handle, const EVP_PKEY *proxy_key)
Set the private key in a GSI Proxy handle.
Definition: globus_gsi_proxy_handle.c:476
globus_result_t globus_gsi_proxy_handle_get_policy(globus_gsi_proxy_handle_t handle, unsigned char **policy_data, int *policy_length, int *policy_NID)
Get Policy.
Definition: globus_gsi_proxy_handle.c:756
globus_result_t globus_gsi_proxy_handle_attrs_get_key_gen_callback(globus_gsi_proxy_handle_attrs_t handle, void(**callback)(int, int, void *))
Get Key Gen Callback.
Definition: globus_gsi_proxy_handle_attrs.c:513
globus_result_t globus_gsi_proxy_handle_add_extension(globus_gsi_proxy_handle_t handle, X509_EXTENSION *extension)
Add X.509 Extensions.
Definition: globus_gsi_proxy_handle.c:847
globus_result_t globus_gsi_proxy_sign_req(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, BIO *output_bio)
Sign a proxy certificate request.
Definition: globus_gsi_proxy.c:1044
globus_result_t globus_gsi_proxy_handle_get_type(globus_gsi_proxy_handle_t handle, globus_gsi_cert_utils_cert_type_t *type)
Get Proxy Type.
Definition: globus_gsi_proxy_handle.c:538
globus_result_t globus_gsi_proxy_handle_set_extensions(globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION)*extensions)
Set X.509 Extensions.
Definition: globus_gsi_proxy_handle.c:918
globus_result_t globus_gsi_proxy_handle_attrs_get_keybits(globus_gsi_proxy_handle_attrs_t handle_attrs, int *bits)
Get Key Bits.
Definition: globus_gsi_proxy_handle_attrs.c:176
globus_result_t globus_gsi_proxy_create_req(globus_gsi_proxy_handle_t handle, BIO *output_bio)
Create a proxy credential request.
Definition: globus_gsi_proxy.c:198
globus_result_t globus_gsi_proxy_handle_get_pathlen(globus_gsi_proxy_handle_t handle, int *pathlen)
Get Path Length.
Definition: globus_gsi_proxy_handle.c:1127
globus_result_t globus_gsi_proxy_handle_attrs_set_clock_skew_allowable(globus_gsi_proxy_handle_attrs_t handle, int skew)
Set Clock Skew Allowable.
Definition: globus_gsi_proxy_handle_attrs.c:419
globus_result_t globus_gsi_proxy_handle_get_init_prime(globus_gsi_proxy_handle_t handle, int *init_prime)
Get Init Prime.
Definition: globus_gsi_proxy_handle.c:1786
globus_result_t globus_gsi_proxy_handle_attrs_get_clock_skew_allowable(globus_gsi_proxy_handle_attrs_t handle, int *skew)
Get Clock Skew Allowable.
Definition: globus_gsi_proxy_handle_attrs.c:463
globus_result_t globus_gsi_proxy_handle_destroy(globus_gsi_proxy_handle_t handle)
Destroy a GSI Proxy handle.
Definition: globus_gsi_proxy_handle.c:190
globus_result_t globus_gsi_proxy_handle_clear_cert_info(globus_gsi_proxy_handle_t handle)
Clear Cert Info.
Definition: globus_gsi_proxy_handle.c:1274
globus_result_t globus_gsi_proxy_handle_set_is_limited(globus_gsi_proxy_handle_t handle, globus_bool_t is_limited)
Set/Check Proxy Is Limited.
Definition: globus_gsi_proxy_handle.c:2077
globus_result_t globus_gsi_proxy_create_signed(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer, globus_gsi_cred_handle_t *proxy_credential)
Create Signed Proxy Certificate.
Definition: globus_gsi_proxy.c:1853
globus_result_t globus_gsi_proxy_handle_attrs_set_init_prime(globus_gsi_proxy_handle_attrs_t handle_attrs, int prime)
Set Initial Prime Number.
Definition: globus_gsi_proxy_handle_attrs.c:226
struct globus_l_gsi_proxy_handle_s * globus_gsi_proxy_handle_t
GSI Proxy Handle.
Definition: globus_gsi_proxy.h:120
globus_result_t globus_gsi_proxy_handle_get_req(globus_gsi_proxy_handle_t handle, X509_REQ **req)
Get the certificate request from a GSI Proxy handle.
Definition: globus_gsi_proxy_handle.c:239
globus_result_t globus_gsi_proxy_resign_cert(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, globus_gsi_cred_handle_t peer_credential, globus_gsi_cred_handle_t *resigned_credential)
Resign an existing certificate into a proxy.
Definition: globus_gsi_proxy.c:856
globus_result_t globus_gsi_proxy_handle_attrs_destroy(globus_gsi_proxy_handle_attrs_t handle_attrs)
Destroy attributes.
Definition: globus_gsi_proxy_handle_attrs.c:108
globus_result_t globus_gsi_proxy_is_limited(globus_gsi_proxy_handle_t handle, globus_bool_t *is_limited)
Definition: globus_gsi_proxy_handle.c:2157
globus_result_t globus_gsi_proxy_handle_get_keybits(globus_gsi_proxy_handle_t handle, int *key_bits)
Get Key Bits.
Definition: globus_gsi_proxy_handle.c:1731
globus_result_t globus_gsi_proxy_handle_attrs_get_init_prime(globus_gsi_proxy_handle_attrs_t handle_attrs, int *prime)
Get Initial Prime Number.
Definition: globus_gsi_proxy_handle_attrs.c:268
globus_result_t globus_gsi_proxy_handle_attrs_get_signing_algorithm(globus_gsi_proxy_handle_attrs_t handle_attrs, const EVP_MD **algorithm)
Get Signing Algorithm.
Definition: globus_gsi_proxy_handle_attrs.c:368
globus_result_t globus_gsi_proxy_handle_set_req(globus_gsi_proxy_handle_t handle, X509_REQ *req)
Set Request Set the certificate request in a GSI Proxy handle.
Definition: globus_gsi_proxy_handle.c:298
globus_result_t globus_gsi_proxy_handle_init(globus_gsi_proxy_handle_t *handle, globus_gsi_proxy_handle_attrs_t handle_attrs)
Initialize a GSI Proxy handle.
Definition: globus_gsi_proxy_handle.c:71
globus_result_t globus_gsi_proxy_handle_get_extensions(globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION)**extension)
Get X.509 Extensions.
Definition: globus_gsi_proxy_handle.c:994
globus_result_t globus_gsi_proxy_handle_set_type(globus_gsi_proxy_handle_t handle, globus_gsi_cert_utils_cert_type_t type)
Get Proxy Type.
Definition: globus_gsi_proxy_handle.c:590
globus_result_t globus_gsi_proxy_handle_get_key_gen_callback(globus_gsi_proxy_handle_t handle, void(**callback)(int, int, void *))
Get Callback for Creating Keys.
Definition: globus_gsi_proxy_handle.c:1896
struct globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t
Handle Attributes.
Definition: globus_gsi_proxy.h:136
globus_result_t globus_gsi_proxy_handle_get_clock_skew_allowable(globus_gsi_proxy_handle_t handle, int *skew)
Get Clock Skew.
Definition: globus_gsi_proxy_handle.c:1842
globus_result_t globus_gsi_proxy_handle_set_common_name(globus_gsi_proxy_handle_t handle, const char *common_name)
Definition: globus_gsi_proxy_handle.c:2019
globus_result_t globus_gsi_proxy_handle_attrs_set_keybits(globus_gsi_proxy_handle_attrs_t handle_attrs, int bits)
Set Key Bits.
Definition: globus_gsi_proxy_handle_attrs.c:136
globus_result_t globus_gsi_proxy_handle_attrs_copy(globus_gsi_proxy_handle_attrs_t a, globus_gsi_proxy_handle_attrs_t *b)
Copy Attributes.
Definition: globus_gsi_proxy_handle_attrs.c:601
globus_result_t globus_gsi_proxy_handle_set_time_valid(globus_gsi_proxy_handle_t handle, int time_valid)
Set Time Valid.
Definition: globus_gsi_proxy_handle.c:1233
globus_result_t globus_gsi_proxy_handle_set_pathlen(globus_gsi_proxy_handle_t handle, long pathlen)
Set Path Length.
Definition: globus_gsi_proxy_handle.c:1066
globus_result_t globus_gsi_proxy_inquire_req(globus_gsi_proxy_handle_t handle, BIO *input_bio)
Inquire a proxy credential request.
Definition: globus_gsi_proxy.c:650
globus_result_t globus_gsi_proxy_assemble_cred(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t *proxy_credential, BIO *input_bio)
Assemble a proxy credential.
Definition: globus_gsi_proxy.c:2101
globus_result_t globus_gsi_proxy_handle_get_time_valid(globus_gsi_proxy_handle_t handle, int *time_valid)
Get Time Valid.
Definition: globus_gsi_proxy_handle.c:1183
globus_result_t globus_gsi_proxy_handle_attrs_init(globus_gsi_proxy_handle_attrs_t *handle_attrs)
Initialize Attributes.
Definition: globus_gsi_proxy_handle_attrs.c:50
globus_result_t globus_gsi_proxy_handle_get_private_key(globus_gsi_proxy_handle_t handle, EVP_PKEY **proxy_key)
Get the private key from a GSI Proxy handle.
Definition: globus_gsi_proxy_handle.c:360
globus_result_t globus_gsi_proxy_handle_attrs_set_key_gen_callback(globus_gsi_proxy_handle_attrs_t handle, void(*callback)(int, int, void *))
Set Key Gen Callback.
Definition: globus_gsi_proxy_handle_attrs.c:563
globus_result_t globus_gsi_proxy_handle_set_policy(globus_gsi_proxy_handle_t handle, const unsigned char *policy_data, int policy_length, int policy_NID)
Set Policy.
Definition: globus_gsi_proxy_handle.c:664
globus_result_t globus_gsi_proxy_handle_attrs_set_signing_algorithm(globus_gsi_proxy_handle_attrs_t handle_attrs, const EVP_MD *algorithm)
Set Signing Algorithm.
Definition: globus_gsi_proxy_handle_attrs.c:321
globus_result_t globus_gsi_proxy_handle_get_signing_algorithm(globus_gsi_proxy_handle_t handle, const EVP_MD **algorithm)
Get Signing Algorithm.
Definition: globus_gsi_proxy_handle.c:1675