00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef HEADER_PROXYPOLICY_H
00019 #define HEADER_PROXYPOLICY_H
00020
00041 #include <openssl/x509.h>
00042 #include <openssl/x509v3.h>
00043 #include <string.h>
00044
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048
00049 #define ANY_LANGUAGE_OID "1.3.6.1.5.5.7.21.0"
00050 #define ANY_LANGUAGE_SN "ANY_LANGUAGE"
00051 #define ANY_LANGUAGE_LN "Any Language"
00052
00053 #define IMPERSONATION_PROXY_OID "1.3.6.1.5.5.7.21.1"
00054 #define IMPERSONATION_PROXY_SN "IMPERSONATION_PROXY"
00055 #define IMPERSONATION_PROXY_LN "GSI impersonation proxy"
00056
00057 #define INDEPENDENT_PROXY_OID "1.3.6.1.5.5.7.21.2"
00058 #define INDEPENDENT_PROXY_SN "INDEPENDENT_PROXY"
00059 #define INDEPENDENT_PROXY_LN "GSI independent proxy"
00060
00061 #define LIMITED_PROXY_OID "1.3.6.1.4.1.3536.1.1.1.9"
00062 #define LIMITED_PROXY_SN "LIMITED_PROXY"
00063 #define LIMITED_PROXY_LN "GSI limited proxy"
00064
00065
00066 #define ASN1_F_PROXYPOLICY_NEW 450
00067 #define ASN1_F_D2I_PROXYPOLICY 451
00068
00069
00070
00086 struct PROXYPOLICY_st
00087 {
00088 ASN1_OBJECT * policy_language;
00089 ASN1_OCTET_STRING * policy;
00090 };
00091
00092 typedef struct PROXYPOLICY_st PROXYPOLICY;
00093
00094 #ifdef DECLARE_STACK_OF
00095 DECLARE_STACK_OF(PROXYPOLICY)
00096 #endif
00097 DECLARE_ASN1_FUNCTIONS(PROXYPOLICY)
00098
00099
00100
00101 #if OPENSSL_VERSION_NUMBER < 0x10000000L
00102 ASN1_METHOD * PROXYPOLICY_asn1_meth();
00103 #endif
00104
00105 PROXYPOLICY * PROXYPOLICY_dup(
00106 PROXYPOLICY * policy);
00107
00108 int PROXYPOLICY_cmp(
00109 const PROXYPOLICY * a,
00110 const PROXYPOLICY * b);
00111
00112 int PROXYPOLICY_print(
00113 BIO * bp,
00114 PROXYPOLICY * policy);
00115
00116 int PROXYPOLICY_print_fp(
00117 FILE * fp,
00118 PROXYPOLICY * policy);
00119
00120 int PROXYPOLICY_set_policy_language(
00121 PROXYPOLICY * policy,
00122 ASN1_OBJECT * policy_language);
00123
00124 ASN1_OBJECT * PROXYPOLICY_get_policy_language(
00125 PROXYPOLICY * policy);
00126
00127 int PROXYPOLICY_set_policy(
00128 PROXYPOLICY * proxypolicy,
00129 unsigned char * policy,
00130 int length);
00131
00132 unsigned char * PROXYPOLICY_get_policy(
00133 PROXYPOLICY * policy,
00134 int * length);
00135
00136 X509V3_EXT_METHOD * PROXYPOLICY_x509v3_ext_meth();
00137
00138 STACK_OF(CONF_VALUE) * i2v_PROXYPOLICY(
00139 struct v3_ext_method * method,
00140 PROXYPOLICY * ext,
00141 STACK_OF(CONF_VALUE) * extlist);
00142
00143 #ifdef __cplusplus
00144 }
00145 #endif
00146
00147 #endif