Loading...
Searching...
No Matches
globus_gsi_proxy.h
Go to the documentation of this file.
/*
* Copyright 1999-2006 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef GLOBUS_GLOBUS_GSI_PROXY_H
#define GLOBUS_GLOBUS_GSI_PROXY_H
#ifndef GLOBUS_GLOBAL_DOCUMENT_SET
#endif
#ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
#include "globus_gsi_credential.h"
#include "globus_error_generic.h"
#include "globus_error_openssl.h"
#include "openssl/evp.h"
#include "openssl/x509v3.h"
#include "proxypolicy.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define GLOBUS_GSI_PROXY_MODULE (&globus_i_gsi_proxy_module)
extern
globus_module_descriptor_t globus_i_gsi_proxy_module;
#define _PCSL(s) globus_common_i18n_get_string(\
GLOBUS_GSI_PROXY_MODULE, \
s)
typedef struct globus_l_gsi_proxy_handle_s *
globus_gsi_proxy_handle_t;
typedef struct
globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t;
globus_result_t
globus_gsi_proxy_handle_init(
globus_gsi_proxy_handle_t * handle,
globus_gsi_proxy_handle_attrs_t handle_attrs);
globus_result_t
globus_gsi_proxy_handle_destroy(
globus_gsi_proxy_handle_t handle);
globus_result_t
globus_gsi_proxy_handle_get_req(
globus_gsi_proxy_handle_t handle,
X509_REQ ** req);
globus_result_t
globus_gsi_proxy_handle_set_req(
globus_gsi_proxy_handle_t handle,
X509_REQ * req);
globus_result_t
globus_gsi_proxy_handle_get_private_key(
globus_gsi_proxy_handle_t handle,
EVP_PKEY ** proxy_key);
globus_result_t
globus_gsi_proxy_handle_set_private_key(
globus_gsi_proxy_handle_t handle,
const EVP_PKEY * proxy_key);
globus_result_t
globus_gsi_proxy_handle_get_type(
globus_gsi_proxy_handle_t handle,
globus_gsi_cert_utils_cert_type_t * type);
globus_result_t
globus_gsi_proxy_handle_set_type(
globus_gsi_proxy_handle_t handle,
globus_gsi_cert_utils_cert_type_t type);
globus_result_t
globus_gsi_proxy_handle_get_time_valid(
globus_gsi_proxy_handle_t handle,
int * time_valid);
globus_result_t
globus_gsi_proxy_handle_set_time_valid(
globus_gsi_proxy_handle_t handle,
int time_valid);
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);
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);
globus_result_t
globus_gsi_proxy_handle_add_extension(
globus_gsi_proxy_handle_t handle,
X509_EXTENSION * extension);
globus_result_t
globus_gsi_proxy_handle_set_extensions(
globus_gsi_proxy_handle_t handle,
STACK_OF(X509_EXTENSION) * extensions);
globus_result_t
globus_gsi_proxy_handle_get_extensions(
globus_gsi_proxy_handle_t handle,
STACK_OF(X509_EXTENSION) ** extension);
globus_result_t
globus_gsi_proxy_handle_set_pathlen(
globus_gsi_proxy_handle_t handle,
long pathlen);
globus_result_t
globus_gsi_proxy_handle_get_pathlen(
globus_gsi_proxy_handle_t handle,
int * pathlen);
globus_result_t
globus_gsi_proxy_handle_clear_cert_info(
globus_gsi_proxy_handle_t handle);
#ifdef GLOBUS_GSI_PROXY_CORE_COMPAT_0
#include "proxycertinfo.h"
#define globus_gsi_proxy_handle_get_proxy_cert_info(h,p) \
globus_gsi_proxy_handle_get_proxy_cert_info_proxy_ssl(h,p)
#define globus_gsi_proxy_handle_set_proxy_cert_info(h,p) \
globus_gsi_proxy_handle_set_proxy_cert_info_proxy_ssl(h,p)
globus_result_t
globus_gsi_proxy_handle_get_proxy_cert_info_proxy_ssl(
globus_gsi_proxy_handle_t handle,
PROXYCERTINFO ** pci);
globus_result_t
globus_gsi_proxy_handle_set_proxy_cert_info_proxy_ssl(
globus_gsi_proxy_handle_t handle,
PROXYCERTINFO * pci);
#else
globus_result_t
globus_gsi_proxy_handle_get_proxy_cert_info(
globus_gsi_proxy_handle_t handle,
PROXY_CERT_INFO_EXTENSION ** pci);
globus_result_t
globus_gsi_proxy_handle_set_proxy_cert_info(
globus_gsi_proxy_handle_t handle,
PROXY_CERT_INFO_EXTENSION * pci);
#endif
globus_result_t
globus_gsi_proxy_handle_get_common_name(
globus_gsi_proxy_handle_t handle,
char ** common_name);
globus_result_t
globus_gsi_proxy_handle_set_common_name(
globus_gsi_proxy_handle_t handle,
const char * common_name);
globus_result_t
globus_gsi_proxy_is_limited(
globus_gsi_proxy_handle_t handle,
globus_bool_t * is_limited);
globus_result_t
globus_gsi_proxy_handle_set_is_limited(
globus_gsi_proxy_handle_t handle,
globus_bool_t is_limited);
globus_result_t
globus_gsi_proxy_handle_get_signing_algorithm(
globus_gsi_proxy_handle_t handle,
const EVP_MD ** algorithm);
globus_result_t
globus_gsi_proxy_handle_get_keybits(
globus_gsi_proxy_handle_t handle,
int * key_bits);
globus_result_t
globus_gsi_proxy_handle_get_init_prime(
globus_gsi_proxy_handle_t handle,
int * init_prime);
globus_result_t
globus_gsi_proxy_handle_get_clock_skew_allowable(
globus_gsi_proxy_handle_t handle,
int * skew);
globus_result_t
globus_gsi_proxy_handle_get_key_gen_callback(
globus_gsi_proxy_handle_t handle,
void (**callback)(int, int, void *));
globus_result_t
globus_gsi_proxy_handle_attrs_init(
globus_gsi_proxy_handle_attrs_t * handle_attrs);
globus_result_t
globus_gsi_proxy_handle_attrs_destroy(
globus_gsi_proxy_handle_attrs_t handle_attrs);
globus_result_t
globus_gsi_proxy_handle_attrs_copy(
globus_gsi_proxy_handle_attrs_t a,
globus_gsi_proxy_handle_attrs_t * b);
globus_result_t
globus_gsi_proxy_create_req(
globus_gsi_proxy_handle_t handle,
BIO * output_bio);
globus_result_t
globus_gsi_proxy_inquire_req(
globus_gsi_proxy_handle_t handle,
BIO * input_bio);
globus_result_t
globus_gsi_proxy_sign_req(
globus_gsi_proxy_handle_t handle,
globus_gsi_cred_handle_t issuer_credential,
BIO * output_bio);
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);
globus_result_t
globus_gsi_proxy_assemble_cred(
globus_gsi_proxy_handle_t handle,
globus_gsi_cred_handle_t * proxy_credential,
BIO * input_bio);
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);
globus_result_t
globus_gsi_proxy_handle_attrs_set_keybits(
globus_gsi_proxy_handle_attrs_t handle_attrs,
int bits);
globus_result_t
globus_gsi_proxy_handle_attrs_get_keybits(
globus_gsi_proxy_handle_attrs_t handle_attrs,
int * bits);
globus_result_t
globus_gsi_proxy_handle_attrs_set_init_prime(
globus_gsi_proxy_handle_attrs_t handle_attrs,
int prime);
globus_result_t
globus_gsi_proxy_handle_attrs_get_init_prime(
globus_gsi_proxy_handle_attrs_t handle_attrs,
int * prime);
globus_result_t
globus_gsi_proxy_handle_attrs_set_signing_algorithm(
globus_gsi_proxy_handle_attrs_t handle_attrs,
const EVP_MD * algorithm);
globus_result_t
globus_gsi_proxy_handle_attrs_get_signing_algorithm(
globus_gsi_proxy_handle_attrs_t handle_attrs,
const EVP_MD ** algorithm);
globus_result_t
globus_gsi_proxy_handle_attrs_set_clock_skew_allowable(
globus_gsi_proxy_handle_attrs_t handle,
int skew);
globus_result_t
globus_gsi_proxy_handle_attrs_get_clock_skew_allowable(
globus_gsi_proxy_handle_attrs_t handle,
int * skew);
globus_result_t
globus_gsi_proxy_handle_attrs_get_key_gen_callback(
globus_gsi_proxy_handle_attrs_t handle,
void (**callback)(int, int, void *));
globus_result_t
globus_gsi_proxy_handle_attrs_set_key_gen_callback(
globus_gsi_proxy_handle_attrs_t handle,
void (*callback)(int, int, void *));
#ifdef __cplusplus
}
#endif
#endif /* GLOBUS_GLOBUS_GSI_PROXY_H */
globus_gsi_proxy_handle_set_common_name
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:2034
globus_gsi_proxy_handle_set_req
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:313
globus_gsi_proxy_handle_destroy
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:205
globus_gsi_proxy_is_limited
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:2172
globus_gsi_proxy_handle_set_private_key
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:491
globus_gsi_proxy_handle_attrs_get_key_gen_callback
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:528
globus_gsi_proxy_handle_attrs_set_signing_algorithm
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:336
globus_gsi_proxy_handle_attrs_copy
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:616
globus_gsi_proxy_handle_attrs_get_init_prime
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:283
globus_gsi_proxy_handle_attrs_set_keybits
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:151
globus_gsi_proxy_handle_attrs_get_clock_skew_allowable
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:478
globus_gsi_proxy_handle_attrs_set_clock_skew_allowable
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:434
globus_gsi_proxy_handle_attrs_get_keybits
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:191
globus_gsi_proxy_handle_attrs_t
struct globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t
Handle Attributes.
Definition globus_gsi_proxy.h:153
globus_gsi_proxy_handle_attrs_init
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_gsi_proxy_handle_attrs_set_init_prime
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:241
globus_gsi_proxy_handle_attrs_destroy
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:123
globus_gsi_proxy_handle_attrs_get_signing_algorithm
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:383
globus_gsi_proxy_handle_attrs_set_key_gen_callback
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:578
globus_gsi_proxy_handle_get_policy
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:771
globus_gsi_proxy_handle_get_req
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:254
globus_gsi_proxy_handle_init
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:86
globus_gsi_proxy_handle_get_keybits
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:1746
globus_gsi_proxy_handle_get_extensions
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:1009
globus_gsi_proxy_handle_set_pathlen
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:1081
globus_gsi_proxy_handle_get_clock_skew_allowable
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:1857
globus_gsi_proxy_handle_set_time_valid
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:1248
globus_gsi_proxy_handle_get_pathlen
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:1142
globus_gsi_proxy_handle_get_init_prime
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:1801
globus_gsi_proxy_handle_set_is_limited
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:2092
globus_gsi_proxy_handle_t
struct globus_l_gsi_proxy_handle_s * globus_gsi_proxy_handle_t
GSI Proxy Handle.
Definition globus_gsi_proxy.h:137
globus_gsi_proxy_handle_clear_cert_info
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:1289
globus_gsi_proxy_handle_get_type
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:553
globus_gsi_proxy_handle_set_policy
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:679
globus_gsi_proxy_handle_set_type
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:605
globus_gsi_proxy_handle_add_extension
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:862
globus_gsi_proxy_handle_get_key_gen_callback
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:1911
globus_gsi_proxy_handle_get_common_name
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:1971
globus_gsi_proxy_handle_get_private_key
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:375
globus_gsi_proxy_handle_set_extensions
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:933
globus_gsi_proxy_handle_get_signing_algorithm
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:1690
globus_gsi_proxy_handle_get_time_valid
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:1198
globus_gsi_proxy_assemble_cred
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:2123
globus_gsi_proxy_create_req
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:220
globus_gsi_proxy_inquire_req
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:672
globus_gsi_proxy_resign_cert
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:878
globus_gsi_proxy_create_signed
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:1875
globus_gsi_proxy_sign_req
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:1066