globus_gsi_proxy_core  7.9
 All Files Functions Typedefs Enumerations Enumerator Groups Pages
globus_gsi_proxy.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
22 #ifndef GLOBUS_GLOBUS_GSI_PROXY_H
23 #define GLOBUS_GLOBUS_GSI_PROXY_H
24 
25 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
26 
30 #endif
31 
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"
73 #endif
74 
75 #ifdef __cplusplus
76 extern "C" {
77 #endif
78 
113 #define GLOBUS_GSI_PROXY_MODULE (&globus_i_gsi_proxy_module)
114 
115 extern
116 globus_module_descriptor_t globus_i_gsi_proxy_module;
117 
118 #define _PCSL(s) globus_common_i18n_get_string(\
119  GLOBUS_GSI_PROXY_MODULE, \
120  s)
121 
137 typedef struct globus_l_gsi_proxy_handle_s *
139 
153 typedef struct
154 globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t;
155 
156 
171 #ifndef DOXYGEN
172 
173 globus_result_t
175  globus_gsi_proxy_handle_t * handle,
176  globus_gsi_proxy_handle_attrs_t handle_attrs);
177 
178 globus_result_t
179 globus_gsi_proxy_handle_destroy(
180  globus_gsi_proxy_handle_t handle);
181 
182 globus_result_t
184  globus_gsi_proxy_handle_t handle,
185  X509_REQ ** req);
186 
187 globus_result_t
188 globus_gsi_proxy_handle_set_req(
189  globus_gsi_proxy_handle_t handle,
190  X509_REQ * req);
191 
192 globus_result_t
194  globus_gsi_proxy_handle_t handle,
195  EVP_PKEY ** proxy_key);
196 
197 globus_result_t
198 globus_gsi_proxy_handle_set_private_key(
199  globus_gsi_proxy_handle_t handle,
200  EVP_PKEY * proxy_key);
201 
202 globus_result_t
204  globus_gsi_proxy_handle_t handle,
205  globus_gsi_cert_utils_cert_type_t * type);
206 
207 globus_result_t
209  globus_gsi_proxy_handle_t handle,
210  globus_gsi_cert_utils_cert_type_t type);
211 
212 
213 globus_result_t
215  globus_gsi_proxy_handle_t handle,
216  int * time_valid);
217 
218 globus_result_t
220  globus_gsi_proxy_handle_t handle,
221  int time_valid);
222 
223 globus_result_t
225  globus_gsi_proxy_handle_t handle,
226  unsigned char * policy_data,
227  int policy_length,
228  int policy_NID);
229 
230 globus_result_t
232  globus_gsi_proxy_handle_t handle,
233  unsigned char ** policy_data,
234  int * policy_length,
235  int * policy_NID);
236 
237 globus_result_t
239  globus_gsi_proxy_handle_t handle,
240  X509_EXTENSION * extension);
241 
242 globus_result_t
244  globus_gsi_proxy_handle_t handle,
245  STACK_OF(X509_EXTENSION)* extensions);
246 
247 globus_result_t
249  globus_gsi_proxy_handle_t handle,
250  STACK_OF(X509_EXTENSION)** extension);
251 
252 globus_result_t
254  globus_gsi_proxy_handle_t handle,
255  long pathlen);
256 
257 globus_result_t
259  globus_gsi_proxy_handle_t handle,
260  int * pathlen);
261 
262 globus_result_t
264  globus_gsi_proxy_handle_t handle);
265 
266 globus_result_t
268  globus_gsi_proxy_handle_t handle,
269  PROXYCERTINFO ** pci);
270 
271 globus_result_t
273  globus_gsi_proxy_handle_t handle,
274  PROXYCERTINFO * pci);
275 
276 globus_result_t
278  globus_gsi_proxy_handle_t handle,
279  char ** common_name);
280 
281 globus_result_t
282 globus_gsi_proxy_handle_set_common_name(
283  globus_gsi_proxy_handle_t handle,
284  char * common_name);
285 
286 globus_result_t
287 globus_gsi_proxy_is_limited(
288  globus_gsi_proxy_handle_t handle,
289  globus_bool_t * is_limited);
290 
291 globus_result_t
293  globus_gsi_proxy_handle_t handle,
294  globus_bool_t is_limited);
295 
296 globus_result_t
298  globus_gsi_proxy_handle_t handle,
299  EVP_MD ** algorithm);
300 
301 globus_result_t
303  globus_gsi_proxy_handle_t handle,
304  int * key_bits);
305 
306 globus_result_t
308  globus_gsi_proxy_handle_t handle,
309  int * init_prime);
310 
311 globus_result_t
313  globus_gsi_proxy_handle_t handle,
314  int * skew);
315 
316 globus_result_t
318  globus_gsi_proxy_handle_t handle,
319  void (**callback)(int, int, void *));
320 
321 #endif
322 
335 #ifndef DOXYGEN
336 
337 
338 globus_result_t
340  globus_gsi_proxy_handle_attrs_t * handle_attrs);
341 
342 globus_result_t
344  globus_gsi_proxy_handle_attrs_t handle_attrs);
345 
346 globus_result_t
348  globus_gsi_proxy_handle_attrs_t a,
349  globus_gsi_proxy_handle_attrs_t * b);
350 
351 #endif
352 
365 #ifndef DOXYGEN
366 
367 globus_result_t
369  globus_gsi_proxy_handle_t handle,
370  BIO * output_bio);
371 
372 globus_result_t
374  globus_gsi_proxy_handle_t handle,
375  BIO * input_bio);
376 
377 globus_result_t
379  globus_gsi_proxy_handle_t handle,
380  globus_gsi_cred_handle_t issuer_credential,
381  BIO * output_bio);
382 
383 globus_result_t
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);
389 
390 globus_result_t
392  globus_gsi_proxy_handle_t handle,
393  globus_gsi_cred_handle_t * proxy_credential,
394  BIO * input_bio);
395 
396 globus_result_t
398  globus_gsi_proxy_handle_t handle,
399  globus_gsi_cred_handle_t issuer,
400  globus_gsi_cred_handle_t * proxy_credential);
401 
402 globus_result_t
404  globus_gsi_proxy_handle_attrs_t handle_attrs,
405  int bits);
406 
407 globus_result_t
409  globus_gsi_proxy_handle_attrs_t handle_attrs,
410  int * bits);
411 
412 globus_result_t
414  globus_gsi_proxy_handle_attrs_t handle_attrs,
415  int prime);
416 
417 globus_result_t
419  globus_gsi_proxy_handle_attrs_t handle_attrs,
420  int * prime);
421 
422 globus_result_t
424  globus_gsi_proxy_handle_attrs_t handle_attrs,
425  EVP_MD * algorithm);
426 
427 globus_result_t
429  globus_gsi_proxy_handle_attrs_t handle_attrs,
430  EVP_MD ** algorithm);
431 
432 globus_result_t
434  globus_gsi_proxy_handle_attrs_t handle,
435  int skew);
436 
437 globus_result_t
439  globus_gsi_proxy_handle_attrs_t handle,
440  int * skew);
441 
442 globus_result_t
444  globus_gsi_proxy_handle_attrs_t handle,
445  void (**callback)(int, int, void *));
446 
447 globus_result_t
449  globus_gsi_proxy_handle_attrs_t handle,
450  void (*callback)(int, int, void *));
451 
452 #endif
453 
454 #ifdef __cplusplus
455 }
456 #endif
457 
458 #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: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