1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.wss4j.common.derivedKey;
21
22 import javax.xml.namespace.QName;
23
24 import org.apache.wss4j.common.ext.WSSecurityException;
25
26
27
28
29 public final class ConversationConstants {
30
31 public static final int VERSION_05_02 = 1;
32
33 public static final int VERSION_05_12 = 2;
34
35 public static final int DEFAULT_VERSION = VERSION_05_12;
36
37
38
39
40 public static final String WSC_NS_05_02 = "http://schemas.xmlsoap.org/ws/2005/02/sc";
41
42
43
44
45 public static final String WSC_NS_05_12 =
46 "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512";
47
48
49
50
51 public static final String TOKEN_TYPE_DERIVED_KEY_TOKEN = "/dk";
52
53
54
55
56 public static final String TOKEN_TYPE_SECURITY_CONTEXT_TOKEN = "/sct";
57
58
59
60
61 public static final String WSC_PREFIX = "wsc";
62
63
64
65
66 public static final String SECURITY_CONTEXT_TOKEN_LN =
67 "SecurityContextToken";
68
69
70
71
72 public static final String IDENTIFIER_LN = "Identifier";
73
74
75
76
77 public static final String INSTANCE_LN = "Instance";
78
79
80
81
82 public static final String EXPIRES_LN = "Expires";
83
84
85
86
87 public static final String KEYS_LN = "Keys";
88
89
90
91
92 public static final String SECURITY_TOKEN_REFERENCE_LN =
93 "SecurityTokenReference";
94
95
96
97
98 public static final String DERIVED_KEY_TOKEN_LN = "DerivedKeyToken";
99
100
101
102
103 public static final String PROPERTIES_LN = "Properties";
104
105
106
107
108 public static final String LENGTH_LN = "Length";
109
110
111
112
113 public static final String GENERATION_LN = "Generation";
114
115
116
117
118 public static final String OFFSET_LN = "Offset";
119
120
121
122
123 public static final String LABEL_LN = "Label";
124
125
126
127
128 public static final String NONCE_LN = "Nonce";
129
130 public static final int DIRECT_GENERATED = 1;
131 public static final int STS_GENERATED = 2;
132 public static final int STSREQUEST_TOKEN = 3;
133 public static final int INTEROP_SCENE1 = 4;
134
135 public static final String IDENTIFIER = "SCT_Identifier";
136
137 public static final int DK_SIGN = 1;
138 public static final int DK_ENCRYPT = 2;
139
140 public static final String DEFAULT_LABEL = "WS-SecureConversation";
141
142 public static final QName SECURITY_CTX_TOKEN_QNAME_05_02 =
143 new QName(
144 ConversationConstants.WSC_NS_05_02,
145 ConversationConstants.SECURITY_CONTEXT_TOKEN_LN
146 );
147
148 public static final QName SECURITY_CTX_TOKEN_QNAME_05_12 =
149 new QName(
150 ConversationConstants.WSC_NS_05_12,
151 ConversationConstants.SECURITY_CONTEXT_TOKEN_LN
152 );
153
154 public static final QName DERIVED_KEY_TOKEN_QNAME_05_02 =
155 new QName(
156 ConversationConstants.WSC_NS_05_02,
157 ConversationConstants.DERIVED_KEY_TOKEN_LN
158 );
159
160 public static final QName DERIVED_KEY_TOKEN_QNAME_05_12 =
161 new QName(
162 ConversationConstants.WSC_NS_05_12,
163 ConversationConstants.DERIVED_KEY_TOKEN_LN
164 );
165
166
167
168
169
170
171 public static final String KEY_CONTEXT_MAP = "contextMap";
172
173 private ConversationConstants() {
174
175 }
176
177 public interface DerivationAlgorithm {
178 String P_SHA_1 =
179 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
180
181 String P_SHA_1_2005_12 =
182 "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk/p_sha1";
183
184 byte[] createKey(byte[] secret, byte[] seed, int offset, long length)
185 throws WSSecurityException;
186 }
187
188 public static String getWSCNs(int version) {
189 if (VERSION_05_02 == version) {
190 return WSC_NS_05_02;
191 } else {
192 return WSC_NS_05_12;
193 }
194 }
195
196 public static int getWSTVersion(String ns) {
197 if (WSC_NS_05_02.equals(ns)) {
198 return VERSION_05_02;
199 } else {
200 return VERSION_05_12;
201 }
202 }
203 }