globus_gsi_proxy_ssl  5.15
proxycertinfo.h
Go to the documentation of this file.
1 
2 #ifndef HEADER_PROXYCERTINFO_H
3 #define HEADER_PROXYCERTINFO_H
4 
11 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
16 #endif
17 
42 #include "proxypolicy.h"
43 #include <openssl/asn1.h>
44 #include <openssl/x509.h>
45 #include <openssl/x509v3.h>
46 #include <string.h>
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
60 #define PROXYCERTINFO_OLD_OID "1.3.6.1.4.1.3536.1.222"
61 #define PROXYCERTINFO_OID "1.3.6.1.5.5.7.1.14"
62 #define PROXYCERTINFO_SN "PROXYCERTINFO"
63 #define PROXYCERTINFO_LN "Proxy Certificate Info Extension"
64 #define PROXYCERTINFO_OLD_SN "OLD_PROXYCERTINFO"
65 #define PROXYCERTINFO_OLD_LN "Proxy Certificate Info Extension (old OID)"
66 
67 /*
68  * Used for error checking
69  */
70 #define ASN1_F_PROXYCERTINFO_NEW 430
71 #define ASN1_F_D2I_PROXYCERTINFO 431
72 
73 #ifndef GLOBUS_DEPRECATED
74 #define GLOBUS_DEPRECATED_IN_PROXYCERTINFO_H
75 #if __GNUC__
76 # define GLOBUS_DEPRECATED(func) func __attribute__((deprecated))
77 #elif defined(_MSC_VER)
78 # define GLOBUS_DEPRECATED(func) __declspec(deprecated) func
79 #else
80 # define GLOBUS_DEPRECATED(func) func
81 #endif
82 #endif
83 
84 /*
85  * The PROXYCERTINFO functions are deprecated, as OpenSSL has provided
86  * its own data structure since 0.9.8.
87  */
88 /* data structures */
89 
108 {
109  ASN1_INTEGER * path_length; /* [ OPTIONAL ] */
110  PROXYPOLICY * policy;
111 };
112 
113 typedef struct PROXYCERTINFO_st PROXYCERTINFO;
114 
115 #ifdef DECLARE_STACK_OF
116 DECLARE_STACK_OF(PROXYCERTINFO)
117 #endif
118 
119 DECLARE_ASN1_FUNCTIONS(PROXYCERTINFO)
120 
121 /* macros */
122 
123 #define d2i_PROXYCERTINFO_bio(bp, pci) \
124  ASN1_d2i_bio_of(PROXYCERTINFO, PROXYCERTINFO_new, d2i_PROXYCERTINFO, bp, pci)
125 
126 #define i2d_PROXYCERTINFO_bio(bp, pci) \
127  ASN1_i2d_bio_of(PROXYCERTINFO, i2d_PROXYCERTINFO, bp, pci)
128 
129 /* functions */
130 
131 #if OPENSSL_VERSION_NUMBER < 0x10000000L
132 ASN1_METHOD * PROXYCERTINFO_asn1_meth();
133 #endif
134 
135 #ifdef DECLARE_ASN1_DUP_FUNCTION
136 DECLARE_ASN1_DUP_FUNCTION(PROXYCERTINFO)
137 #else
138 GLOBUS_DEPRECATED(
139 PROXYCERTINFO * PROXYCERTINFO_dup(
140  PROXYCERTINFO * cert_info));
141 #endif
142 
143 GLOBUS_DEPRECATED(int PROXYCERTINFO_cmp(
144  const PROXYCERTINFO * a,
145  const PROXYCERTINFO * b));
146 
147 GLOBUS_DEPRECATED(int PROXYCERTINFO_print(
148  BIO * bp,
149  PROXYCERTINFO * cert_info));
150 
151 GLOBUS_DEPRECATED(int PROXYCERTINFO_print_fp(
152  FILE * fp,
153  PROXYCERTINFO * cert_info));
154 
155 GLOBUS_DEPRECATED(int PROXYCERTINFO_set_policy(
156  PROXYCERTINFO * cert_info,
157  PROXYPOLICY * policy));
158 
159 GLOBUS_DEPRECATED(PROXYPOLICY * PROXYCERTINFO_get_policy(
160  PROXYCERTINFO * cert_info));
161 
162 GLOBUS_DEPRECATED(int PROXYCERTINFO_set_path_length(
163  PROXYCERTINFO * cert_info,
164  long path_length));
165 
166 GLOBUS_DEPRECATED(long PROXYCERTINFO_get_path_length(
167  PROXYCERTINFO * cert_info));
168 
169 GLOBUS_DEPRECATED(X509V3_EXT_METHOD * PROXYCERTINFO_x509v3_ext_meth());
170 
171 X509V3_EXT_METHOD * PROXYCERTINFO_OLD_x509v3_ext_meth();
172 
173 GLOBUS_DEPRECATED(STACK_OF(CONF_VALUE) * i2v_PROXYCERTINFO(
174  struct v3_ext_method * method,
175  PROXYCERTINFO * ext,
176  STACK_OF(CONF_VALUE) * extlist));
177 
178 #ifdef __cplusplus
179 }
180 #endif
181 
182 #ifdef GLOBUS_DEPRECATED_IN_PROXYCERTINFO_H
183 # ifdef GLOBUS_DEPRECATED
184 # undef GLOBUS_DEPRECATED
185 # endif
186 # undef GLOBUS_DEPRECATED_IN_PROXYCERTINFO_H
187 #endif
188 
189 #endif /* HEADER_PROXYCERTINFO_H */
Proxy Policy.
Definition: proxycertinfo.h:108
Definition: proxypolicy.h:72