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