22 #ifndef GLOBUS_GLOBUS_GSI_PROXY_H 23 #define GLOBUS_GLOBUS_GSI_PROXY_H 25 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET 67 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL 68 #include "globus_gsi_credential.h" 69 #include "globus_error_generic.h" 70 #include "globus_error_openssl.h" 71 #include "openssl/evp.h" 72 #include "proxycertinfo.h" 113 #define GLOBUS_GSI_PROXY_MODULE (&globus_i_gsi_proxy_module) 116 globus_module_descriptor_t globus_i_gsi_proxy_module;
118 #define _PCSL(s) globus_common_i18n_get_string(\ 119 GLOBUS_GSI_PROXY_MODULE, \ 137 typedef struct globus_l_gsi_proxy_handle_s *
175 globus_gsi_proxy_handle_t * handle,
176 globus_gsi_proxy_handle_attrs_t handle_attrs);
179 globus_gsi_proxy_handle_destroy(
180 globus_gsi_proxy_handle_t handle);
184 globus_gsi_proxy_handle_t handle,
188 globus_gsi_proxy_handle_set_req(
189 globus_gsi_proxy_handle_t handle,
194 globus_gsi_proxy_handle_t handle,
195 EVP_PKEY ** proxy_key);
198 globus_gsi_proxy_handle_set_private_key(
199 globus_gsi_proxy_handle_t handle,
200 EVP_PKEY * proxy_key);
204 globus_gsi_proxy_handle_t handle,
205 globus_gsi_cert_utils_cert_type_t * type);
209 globus_gsi_proxy_handle_t handle,
210 globus_gsi_cert_utils_cert_type_t type);
215 globus_gsi_proxy_handle_t handle,
220 globus_gsi_proxy_handle_t handle,
225 globus_gsi_proxy_handle_t handle,
226 unsigned char * policy_data,
232 globus_gsi_proxy_handle_t handle,
233 unsigned char ** policy_data,
239 globus_gsi_proxy_handle_t handle,
240 X509_EXTENSION * extension);
244 globus_gsi_proxy_handle_t handle,
245 STACK_OF(X509_EXTENSION)* extensions);
249 globus_gsi_proxy_handle_t handle,
250 STACK_OF(X509_EXTENSION)** extension);
254 globus_gsi_proxy_handle_t handle,
259 globus_gsi_proxy_handle_t handle,
264 globus_gsi_proxy_handle_t handle);
268 globus_gsi_proxy_handle_t handle,
269 PROXYCERTINFO ** pci);
273 globus_gsi_proxy_handle_t handle,
274 PROXYCERTINFO * pci);
278 globus_gsi_proxy_handle_t handle,
279 char ** common_name);
282 globus_gsi_proxy_handle_set_common_name(
283 globus_gsi_proxy_handle_t handle,
287 globus_gsi_proxy_is_limited(
288 globus_gsi_proxy_handle_t handle,
289 globus_bool_t * is_limited);
293 globus_gsi_proxy_handle_t handle,
294 globus_bool_t is_limited);
298 globus_gsi_proxy_handle_t handle,
299 EVP_MD ** algorithm);
303 globus_gsi_proxy_handle_t handle,
308 globus_gsi_proxy_handle_t handle,
313 globus_gsi_proxy_handle_t handle,
318 globus_gsi_proxy_handle_t handle,
319 void (**callback)(
int,
int,
void *));
340 globus_gsi_proxy_handle_attrs_t * handle_attrs);
344 globus_gsi_proxy_handle_attrs_t handle_attrs);
348 globus_gsi_proxy_handle_attrs_t a,
349 globus_gsi_proxy_handle_attrs_t * b);
369 globus_gsi_proxy_handle_t handle,
374 globus_gsi_proxy_handle_t handle,
379 globus_gsi_proxy_handle_t handle,
380 globus_gsi_cred_handle_t issuer_credential,
385 globus_gsi_proxy_handle_t handle,
386 globus_gsi_cred_handle_t issuer_credential,
387 globus_gsi_cred_handle_t peer_credential,
388 globus_gsi_cred_handle_t * resigned_credential);
392 globus_gsi_proxy_handle_t handle,
393 globus_gsi_cred_handle_t * proxy_credential,
398 globus_gsi_proxy_handle_t handle,
399 globus_gsi_cred_handle_t issuer,
400 globus_gsi_cred_handle_t * proxy_credential);
404 globus_gsi_proxy_handle_attrs_t handle_attrs,
409 globus_gsi_proxy_handle_attrs_t handle_attrs,
414 globus_gsi_proxy_handle_attrs_t handle_attrs,
419 globus_gsi_proxy_handle_attrs_t handle_attrs,
424 globus_gsi_proxy_handle_attrs_t handle_attrs,
429 globus_gsi_proxy_handle_attrs_t handle_attrs,
430 EVP_MD ** algorithm);
434 globus_gsi_proxy_handle_attrs_t handle,
439 globus_gsi_proxy_handle_attrs_t handle,
444 globus_gsi_proxy_handle_attrs_t handle,
445 void (**callback)(
int,
int,
void *));
449 globus_gsi_proxy_handle_attrs_t handle,
450 void (*callback)(
int,
int,
void *));
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:1643
globus_result_t globus_gsi_proxy_handle_get_signing_algorithm(globus_gsi_proxy_handle_t handle, EVP_MD **signing_algorithm)
Get Signing Algorithm.
Definition: globus_gsi_proxy_handle.c:1437
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:789
globus_result_t globus_gsi_proxy_handle_attrs_get_key_gen_callback(globus_gsi_proxy_handle_attrs_t handle_attrs, void(**callback)(int, int, void *))
Get Key Gen Callback.
Definition: globus_gsi_proxy_handle_attrs.c:476
globus_result_t globus_gsi_proxy_handle_add_extension(globus_gsi_proxy_handle_t handle, X509_EXTENSION *ext)
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 Request.
Definition: globus_gsi_proxy.c:1034
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:577
globus_result_t globus_gsi_proxy_handle_set_extensions(globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION)*exts)
Set X.509 Extensions.
Definition: globus_gsi_proxy_handle.c:919
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:190
globus_result_t globus_gsi_proxy_create_req(globus_gsi_proxy_handle_t handle, BIO *output_bio)
Create Request.
Definition: globus_gsi_proxy.c:216
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:1118
globus_result_t globus_gsi_proxy_handle_attrs_set_clock_skew_allowable(globus_gsi_proxy_handle_attrs_t handle_attrs, int skew)
Set Clock Skew Allowable.
Definition: globus_gsi_proxy_handle_attrs.c:385
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:1518
globus_result_t globus_gsi_proxy_handle_attrs_get_clock_skew_allowable(globus_gsi_proxy_handle_attrs_t handle_attrs, int *skew)
Get Clock Skew Allowable.
Definition: globus_gsi_proxy_handle_attrs.c:431
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:1249
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:1766
globus_result_t globus_gsi_proxy_handle_attrs_set_signing_algorithm(globus_gsi_proxy_handle_attrs_t handle_attrs, EVP_MD *algorithm)
Set Signing Algorithm.
Definition: globus_gsi_proxy_handle_attrs.c:289
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.
Definition: globus_gsi_proxy.c:1851
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:222
struct globus_l_gsi_proxy_handle_s * globus_gsi_proxy_handle_t
Definition: globus_gsi_proxy.h:137
globus_result_t globus_gsi_proxy_handle_get_req(globus_gsi_proxy_handle_t handle, X509_REQ **req)
Get Request.
Definition: globus_gsi_proxy_handle.c:231
globus_result_t globus_gsi_proxy_handle_set_policy(globus_gsi_proxy_handle_t handle, unsigned char *policy_data, int policy_length, int policy_language_NID)
Set Policy.
Definition: globus_gsi_proxy_handle.c:698
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 Certificate.
Definition: globus_gsi_proxy.c:842
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:125
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:1478
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:255
globus_result_t globus_gsi_proxy_handle_init(globus_gsi_proxy_handle_t *handle, globus_gsi_proxy_handle_attrs_t handle_attrs)
Initialize Handle.
Definition: globus_gsi_proxy_handle.c:68
globus_result_t globus_gsi_proxy_handle_get_extensions(globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION)**exts)
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:623
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:1598
struct globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t
Definition: globus_gsi_proxy.h:153
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:1559
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:160
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:563
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:1206
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:1060
globus_result_t globus_gsi_proxy_inquire_req(globus_gsi_proxy_handle_t handle, BIO *input_bio)
Inquire Request.
Definition: globus_gsi_proxy.c:627
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 credential.
Definition: globus_gsi_proxy.c:2102
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:1162
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:65
globus_result_t globus_gsi_proxy_handle_set_proxy_cert_info(globus_gsi_proxy_handle_t handle, PROXYCERTINFO *pci)
Set Cert Info.
Definition: globus_gsi_proxy_handle.c:1377
globus_result_t globus_gsi_proxy_handle_attrs_get_signing_algorithm(globus_gsi_proxy_handle_attrs_t handle_attrs, EVP_MD **algorithm)
Get Signing Algorithm.
Definition: globus_gsi_proxy_handle_attrs.c:338
globus_result_t globus_gsi_proxy_handle_get_private_key(globus_gsi_proxy_handle_t handle, EVP_PKEY **proxy_key)
Get/Set Private Key.
Definition: globus_gsi_proxy_handle.c:354
globus_result_t globus_gsi_proxy_handle_attrs_set_key_gen_callback(globus_gsi_proxy_handle_attrs_t handle_attrs, void(*callback)(int, int, void *))
Set Key Gen Callback.
Definition: globus_gsi_proxy_handle_attrs.c:521
globus_result_t globus_gsi_proxy_handle_get_proxy_cert_info(globus_gsi_proxy_handle_t handle, PROXYCERTINFO **pci)
Get Cert Info.
Definition: globus_gsi_proxy_handle.c:1309