00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef HEADER_PROXYCERTINFO_H
00018 #define HEADER_PROXYCERTINFO_H
00019
00026 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00027
00031 #endif
00032
00058 #include "proxypolicy.h"
00059 #include <openssl/asn1.h>
00060 #include <openssl/x509.h>
00061 #include <openssl/x509v3.h>
00062 #include <string.h>
00063
00064 #ifdef __cplusplus
00065 extern "C" {
00066 #endif
00067
00077 #define PROXYCERTINFO_OLD_OID "1.3.6.1.4.1.3536.1.222"
00078 #define PROXYCERTINFO_OID "1.3.6.1.5.5.7.1.14"
00079 #define PROXYCERTINFO_SN "PROXYCERTINFO"
00080 #define PROXYCERTINFO_LN "Proxy Certificate Info Extension"
00081 #define PROXYCERTINFO_OLD_SN "OLD_PROXYCERTINFO"
00082 #define PROXYCERTINFO_OLD_LN "Proxy Certificate Info Extension (old OID)"
00083
00084
00085
00086
00087 #define ASN1_F_PROXYCERTINFO_NEW 430
00088 #define ASN1_F_D2I_PROXYCERTINFO 431
00089
00090 #ifndef GLOBUS_DEPRECATED
00091 #define GLOBUS_DEPRECATED_IN_PROXYCERTINFO_H
00092 #if __GNUC__
00093 # define GLOBUS_DEPRECATED(func) func __attribute__((deprecated))
00094 #elif defined(_MSC_VER)
00095 # define GLOBUS_DEPRECATED(func) __declspec(deprecated) func
00096 #else
00097 # define GLOBUS_DEPRECATED(func) func
00098 #endif
00099 #endif
00100
00101
00102
00103
00104
00105
00106
00124 struct PROXYCERTINFO_st
00125 {
00126 ASN1_INTEGER * path_length;
00127 PROXYPOLICY * policy;
00128 };
00129
00130 typedef struct PROXYCERTINFO_st PROXYCERTINFO;
00131
00132 #ifdef DECLARE_STACK_OF
00133 DECLARE_STACK_OF(PROXYCERTINFO)
00134 #endif
00135
00136 DECLARE_ASN1_FUNCTIONS(PROXYCERTINFO)
00137
00138
00139
00140 #define d2i_PROXYCERTINFO_bio(bp, pci) \
00141 (PROXYCERTINFO *) ASN1_d2i_bio((char *(*)()) PROXYCERTINFO_new, \
00142 (char *(*)()) d2i_PROXYCERTINFO, \
00143 (bp), (unsigned char **) pci)
00144
00145 #define i2d_PROXYCERTINFO_bio(bp, pci) \
00146 ASN1_i2d_bio(i2d_PROXYCERTINFO, bp, \
00147 (unsigned char *)pci)
00148
00149
00150
00151 #if OPENSSL_VERSION_NUMBER < 0x10000000L
00152 ASN1_METHOD * PROXYCERTINFO_asn1_meth();
00153 #endif
00154
00155 GLOBUS_DEPRECATED(
00156 PROXYCERTINFO * PROXYCERTINFO_dup(
00157 PROXYCERTINFO * cert_info));
00158
00159 GLOBUS_DEPRECATED(int PROXYCERTINFO_cmp(
00160 const PROXYCERTINFO * a,
00161 const PROXYCERTINFO * b));
00162
00163 GLOBUS_DEPRECATED(int PROXYCERTINFO_print(
00164 BIO * bp,
00165 PROXYCERTINFO * cert_info));
00166
00167 GLOBUS_DEPRECATED(int PROXYCERTINFO_print_fp(
00168 FILE * fp,
00169 PROXYCERTINFO * cert_info));
00170
00171 GLOBUS_DEPRECATED(int PROXYCERTINFO_set_policy(
00172 PROXYCERTINFO * cert_info,
00173 PROXYPOLICY * policy));
00174
00175 GLOBUS_DEPRECATED(PROXYPOLICY * PROXYCERTINFO_get_policy(
00176 PROXYCERTINFO * cert_info));
00177
00178 GLOBUS_DEPRECATED(int PROXYCERTINFO_set_path_length(
00179 PROXYCERTINFO * cert_info,
00180 long path_length));
00181
00182 GLOBUS_DEPRECATED(long PROXYCERTINFO_get_path_length(
00183 PROXYCERTINFO * cert_info));
00184
00185 GLOBUS_DEPRECATED(X509V3_EXT_METHOD * PROXYCERTINFO_x509v3_ext_meth());
00186
00187 X509V3_EXT_METHOD * PROXYCERTINFO_OLD_x509v3_ext_meth();
00188
00189 GLOBUS_DEPRECATED(STACK_OF(CONF_VALUE) * i2v_PROXYCERTINFO(
00190 struct v3_ext_method * method,
00191 PROXYCERTINFO * ext,
00192 STACK_OF(CONF_VALUE) * extlist));
00193
00194 #ifdef __cplusplus
00195 }
00196 #endif
00197
00198 #ifdef GLOBUS_DEPRECATED_IN_PROXYCERTINFO_H
00199 # ifdef GLOBUS_DEPRECATED
00200 # undef GLOBUS_DEPRECATED
00201 # endif
00202 # undef GLOBUS_DEPRECATED_IN_PROXYCERTINFO_H
00203 #endif
00204
00205 #endif