24 #ifndef GLOBUS_GSI_CERT_UTILS_H
25 #define GLOBUS_GSI_CERT_UTILS_H
34 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
89 #define GLOBUS_GSI_CERT_UTILS_MODULE (&globus_i_gsi_cert_utils_module)
94 #define _CUSL(s) globus_common_i18n_get_string(GLOBUS_GSI_CERT_UTILS_MODULE,\
99 #include "openssl/x509.h"
100 #include "openssl/asn1.h"
102 #include "globus_gsi_cert_utils_constants.h"
104 #define GLOBUS_GSI_CERT_UTILS_IS_PROXY(cert_type) \
105 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK) != 0)
107 #define GLOBUS_GSI_CERT_UTILS_IS_RFC_PROXY(cert_type) \
108 (((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK) != 0) && \
109 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_RFC) != 0))
111 #define GLOBUS_GSI_CERT_UTILS_IS_GSI_3_PROXY(cert_type) \
112 (((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK) != 0) && \
113 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_GSI_3) != 0))
115 #define GLOBUS_GSI_CERT_UTILS_IS_GSI_2_PROXY(cert_type) \
116 (((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK) != 0) && \
117 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_GSI_2) != 0))
119 #define GLOBUS_GSI_CERT_UTILS_IS_INDEPENDENT_PROXY(cert_type) \
120 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_INDEPENDENT_PROXY) != 0)
122 #define GLOBUS_GSI_CERT_UTILS_IS_RESTRICTED_PROXY(cert_type) \
123 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_RESTRICTED_PROXY) != 0)
125 #define GLOBUS_GSI_CERT_UTILS_IS_LIMITED_PROXY(cert_type) \
126 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_LIMITED_PROXY) != 0)
128 #define GLOBUS_GSI_CERT_UTILS_IS_IMPERSONATION_PROXY(cert_type) \
129 ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_IMPERSONATION_PROXY) != 0)
133 const ASN1_TIME * ctm,
139 STACK_OF(X509) * cert_chain);
143 STACK_OF(X509) * cert_chain,
148 STACK_OF(X509) * cert_chain,
158 const char * subject_string,
160 X509_NAME * x509_name);
163 globus_i_gsi_cert_utils_dn_cmp(
169 #define globus_gsi_cert_utils_create_string \
170 globus_common_create_string
172 #define globus_gsi_cert_utils_create_nstring \
173 globus_common_create_nstring
175 #define globus_gsi_cert_utils_v_create_string \
176 globus_common_v_create_string
178 #define globus_gsi_cert_utils_v_create_nstring \
179 globus_common_v_create_nstring
globus_result_t globus_gsi_cert_utils_make_time(const ASN1_TIME *ctm, time_t *newtime)
Convert ASN1_TIME to time_t.
Definition: globus_gsi_cert_utils.c:188
globus_result_t globus_gsi_cert_utils_get_x509_name(const char *subject_string, int length, X509_NAME *x509_name)
Get the certificate name.
Definition: globus_gsi_cert_utils.c:542
globus_result_t globus_gsi_cert_utils_get_eec(STACK_OF(X509)*cert_chain, X509 **eec)
Get the end-entity certificate from a certificate chain.
Definition: globus_gsi_cert_utils.c:798
globus_result_t globus_gsi_cert_utils_get_base_name(X509_NAME *subject, STACK_OF(X509)*cert_chain)
Get the base certificate name from a certificate chain.
Definition: globus_gsi_cert_utils.c:728
globus_result_t globus_gsi_cert_utils_get_cert_type(X509 *cert, globus_gsi_cert_utils_cert_type_t *type)
Get the X509 certificate type.
Definition: globus_gsi_cert_utils.c:231
globus_result_t globus_gsi_cert_utils_get_identity_cert(STACK_OF(X509)*cert_chain, X509 **identity_cert)
Get the identity certificate from a certificate chain.
Definition: globus_gsi_cert_utils.c:852
Headers common to all of Globus.
uint32_t globus_result_t
Definition: globus_types.h:99
enum globus_gsi_cert_utils_cert_type_e globus_gsi_cert_utils_cert_type_t
Module Descriptor.
Definition: globus_module.h:71