proxypolicy.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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 /* Used for error handling */
00066 #define ASN1_F_PROXYPOLICY_NEW          450
00067 #define ASN1_F_D2I_PROXYPOLICY          451
00068 
00069 /* data structures */
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 /* functions */
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 /* HEADER_PROXYPOLICY_H */

Generated on 5 Nov 2016 for globus_gsi_proxy_ssl by  doxygen 1.4.7