1 /* wsf.h  -  Widely used Liberty ID-WSF constants
2  * Copyright (c) 2006-2007 Symlabs (symlabs@symlabs.com), All Rights Reserved.
3  * Author: Sampo Kellomaki (sampo@iki.fi)
4  * This is confidential unpublished proprietary source code of the author.
5  * NO WARRANTY, not even implied warranties. Contains trade secrets.
6  * Distribution prohibited unless authorized in writing.
7  * Licensed under Apache License 2.0, see file COPYING.
8  * $Id: wsf.h,v 1.8 2009-11-24 23:53:40 sampo Exp $
9  *
10  * 26.12.2006, created --Sampo
11  */
12 
13 #ifndef _wsf_h
14 #define _wsf_h
15 
16 /* AuthnSvc */
17 
18 #define XMLNS_SA     "urn:liberty:sa:2006-08"
19 #define XMLNS_IMS    "urn:liberty:ims:2006-08"
20 #define XMLNS_LIB    "urn:liberty:iff:2003-08"
21 #define ACT_SASL_REQ "urn:liberty:sa:2006-08:SASLRequest"
22 #define ACT_SASL_RES "urn:liberty:sa:2006-08:SASLResponse"
23 #define PWTRUNCATE   "urn:liberty:sa:pw:truncate"
24 #define PWLOWERCASE  "urn:liberty:sa:pw:lowercase"
25 #define PWUPPERCASE  "urn:liberty:sa:pw:uppercase"
26 #define PWSELECT     "urn:liberty:sa:pw:select"
27 
28 /* Subscriptions and Notifications */
29 
30 #define XMLNS_SUBS         "urn:liberty:ssos:2006-08"  /* *** wrong? ssos? */
31 #define XMLNS_SUBSREF      "urn:liberty:ssos:2006-08:ref"  /* *** wrong? ssos? */
32 #define SUBS_OPT_NOSUBSCIB "urn:liberty:subs:noSubscribe"
33 #define SUBS_OPT_NOQUESUBS "urn:liberty:subs:noQuerySubscriptions"
34 #define SUBS_END_EXPIRED   "urn:liberty:dst:endreason:expired"
35 #define SUBS_END_DELETED   "urn:liberty:dst:endreason:resourcedeleted"
36 
37 /* Discovery */
38 
39 #define WSF11_DI_RO "DiscoveryResourceOffering"               /* Name of bootstrap attribute */
40 #define WSF20_DI_RO "urn:liberty:disco:2006-08:DiscoveryEPR"
41 #define TAS3_EPR    "urn:tas3:epr"
42 #define TAS3_PTM    "urn:tas3:ptm:2012"
43 
44 #define IMPLIED_RSC        "urn:liberty:isf:implied-resource"
45 #define XMLNS_DISCO_1_1    "urn:liberty:disco:2003-08"
46 #define XMLNS_DISCO_EXT    "urn:liberty:disco:2004-04"
47 #define XMLNS_DISCO_2_0    "urn:liberty:disco:2006-08"
48 //#define XMLNS_DISCO_2_0    "urn:liberty:disco:2005-11"
49 //#define WSF20_DI_RO "urn:liberty:disco:2005-11:DiscoveryEPR"
50 #define XMLNS_SBF          "urn:liberty:sb"
51 #define ACT_QUE            "urn:liberty:disco:2006-08:Query"
52 #define ACT_QUE_RES        "urn:liberty:disco:2006-08:QueryResponse"
53 #define ACT_ASSO_QUE     "urn:liberty:disco:2006-08:SvcMDAssociationQuery"
54 #define ACT_ASSO_QUE_RES "urn:liberty:disco:2006-08:SvcMDAssociationQueryResponse"
55 #define ACT_ASSO_ADD     "urn:liberty:disco:2006-08:SvcMDAssociationAdd"
56 #define ACT_ASSO_ADD_RES "urn:liberty:disco:2006-08:SvcMDAssociationAddResponse"
57 #define ACT_ASSO_DEL     "urn:liberty:disco:2006-08:SvcMDAssociationDelete"
58 #define ACT_ASSO_DEL_RES "urn:liberty:disco:2006-08:SvcMDAssociationDeleteResponse"
59 #define ACT_SVCMD_QUE      "urn:liberty:disco:2006-08:SvcMDQuery"
60 #define ACT_SVCMD_QUE_RES  "urn:liberty:disco:2006-08:SvcMDQueryResponse"
61 #define ACT_SVCMD_REG      "urn:liberty:disco:2006-08:SvcMDRegister"
62 #define ACT_SVCMD_REG_RES  "urn:liberty:disco:2006-08:SvcMDRegisterResponse"
63 #define ACT_SVCMD_REP      "urn:liberty:disco:2006-08:SvcMDReplace"
64 #define ACT_SVCMD_REP_RES  "urn:liberty:disco:2006-08:SvcMDReplaceResponse"
65 #define ACT_SVCMD_DEL      "urn:liberty:disco:2006-08:SvcMDDelete"
66 #define ACT_SVCMD_DEL_RES  "urn:liberty:disco:2006-08:SvcMDDeleteResponse"
67 
68 /* GeoLocation */
69 
70 #define XMLNS_GL          "urn:liberty:id-sis-gl:2005-07"
71 #define GL_OPT_SHAPE      "urn:liberty:id-sis-gl:shape"
72 #define GL_OPT_SPEED      "urn:liberty:id-sis-gl:speed"
73 #define GL_OPT_DIRECTION  "urn:liberty:id-sis-gl:direction"
74 #define GL_OPT_HEADING    "urn:liberty:id-sis-gl:heading"
75 #define GL_OPT_ALT        "urn:liberty:id-sis-gl:alt"
76 #define GL_OPT_CIVIL_DATA "urn:liberty:id-sis-gl:civil-data"
77 #define GL_OPT_AC         "urn:liberty:id-sis-gl:areacomparison"
78 #define GL_OPT_AC_ONLY    "urn:liberty:id-sis-gl:onlyareacomparison"
79 #define GL_OPT_ACC_HIGH   "urn:liberty:id-sis-gl:accuracy:high"
80 #define GL_OPT_ACC_MEDIUM "urn:liberty:id-sis-gl:accuracy:medium"
81 #define GL_OPT_ACC_LOW    "urn:liberty:id-sis-gl:accuracy:low"
82 
83 /* Interaction Service */
84 
85 #define XMLNS_IS11   "urn:liberty:is:2003-08"
86 #define XMLNS_IS20   "urn:liberty:is:2006-08"
87 #define ACT_IREQ     "urn:liberty:is:2006-08:InteractionRequest"
88 #define ACT_IRES     "urn:liberty:is:2006-08:InteractionResponse"
89 
90 /* Personal Profile */
91 
92 #define OPT_PP        "urn:liberty:id-sis-pp"
93 #define OPT_PP_INAME  "urn:liberty:id-sis-pp:informalName"
94 #define OPT_PP_CN     "urn:liberty:id-sis-pp:cn"
95 #define OPT_PP_LEG    "urn:liberty:id-sis-pp:legal"
96 #define OPT_PP_ADD    "urn:liberty:id-sis-pp:address"
97 #define OPTC_PP       "urn:liberty:id-sis-pp:can"
98 #define OPTC_PP_INAME "urn:liberty:id-sis-pp:can:informalName"
99 #define OPTC_PP_CN    "urn:liberty:id-sis-pp:can:cn"
100 #define OPTC_PP_LEG   "urn:liberty:id-sis-pp:can:legal"
101 #define OPTC_PP_ADD   "urn:liberty:id-sis-pp:can:address"
102 #define OPT_MULT_QI   "urn:liberty:dst:multipleQueryItems"
103 #define OPT_MULT_MI   "urn:liberty:dst:multipleModification"
104 #define XMLNS_PP      "urn:liberty:id-sis-pp:2003-08"
105 
106 /* People Service */
107 
108 #define PS_COL                "urn:liberty:ps:collection"
109 #define PS_ENT                "urn:liberty:ps:entity"
110 #define XMLNS_PS              "urn:liberty:ps:2006-08"
111 #define ACT_PS_ADDENT_REQ     "urn:liberty:ps:2006-08:AddEntityRequest"
112 #define ACT_PS_ADDENT_RES     "urn:liberty:ps:2006-08:AddEntityResponse"
113 #define ACT_PS_ADDKENT_REQ    "urn:liberty:ps:2006-08:AddKnownEntityRequest"
114 #define ACT_PS_ADDKENT_RES    "urn:liberty:ps:2006-08:AddKnownEntityResponse"
115 #define ACT_PS_REMENT_REQ     "urn:liberty:ps:2006-08:RemoveEntityRequest"
116 #define ACT_PS_REMENT_RES     "urn:liberty:ps:2006-08:RemoveEntityResponse"
117 #define ACT_PS_ADDCOL_REQ     "urn:liberty:ps:2006-08:AddCollectionRequest"
118 #define ACT_PS_ADDCOL_RES     "urn:liberty:ps:2006-08:AddCollectionResponse"
119 #define ACT_PS_REMCOL_REQ     "urn:liberty:ps:2006-08:RemoveCollectionRequest"
120 #define ACT_PS_REMCOL_RES     "urn:liberty:ps:2006-08:RemoveCollectionResponse"
121 #define ACT_PS_ADDTOCOL_REQ   "urn:liberty:ps:2006-08:AddToCollectionRequest"
122 #define ACT_PS_ADDTOCOL_RES   "urn:liberty:ps:2006-08:AddToCollectionResponse"
123 #define ACT_PS_REMFROMCOL_REQ "urn:liberty:ps:2006-08:RemoveFromCollectionRequest"
124 #define ACT_PS_REMFROMCOL_RES "urn:liberty:ps:2006-08:RemoveFromCollectionResponse"
125 #define ACT_PS_LISTMEM_REQ    "urn:liberty:ps:2006-08:ListMembersRequest"
126 #define ACT_PS_LISTMEM_RES    "urn:liberty:ps:2006-08:ListMembersResponse"
127 #define ACT_PS_GETOBJ_REQ     "urn:liberty:ps:2006-08:GetObjectInfoRequest"
128 #define ACT_PS_GETOBJ_RES     "urn:liberty:ps:2006-08:GetObjectInfoResponse"
129 #define ACT_PS_SETOBJ_REQ     "urn:liberty:ps:2006-08:SetObjectInfoRequest"
130 #define ACT_PS_SETOBJ_RES     "urn:liberty:ps:2006-08:SetObjectInfoResponse"
131 #define ACT_PS_QUEOBJ_REQ     "urn:liberty:ps:2006-08:QueryObjectsRequest"
132 #define ACT_PS_QUEOBJ_RES     "urn:liberty:ps:2006-08:AueryObjectsResponse"
133 #define ACT_PS_TESTMEM_REQ    "urn:liberty:ps:2006-08:TestMembershipRequest"
134 #define ACT_PS_TESTMEM_RES    "urn:liberty:ps:2006-08:TestMembershipResponse"
135 #define ACT_PS_RSLVID_REQ     "urn:liberty:ps:2006-08:ResolveIdentifierRequest"
136 #define ACT_PS_RSLVID_RES     "urn:liberty:ps:2006-08:ResolveIdentifierResponse"
137 #define ACT_PS_NOTIFY         "urn:liberty:ps:2006-08:Notify"
138 #define ACT_PS_NOTIFY_RES     "urn:liberty:ps:2006-08:NotifyResponse"
139 
140 /* SecMechs - Security Mechanisms */
141 
142 #define XMLNS_SEC   "urn:liberty:security:2006-08"
143 #define TOKNUSG_SEC "urn:liberty:security:tokenusage:2006-08:SecurityToken"
144 #define TOKNUSG_TID "urn:liberty:security:tokenusage:2006-08:TargetIdentity"
145 #define TOKNUSG_IID "urn:liberty:security:tokenusage:2006-08:InvocationIdentity"
146 #define WSF10_SEC_MECH_NULL_BEARER  "urn:liberty:security:2004-04:null:Bearer"
147 #define WSF10_SEC_MECH_TLS_BEARER   "urn:liberty:security:2004-04:TLS:Bearer"
148 #define WSF11_SEC_MECH_NULL_NULL    "urn:liberty:security:2003-08:null:null"
149 #define WSF11_SEC_MECH_TLS_NULL     "urn:liberty:security:2003-08:TLS:null"
150 #define WSF11_SEC_MECH_CLTLS_NULL   "urn:liberty:security:2003-08:ClientTLS:null"
151 #define WSF11_SEC_MECH_NULL_BEARER  "urn:liberty:security:2005-02:null:Bearer"
152 #define WSF11_SEC_MECH_TLS_BEARER   "urn:liberty:security:2005-02:TLS:Bearer"
153 #define WSF11_SEC_MECH_CLTLS_BEARER "urn:liberty:security:2005-02:ClientTLS:Bearer"
154 #define WSF11_SEC_MECH_NULL_X509    "urn:liberty:security:2005-02:null:X509"
155 #define WSF11_SEC_MECH_TLS_X509     "urn:liberty:security:2005-02:TLS:X509"
156 #define WSF11_SEC_MECH_CLTLS_X509   "urn:liberty:security:2005-02:ClientTLS:X509"
157 #define WSF11_SEC_MECH_NULL_SAML    "urn:liberty:security:2005-02:null:SAML"
158 #define WSF11_SEC_MECH_TLS_SAML     "urn:liberty:security:2005-02:TLS:SAML"
159 #define WSF11_SEC_MECH_CLTLS_SAML   "urn:liberty:security:2005-02:ClientTLS:SAML"
160 #define WSF20_SEC_MECH_NULL_NULL    "urn:liberty:security:2005-02:null:null"
161 #define WSF20_SEC_MECH_TLS_NULL     "urn:liberty:security:2005-02:TLS:null"
162 #define WSF20_SEC_MECH_NULL_BEARER  "urn:liberty:security:2005-02:null:Bearer"
163 #define WSF20_SEC_MECH_TLS_BEARER   "urn:liberty:security:2005-02:TLS:Bearer"
164 #define WSF20_SEC_MECH_NULL_SAML2   "urn:liberty:security:2006-08:null:SAMLV2"
165 #define WSF20_SEC_MECH_TLS_SAML2    "urn:liberty:security:2006-08:TLS:SAMLV2"
166 #define WSF20_SEC_MECH_CLTLS_SAML2  "urn:liberty:security:2006-08:ClientTLS:SAMLV2"
167 #define WSF20_SEC_MECH_CLTLS_PEERS2 "urn:liberty:security:2006-08:ClientTLS:peerSAMLV2"
168 
169 #define SAML2_TOK_PROFILE "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0"
170 #define SAMLID_TOK_PROFILE "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID"
171 #define WSS_X509_TOKEN_PROFILE "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
172 
173 /* SOAP Binding */
174 
175 #define SB_EPUPD_COMP  "urn:liberty:sb:2006-08:EndpointUpdate:Complete"
176 #define SB_EPUPD_PART  "urn:liberty:sb:2006-08:EndpointUpdate:Partial"
177 #define SB_EPUPD_NOCH  "urn:liberty:sb:2006-08:EndpointUpdate:NoChange"
178 
179 /* This is the value used in liberty-idwsf-soap-binding-2.0-errata-v1.0.pdf,
180  * but is in violation of the http://www.w3.org/2005/08/addressing namespace
181  * and spec http://www.w3.org/TR/ws-addr-core/ (probably an error in Liberty specs) */
182 #define A_ANON_2005_03 "http://www.w3.org/2005/03/addressing/role/anonymous"
183 #define A_ANON         "http://www.w3.org/2005/08/addressing/anonymous"
184 
185 /* Misc */
186 
187 #define XMLNS_CSM      "urn:liberty:id-sis-csm:2006-02"
188 #define XMLNS_LU   "urn:liberty:util:2006-08"
189 #define XMLNS_HLO     "urn:liberty:id-sis-hlo:2006-08:dst-2.1"
190 #define DST_ACC_CHALLENGE "urn:liberty:dst:acc:challenge"
191 #define XMLNS_CXP      "urn:liberty:id-sis-cxp:2005-10:dst-2.1"
192 #define XMLNS_LIB_MD "urn:liberty:metadata:2003-08"
193 #define XMLNS_LIB    "urn:liberty:iff:2003-08"
194 #define XMLNS_AC     "urn:liberty:ac:2003-08"
195 #define LIBERTY_NAMEID_FMT_FED "urn:liberty:iff:nameid:federated"
196 #define LIBERTY_NAMEID_FMT_ONE "urn:liberty:iff:nameid:one-time"
197 #define LIBERTY_NAMEID_FMT_ENC "urn:liberty:iff:nameid:encrypted"
198 #define LIBERTY_NAMEID_FMT_ENT "urn:liberty:iff:nameid:entityID"
199 #define XMLNS_PAOS   "urn:liberty:paos:2003-08"
200 
201 #define PAOS_HDR "ver=\"urn:liberty:paos:2003-08\"; \"urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp\""
202 #define LIBERTY_ENA_HDR "LIBV=urn:liberty:iff:2003-08 http://projectliberty.org/specs/v1"
203 
204 #define XMLNS_LIB   "urn:liberty:iff:2003-08"
205 #define XMLNS_AC    "urn:liberty:ac:2003-08"
206 #define LIBERTY_NAMEID_FMT_FED "urn:liberty:iff:nameid:federated"
207 #define LIBERTY_NAMEID_FMT_ONE "urn:liberty:iff:nameid:one-time"
208 #define LIBERTY_NAMEID_FMT_ENC "urn:liberty:iff:nameid:encrypted"
209 #define LIBERTY_NAMEID_FMT_ENT "urn:liberty:iff:nameid:entityID"
210 #define LIBERTY_CONSENT_OBTAINED "urn:liberty:consent:obtained"
211 #define XMLNS_DAP      "urn:liberty:id-sis-dap:2006-02:dst-2.1"
212 
213 /* TAS3 specific */
214 
215 /* control point enumerators */
216 
217 #define TAS3_WSC_RQ_OUT   "urn:tas3:ctlpt:wsc:rq:out"
218 #define TAS3_PEP_RQ_OUT   "urn:tas3:ctlpt:pep:rq:out"
219 #define TAS3_PEP_RQ_IN    "urn:tas3:ctlpt:pep:rq:in"
220 #define TAS3_PEP_RS_PARSE "urn:tas3:ctlpt:pep:rs:parse"
221 #define TAS3_PEP_RS_VAL   "urn:tas3:ctlpt:pep:rs:val"
222 #define TAS3_PEP_RS_OUT   "urn:tas3:ctlpt:pep:rs:out"
223 #define TAS3_PEP_RS_IN    "urn:tas3:ctlpt:pep:rs:in"
224 
225 /* status and fault codes */
226 
227 #define TAS3_STATUS_OK      "OK"                      /* Usually omitted */
228 #define TAS3_STATUS_PERMIT  "urn:tas3:status:permit"  /* Usually omitted */
229 #define TAS3_STATUS_DENY    "urn:tas3:status:deny"
230 #define TAS3_STATUS_NOSIG   "urn:tas3:status:nosig"
231 #define TAS3_STATUS_BADSIG  "urn:tas3:status:badsig"
232 #define TAS3_STATUS_BADCOND "urn:tas3:status:badcond"
233 #define TAS3_STATUS_REPLAY  "urn:tas3:status:replay"
234 #define TAS3_STATUS_BADXML  "urn:tas3:status:badxml"
235 #define TAS3_STATUS_FAULT   "urn:tas3:status:fault"
236 #define TAS3_STATUS_EXPIRED "urn:tas3:status:expired" /* credential expired */
237 #define TAS3_STATUS_EPR_NOT_FOUND "urn:tas3:status:epr-not-found"
238 
239 /* Special value for ObligationId to identify the SOL1 processing engine. */
240 
241 #define TAS3_SOL1_ENGINE    "urn:tas3:sol1"
242 
243 /* AttributeId special values for SOL */
244 
245 #define TAS3_PLEDGE     "urn:tas3:sol1:pledge"
246 #define TAS3_REQUIRE    "urn:tas3:sol1:require"
247 
248 #endif
249