Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
4 let CP = {};
5 subscriptLoader.loadSubScript("resource://gre/modules/CpPduHelper.jsm", CP);
6 CP.debug = do_print;
8 function run_test() {
9 run_next_test();
10 }
12 function test_parser(rawDataArray, contentType, expectResult) {
13 let data = { array: rawDataArray, offset: 0 };
14 let msg = CP.PduHelper.parse(data, contentType);
15 do_check_eq(msg.contentType, expectResult.contentType);
16 do_check_eq(msg.content, expectResult.content);
17 do_check_eq(msg.content.length, expectResult.content.length);
18 }
20 function test_hmac(rawDataArray, mac, key, expectResult) {
21 let authInfo = CP.Authenticator.check(rawDataArray, 0, mac, function getNetworkPin() {
22 return key;
23 });
24 do_check_eq(authInfo.data, rawDataArray);
25 do_check_eq(authInfo.data.length, rawDataArray.length);
26 do_check_eq(authInfo.checked, expectResult.checked);
27 do_check_eq(authInfo.pass, expectResult.pass);
28 }
30 /*
31 * Test data from OMA-TS-WAP_ProvCont-V1_1-2009 0421-C.pdf, clause 6.1
32 */
33 let text_data_array = new Uint8Array([
34 0x3C, 0x3F, 0x78, 0x6D, 0x6C, 0x20, 0x76, 0x65,
35 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x31,
36 0x2E, 0x30, 0x22, 0x3F, 0x3E, 0x3C, 0x21, 0x44,
37 0x4F, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x77,
38 0x61, 0x70, 0x2D, 0x70, 0x72, 0x6F, 0x76, 0x69,
39 0x73, 0x69, 0x6F, 0x6E, 0x69, 0x6E, 0x67, 0x64,
40 0x6F, 0x63, 0x20, 0x50, 0x55, 0x42, 0x4C, 0x49,
41 0x43, 0x20, 0x22, 0x2D, 0x2F, 0x2F, 0x57, 0x41,
42 0x50, 0x46, 0x4F, 0x52, 0x55, 0x4D, 0x2F, 0x2F,
43 0x44, 0x54, 0x44, 0x20, 0x50, 0x52, 0x4F, 0x56,
44 0x20, 0x31, 0x2E, 0x30, 0x2F, 0x2F, 0x45, 0x4E,
45 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3A,
46 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x77, 0x61,
47 0x70, 0x66, 0x6F, 0x72, 0x75, 0x6D, 0x2E, 0x6F,
48 0x72, 0x67, 0x2F, 0x44, 0x54, 0x44, 0x2F, 0x70,
49 0x72, 0x6F, 0x76, 0x2E, 0x64, 0x74, 0x64, 0x22,
50 0x3E, 0x3C, 0x77, 0x61, 0x70, 0x2D, 0x70, 0x72,
51 0x6F, 0x76, 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x69,
52 0x6E, 0x67, 0x64, 0x6F, 0x63, 0x20, 0x76, 0x65,
53 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x31,
54 0x2E, 0x30, 0x22, 0x3E, 0x3C, 0x63, 0x68, 0x61,
55 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73,
56 0x74, 0x69, 0x63, 0x20, 0x74, 0x79, 0x70, 0x65,
57 0x3D, 0x22, 0x50, 0x58, 0x4C, 0x4F, 0x47, 0x49,
58 0x43, 0x41, 0x4C, 0x22, 0x3E, 0x3C, 0x70, 0x61,
59 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D,
60 0x22, 0x50, 0x52, 0x4F, 0x58, 0x59, 0x2D, 0x49,
61 0x44, 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65,
62 0x3D, 0x22, 0x31, 0x37, 0x30, 0x2E, 0x31, 0x38,
63 0x37, 0x2E, 0x35, 0x31, 0x2E, 0x34, 0x22, 0x2F,
64 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E,
65 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x50, 0x52, 0x4F,
66 0x58, 0x59, 0x2D, 0x50, 0x57, 0x22, 0x20, 0x76,
67 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x70, 0x72,
68 0x6F, 0x78, 0x79, 0x70, 0x61, 0x73, 0x73, 0x77,
69 0x64, 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72,
70 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22,
71 0x50, 0x50, 0x47, 0x41, 0x55, 0x54, 0x48, 0x2D,
72 0x54, 0x59, 0x50, 0x45, 0x22, 0x20, 0x76, 0x61,
73 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x48, 0x54, 0x54,
74 0x50, 0x2D, 0x42, 0x41, 0x53, 0x49, 0x43, 0x22,
75 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20,
76 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x4E, 0x41,
77 0x4D, 0x45, 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75,
78 0x65, 0x3D, 0x22, 0x42, 0x61, 0x6E, 0x6B, 0x4D,
79 0x61, 0x69, 0x6E, 0x50, 0x72, 0x6F, 0x78, 0x79,
80 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
81 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x53,
82 0x54, 0x41, 0x52, 0x54, 0x50, 0x41, 0x47, 0x45,
83 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
84 0x22, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F,
85 0x77, 0x77, 0x77, 0x2E, 0x62, 0x61, 0x6E, 0x6B,
86 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, 0x74, 0x61,
87 0x72, 0x74, 0x70, 0x61, 0x67, 0x65, 0x2E, 0x77,
88 0x6D, 0x6C, 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61,
89 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D,
90 0x22, 0x50, 0x55, 0x4C, 0x4C, 0x45, 0x4E, 0x41,
91 0x42, 0x4C, 0x45, 0x44, 0x22, 0x20, 0x76, 0x61,
92 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x31, 0x22, 0x2F,
93 0x3E, 0x3C, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
94 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63,
95 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x22, 0x50,
96 0x58, 0x41, 0x55, 0x54, 0x48, 0x49, 0x4E, 0x46,
97 0x4F, 0x22, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
98 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x50,
99 0x58, 0x41, 0x55, 0x54, 0x48, 0x2D, 0x54, 0x59,
100 0x50, 0x45, 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75,
101 0x65, 0x3D, 0x22, 0x48, 0x54, 0x54, 0x50, 0x2D,
102 0x42, 0x41, 0x53, 0x49, 0x43, 0x22, 0x2F, 0x3E,
103 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61,
104 0x6D, 0x65, 0x3D, 0x22, 0x50, 0x58, 0x41, 0x55,
105 0x54, 0x48, 0x2D, 0x49, 0x44, 0x22, 0x20, 0x76,
106 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x70, 0x78,
107 0x75, 0x73, 0x65, 0x72, 0x6E, 0x61, 0x6D, 0x65,
108 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
109 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x50,
110 0x58, 0x41, 0x55, 0x54, 0x48, 0x2D, 0x50, 0x57,
111 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
112 0x22, 0x70, 0x78, 0x75, 0x73, 0x65, 0x72, 0x70,
113 0x61, 0x73, 0x73, 0x77, 0x64, 0x22, 0x2F, 0x3E,
114 0x3C, 0x2F, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
115 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63,
116 0x3E, 0x3C, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
117 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63,
118 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x22, 0x50,
119 0x58, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41,
120 0x4C, 0x22, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
121 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x50,
122 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4C, 0x2D,
123 0x50, 0x52, 0x4F, 0x58, 0x59, 0x2D, 0x49, 0x44,
124 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
125 0x22, 0x50, 0x52, 0x4F, 0x58, 0x59, 0x20, 0x31,
126 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
127 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x44,
128 0x4F, 0x4D, 0x41, 0x49, 0x4E, 0x22, 0x20, 0x76,
129 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x77, 0x77,
130 0x77, 0x2E, 0x62, 0x61, 0x6E, 0x6B, 0x2E, 0x63,
131 0x6F, 0x6D, 0x2F, 0x22, 0x2F, 0x3E, 0x3C, 0x70,
132 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65,
133 0x3D, 0x22, 0x50, 0x58, 0x41, 0x44, 0x44, 0x52,
134 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
135 0x22, 0x31, 0x37, 0x30, 0x2E, 0x31, 0x38, 0x37,
136 0x2E, 0x35, 0x31, 0x2E, 0x33, 0x22, 0x2F, 0x3E,
137 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61,
138 0x6D, 0x65, 0x3D, 0x22, 0x50, 0x58, 0x41, 0x44,
139 0x44, 0x52, 0x54, 0x59, 0x50, 0x45, 0x22, 0x20,
140 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x49,
141 0x50, 0x56, 0x34, 0x22, 0x2F, 0x3E, 0x3C, 0x70,
142 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65,
143 0x3D, 0x22, 0x50, 0x58, 0x41, 0x44, 0x44, 0x52,
144 0x2D, 0x46, 0x51, 0x44, 0x4E, 0x22, 0x20, 0x76,
145 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x70, 0x72,
146 0x6F, 0x78, 0x79, 0x31, 0x2E, 0x6F, 0x70, 0x65,
147 0x72, 0x61, 0x74, 0x6F, 0x72, 0x2E, 0x63, 0x6F,
148 0x6D, 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72,
149 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22,
150 0x54, 0x4F, 0x2D, 0x4E, 0x41, 0x50, 0x49, 0x44,
151 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
152 0x22, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x4E, 0x45,
153 0x54, 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72,
154 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22,
155 0x54, 0x4F, 0x2D, 0x4E, 0x41, 0x50, 0x49, 0x44,
156 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
157 0x22, 0x4E, 0x41, 0x50, 0x31, 0x22, 0x2F, 0x3E,
158 0x3C, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
159 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x20,
160 0x74, 0x79, 0x70, 0x65, 0x3D, 0x22, 0x50, 0x4F,
161 0x52, 0x54, 0x22, 0x3E, 0x3C, 0x70, 0x61, 0x72,
162 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22,
163 0x50, 0x4F, 0x52, 0x54, 0x4E, 0x42, 0x52, 0x22,
164 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22,
165 0x39, 0x32, 0x30, 0x33, 0x22, 0x2F, 0x3E, 0x3C,
166 0x2F, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
167 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x3E,
168 0x3C, 0x2F, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
169 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63,
170 0x3E, 0x3C, 0x2F, 0x63, 0x68, 0x61, 0x72, 0x61,
171 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69,
172 0x63, 0x3E, 0x3C, 0x63, 0x68, 0x61, 0x72, 0x61,
173 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69,
174 0x63, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x22,
175 0x4E, 0x41, 0x50, 0x44, 0x45, 0x46, 0x22, 0x3E,
176 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61,
177 0x6D, 0x65, 0x3D, 0x22, 0x4E, 0x41, 0x50, 0x49,
178 0x44, 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65,
179 0x3D, 0x22, 0x4E, 0x41, 0x50, 0x31, 0x22, 0x2F,
180 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E,
181 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x42, 0x45, 0x41,
182 0x52, 0x45, 0x52, 0x22, 0x20, 0x76, 0x61, 0x6C,
183 0x75, 0x65, 0x3D, 0x22, 0x47, 0x53, 0x4D, 0x2D,
184 0x43, 0x53, 0x44, 0x22, 0x2F, 0x3E, 0x3C, 0x70,
185 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65,
186 0x3D, 0x22, 0x4E, 0x41, 0x4D, 0x45, 0x22, 0x20,
187 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x4D,
188 0x59, 0x20, 0x49, 0x53, 0x50, 0x20, 0x43, 0x53,
189 0x44, 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72,
190 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22,
191 0x4E, 0x41, 0x50, 0x2D, 0x41, 0x44, 0x44, 0x52,
192 0x45, 0x53, 0x53, 0x22, 0x20, 0x76, 0x61, 0x6C,
193 0x75, 0x65, 0x3D, 0x22, 0x2B, 0x33, 0x35, 0x38,
194 0x30, 0x38, 0x31, 0x32, 0x34, 0x30, 0x30, 0x32,
195 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
196 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x4E,
197 0x41, 0x50, 0x2D, 0x41, 0x44, 0x44, 0x52, 0x54,
198 0x59, 0x50, 0x45, 0x22, 0x20, 0x76, 0x61, 0x6C,
199 0x75, 0x65, 0x3D, 0x22, 0x45, 0x31, 0x36, 0x34,
200 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
201 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x44,
202 0x4E, 0x53, 0x2D, 0x41, 0x44, 0x44, 0x52, 0x22,
203 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22,
204 0x31, 0x37, 0x30, 0x2E, 0x31, 0x38, 0x37, 0x2E,
205 0x35, 0x31, 0x2E, 0x32, 0x22, 0x2F, 0x3E, 0x3C,
206 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D,
207 0x65, 0x3D, 0x22, 0x43, 0x41, 0x4C, 0x4C, 0x54,
208 0x59, 0x50, 0x45, 0x22, 0x20, 0x76, 0x61, 0x6C,
209 0x75, 0x65, 0x3D, 0x22, 0x41, 0x4E, 0x41, 0x4C,
210 0x4F, 0x47, 0x2D, 0x4D, 0x4F, 0x44, 0x45, 0x4D,
211 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
212 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x4D,
213 0x41, 0x58, 0x2D, 0x4E, 0x55, 0x4D, 0x2D, 0x52,
214 0x45, 0x54, 0x52, 0x59, 0x22, 0x20, 0x76, 0x61,
215 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x33, 0x22, 0x2F,
216 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E,
217 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x46, 0x49, 0x52,
218 0x53, 0x54, 0x2D, 0x52, 0x45, 0x54, 0x52, 0x59,
219 0x2D, 0x54, 0x49, 0x4D, 0x45, 0x4F, 0x55, 0x54,
220 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
221 0x22, 0x36, 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61,
222 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D,
223 0x22, 0x52, 0x45, 0x52, 0x45, 0x47, 0x2D, 0x54,
224 0x48, 0x52, 0x45, 0x53, 0x48, 0x4F, 0x4C, 0x44,
225 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
226 0x22, 0x33, 0x30, 0x22, 0x2F, 0x3E, 0x3C, 0x70,
227 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65,
228 0x3D, 0x22, 0x54, 0x2D, 0x42, 0x49, 0x54, 0x22,
229 0x2F, 0x3E, 0x3C, 0x63, 0x68, 0x61, 0x72, 0x61,
230 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69,
231 0x63, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x22,
232 0x4E, 0x41, 0x50, 0x41, 0x55, 0x54, 0x48, 0x49,
233 0x4E, 0x46, 0x4F, 0x22, 0x3E, 0x3C, 0x70, 0x61,
234 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D,
235 0x22, 0x41, 0x55, 0x54, 0x48, 0x54, 0x59, 0x50,
236 0x45, 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65,
237 0x3D, 0x22, 0x50, 0x41, 0x50, 0x22, 0x2F, 0x3E,
238 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61,
239 0x6D, 0x65, 0x3D, 0x22, 0x41, 0x55, 0x54, 0x48,
240 0x4E, 0x41, 0x4D, 0x45, 0x22, 0x20, 0x76, 0x61,
241 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x77, 0x77, 0x77,
242 0x6D, 0x6D, 0x6D, 0x75, 0x73, 0x65, 0x72, 0x22,
243 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20,
244 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x41, 0x55,
245 0x54, 0x48, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54,
246 0x22, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D,
247 0x22, 0x77, 0x77, 0x77, 0x6D, 0x6D, 0x6D, 0x73,
248 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x2F, 0x3E,
249 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E, 0x61,
250 0x6D, 0x65, 0x3D, 0x22, 0x41, 0x55, 0x54, 0x48,
251 0x2D, 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x22,
252 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22,
253 0x48, 0x41, 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61,
254 0x72, 0x6D, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D,
255 0x22, 0x53, 0x50, 0x49, 0x22, 0x20, 0x76, 0x61,
256 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x46, 0x45, 0x44,
257 0x43, 0x42, 0x41, 0x39, 0x38, 0x22, 0x2F, 0x3E,
258 0x3C, 0x2F, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
259 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63,
260 0x3E, 0x3C, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
261 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63,
262 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x22, 0x56,
263 0x41, 0x4C, 0x49, 0x44, 0x49, 0x54, 0x59, 0x22,
264 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D, 0x20, 0x6E,
265 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x43, 0x4F, 0x55,
266 0x4E, 0x54, 0x52, 0x59, 0x22, 0x20, 0x76, 0x61,
267 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x32, 0x32, 0x38,
268 0x22, 0x2F, 0x3E, 0x3C, 0x70, 0x61, 0x72, 0x6D,
269 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x4E,
270 0x45, 0x54, 0x57, 0x4F, 0x52, 0x4B, 0x22, 0x20,
271 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x22, 0x30,
272 0x30, 0x31, 0x22, 0x2F, 0x3E, 0x3C, 0x2F, 0x63,
273 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
274 0x69, 0x73, 0x74, 0x69, 0x63, 0x3E, 0x3C, 0x2F,
275 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
276 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x3E, 0x3C,
277 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
278 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x20, 0x74,
279 0x79, 0x70, 0x65, 0x3D, 0x22, 0x41, 0x43, 0x43,
280 0x45, 0x53, 0x53, 0x22, 0x3E, 0x3C, 0x2F, 0x63,
281 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
282 0x69, 0x73, 0x74, 0x69, 0x63, 0x3E, 0x3C, 0x2F,
283 0x77, 0x61, 0x70, 0x2D, 0x70, 0x72, 0x6F, 0x76,
284 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x69, 0x6E, 0x67,
285 0x64, 0x6F, 0x63, 0x3E
286 ]);
288 /*
289 * Test data from OMA-TS-WAP_ProvCont-V1_1-20090421-C.pdf, Appendix C
290 */
291 let wbxml_data_array = new Uint8Array([
292 // WBXML version 1.3
293 0x03,
294 // The Public Identifier for "-//WAPFORUM//DTD PROV 1.0//EN"
295 0x0b,
296 // Character set UTF-8
297 0x6a,
298 // String table length = 05
299 0x05,
300 // String table: 'N', 'A', 'P', '1', 00
301 0x4e, 0x41, 0x50, 0x31, 0x00,
302 // <wap-provisioningdoc version="1.0">
303 0xc5, 0x46, 0x01,
304 // <characteristic type="PXLOGICAL">
305 0xc6, 0x51, 0x01,
306 // <parm name="PROXY-ID" value="170.187.51.4"/>
307 0x87, 0x15, 0x06, 0x03, 0x31, 0x37, 0x30, 0x2e,
308 0x31, 0x38, 0x37, 0x2e, 0x35, 0x31, 0x2e, 0x34,
309 0x00, 0x01,
310 // <parm name="PROXY-PW" value="proxypasswd"/>
311 0x87, 0x3E, 0x06, 0x03, 0x70, 0x72, 0x6f, 0x78,
312 0x79, 0x70, 0x61, 0x73, 0x73, 0x77, 0x64, 0x00,
313 0x01,
314 // <parm name="PPGAUTH-TYPE" value="HTTP-BASIC"/>
315 0x87, 0x3F, 0x06, 0x9C, 0x01,
316 // <parm name="NAME" value="BankMainProxy"/>
317 0x87, 0x07, 0x06, 0x03, 0x42, 0x61, 0x6e, 0x6b,
318 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x78,
319 0x79, 0x00, 0x01,
320 // <parm name="STARTPAGE" value="http://www.bank.com/startpage.wml"/>
321 0x87, 0x1c, 0x06, 0x03, 0x68, 0x74, 0x74, 0x70,
322 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x62,
323 0x61, 0x6e, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
324 0x73, 0x74, 0x61, 0x72, 0x74, 0x70, 0x61, 0x67,
325 0x65, 0x2e, 0x77, 0x6d, 0x6c, 0x00, 0x01,
326 // <parm name="PULLENABLED" value="1"/>
327 0x87, 0x47, 0x06, 0x03, 0x31, 0x00, 0x01,
328 // <characteristic type="PXAUTHINFO">
329 0xc6, 0x59, 0x01,
330 // <parm name="PXAUTH-TYPE" value="HTTP-BASIC"/>
331 0x87, 0x19, 0x06, 0x9c, 0x01,
332 // <parm name="PXAUTH-ID" value="pxusername"/>
333 0x87, 0x1a, 0x06, 0x03, 0x70, 0x78, 0x75, 0x73,
334 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x00, 0x01,
335 // <parm name="PXAUTH-PW" value="pxuserpasswd"/>
336 0x87, 0x1b, 0x06, 0x03, 0x70, 0x78, 0x75, 0x73,
337 0x65, 0x72, 0x70, 0x61, 0x73, 0x73, 0x77, 0x64,
338 0x00, 0x01,
339 // </characteristic>
340 0x01,
341 // <characteristic type="PXPHYSICAL">
342 0xc6, 0x52, 0x01,
343 // <parm name="PHYSICAL-PROXY-ID" value="PROXY 1"/>
344 0x87, 0x2f, 0x06, 0x03, 0x50, 0x52, 0x4f, 0x58,
345 0x59, 0x20, 0x31, 0x00, 0x01,
346 // <parm name="DOMAIN" value="www.bank.com/"/>
347 0x87, 0x17, 0x06, 0x03, 0x77, 0x77, 0x77, 0x2e,
348 0x62, 0x61, 0x6e, 0x6b, 0x2e, 0x63, 0x6f, 0x6d,
349 0x2f, 0x00, 0x01,
350 // <parm name="PXADDR" value="170.187.51.3"/>
351 0x87, 0x20, 0x06, 0x03, 0x31, 0x37, 0x30, 0x2e,
352 0x31, 0x38, 0x37, 0x2e, 0x35, 0x31, 0x2e, 0x33,
353 0x00, 0x01,
354 // <parm name="PXADDRTYPE" value="IPV4"/>
355 0x87, 0x21, 0x06, 0x85, 0x01,
356 // <parm name="PXADDR-FQDN" value="proxy1.operator.com"/>
357 0x87, 0x3D, 0x06, 0x03, 0x70, 0x72, 0x6f, 0x78,
358 0x79, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61,
359 0x74, 0x6f, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x00,
360 0x01,
361 // <parm name="TO-NAPID" value="INTERNET"/>
362 0x87, 0x22, 0x06, 0x03, 0x49, 0x4e, 0x54, 0x45,
363 0x52, 0x4e, 0x45, 0x54, 0x00, 0x01,
364 // <parm name="TO-NAPID" value="NAP1"/>
365 0x87, 0x22, 0x06, 0x83, 0x00, 0x01,
366 // <characteristic type="PORT">
367 0xc6, 0x53, 0x01,
368 // <parm name="PORTNBR" value="9203"/>
369 0x87, 0x23, 0x06, 0x03, 0x39, 0x32, 0x30, 0x33,
370 0x00, 0x01,
371 // </characteristic>
372 0x01,
373 // </characteristic>
374 0x01,
375 // </characteristic>
376 0x01,
377 // <characteristic type="NAPDEF">
378 0xc6, 0x55, 0x01,
379 // <parm name="NAPID" value="NAP1"/>
380 0x87, 0x11, 0x06, 0x83, 0x00, 0x01,
381 // <parm name="BEARER" value="GSM-CSD"/>
382 0x87, 0x10, 0x06, 0xaa, 0x01,
383 // <parm name="NAME" value="MY ISP CSD"/>
384 0x87, 0x07, 0x06, 0x03, 0x4d, 0x59, 0x20, 0x49,
385 0x53, 0x50, 0x20, 0x43, 0x53, 0x44, 0x00, 0x01,
386 // <parm name="NAP-ADDRESS" value="+35808124002"/>
387 0x87, 0x08, 0x06, 0x03, 0x2b, 0x33, 0x35, 0x38,
388 0x30, 0x38, 0x31, 0x32, 0x34, 0x30, 0x30, 0x32,
389 0x00, 0x01,
390 // <parm name="NAP-ADDRTYPE" value="E164"/>
391 0x87, 0x09, 0x06, 0x87, 0x01,
392 // <parm name="DNS-ADDR" value="170.187.51.2"/>
393 0x87, 0x48, 0x06, 0x03, 0x31, 0x37, 0x30, 0x2e,
394 0x31, 0x38, 0x37, 0x2e, 0x35, 0x31, 0x2e, 0x32,
395 0x00, 0x01,
396 // <parm name="CALLTYPE" value="ANALOG-MODEM"/>
397 0x87, 0x0a, 0x06, 0x90, 0x01,
398 // <parm name="MAX-NUM-RETRY" value="3"/>
399 0x87, 0x49, 0x06, 0x03, 0x33, 0x00, 0x01,
400 // <parm name="FIRST-RETRY-TIMEOUT" value="6"/>
401 0x87, 0x4A, 0x06, 0x03, 0x36, 0x00, 0x01,
402 // <parm name="REREG-THRESHOLD" value="30"/>
403 0x87, 0x4B, 0x06, 0x03, 0x33, 0x30, 0x00, 0x01,
404 // <parm name="T-BIT"/>
405 0x87, 0x4C, 0x01,
406 // <characteristic type="NAPAUTHINFO">
407 0xc6, 0x5a, 0x01,
408 // <parm name="AUTHTYPE" value="PAP"/>
409 0x87, 0x0c, 0x06, 0x9a, 0x01,
410 // <parm name="AUTHNAME" value="wwwmmmuser"/>
411 0x87, 0x0d, 0x06, 0x03, 0x77, 0x77, 0x77, 0x6d,
412 0x6d, 0x6d, 0x75, 0x73, 0x65, 0x72, 0x00, 0x01,
413 // <parm name="AUTHSECRET" value="wwwmmmsecret"/>
414 0x87, 0x0e, 0x06, 0x03, 0x77, 0x77, 0x77, 0x6d,
415 0x6d, 0x6d, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
416 0x00, 0x01,
417 // <parm name="AUTH-ENTITY" value="HA"/>
418 0x87, 0x4E, 0x06, 0xE1, 0x01,
419 // <parm name="SPI" value="FEDCBA98"/>
420 0x87, 0x4F, 0x06, 0x03, 0x46, 0x45, 0x44, 0x43,
421 0x42, 0x41, 0x39, 0x38, 0x00, 0x01,
422 // </characteristic>
423 0x01,
424 // <characteristic type="VALIDITY">
425 0xc6, 0x54, 0x01,
426 // <parm name="COUNTRY" value="228"/>
427 0x87, 0x12, 0x06, 0x03, 0x32, 0x32, 0x38, 0x00,
428 0x01,
429 // <parm name="NETWORK" value="001"/>
430 0x87, 0x13, 0x06, 0x03, 0x30, 0x30, 0x31, 0x00,
431 0x01,
432 // </characteristic>
433 0x01,
434 // </characteristic>
435 0x01,
436 // <characteristic type="ACCESS">
437 0xC6, 0x5B, 0x01,
438 // </characteristic>
439 0x01,
440 // </wap-provisioningdoc>
441 0x01
442 ]);
444 /*
445 * Test data from CHT CP, with code page change
446 */
447 let wbxml_code_page_data_array = new Uint8Array([
448 0x03, 0x0B, 0x6A, 0x00, 0x45, 0xC6, 0x56, 0x01,
449 0x87, 0x07, 0x06, 0x03, 0x43, 0x48, 0x54, 0x5F,
450 0x65, 0x6D, 0x6F, 0x6D, 0x65, 0x00, 0x01, 0x01,
451 0xC6, 0x00, 0x01, 0x55, 0x01, 0x87, 0x36, 0x00,
452 0x00, 0x06, 0x03, 0x77, 0x32, 0x00, 0x01, 0x87,
453 0x00, 0x01, 0x39, 0x00, 0x00, 0x06, 0x03, 0x57,
454 0x50, 0x52, 0x4F, 0x58, 0x59, 0x00, 0x01, 0x87,
455 0x07, 0x06, 0x03, 0x43, 0x48, 0x54, 0x5F, 0x65,
456 0x6D, 0x6F, 0x6D, 0x65, 0x00, 0x01, 0xC6, 0x00,
457 0x01, 0x59, 0x01, 0x87, 0x3A, 0x00, 0x00, 0x06,
458 0x03, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F,
459 0x77, 0x61, 0x70, 0x2E, 0x65, 0x6D, 0x6F, 0x6D,
460 0x65, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x00, 0x01,
461 0x87, 0x07, 0x06, 0x03, 0x43, 0x48, 0x54, 0x5F,
462 0x65, 0x6D, 0x6F, 0x6D, 0x65, 0x00, 0x01, 0x87,
463 0x1C, 0x01, 0x01, 0x01, 0xC6, 0x00, 0x01, 0x55,
464 0x01, 0x87, 0x36, 0x00, 0x00, 0x06, 0x03, 0x77,
465 0x34, 0x00, 0x01, 0x87, 0x00, 0x01, 0x39, 0x00,
466 0x00, 0x06, 0x03, 0x4D, 0x50, 0x52, 0x4F, 0x58,
467 0x59, 0x00, 0x01, 0x87, 0x00, 0x01, 0x34, 0x00,
468 0x00, 0x06, 0x03, 0x68, 0x74, 0x74, 0x70, 0x3A,
469 0x2F, 0x2F, 0x6D, 0x6D, 0x73, 0x3A, 0x38, 0x30,
470 0x30, 0x32, 0x00, 0x01, 0x01, 0xC6, 0x51, 0x01,
471 0x87, 0x15, 0x06, 0x03, 0x57, 0x50, 0x52, 0x4F,
472 0x58, 0x59, 0x00, 0x01, 0x87, 0x07, 0x06, 0x03,
473 0x43, 0x48, 0x54, 0x5F, 0x65, 0x6D, 0x6F, 0x6D,
474 0x65, 0x00, 0x01, 0x87, 0x1C, 0x06, 0x03, 0x68,
475 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x61,
476 0x70, 0x2E, 0x65, 0x6D, 0x6F, 0x6D, 0x65, 0x2E,
477 0x6E, 0x65, 0x74, 0x2F, 0x00, 0x01, 0xC6, 0x52,
478 0x01, 0x87, 0x2F, 0x06, 0x03, 0x50, 0x52, 0x4F,
479 0x58, 0x59, 0x31, 0x00, 0x01, 0x87, 0x20, 0x06,
480 0x03, 0x31, 0x30, 0x2E, 0x31, 0x2E, 0x31, 0x2E,
481 0x31, 0x00, 0x01, 0x87, 0x21, 0x06, 0x85, 0x01,
482 0x87, 0x22, 0x06, 0x03, 0x43, 0x48, 0x54, 0x5F,
483 0x65, 0x6D, 0x6F, 0x6D, 0x65, 0x00, 0x01, 0xC6,
484 0x53, 0x01, 0x87, 0x23, 0x06, 0x03, 0x38, 0x30,
485 0x38, 0x30, 0x00, 0x01, 0x01, 0x01, 0x01, 0xC6,
486 0x51, 0x01, 0x87, 0x15, 0x06, 0x03, 0x4D, 0x50,
487 0x52, 0x4F, 0x58, 0x59, 0x00, 0x01, 0x87, 0x07,
488 0x06, 0x03, 0x43, 0x48, 0x54, 0x5F, 0x4D, 0x4D,
489 0x53, 0x00, 0x01, 0xC6, 0x52, 0x01, 0x87, 0x2F,
490 0x06, 0x03, 0x50, 0x52, 0x4F, 0x58, 0x59, 0x32,
491 0x00, 0x01, 0x87, 0x20, 0x06, 0x03, 0x31, 0x30,
492 0x2E, 0x31, 0x2E, 0x31, 0x2E, 0x31, 0x00, 0x01,
493 0x87, 0x21, 0x06, 0x85, 0x01, 0x87, 0x22, 0x06,
494 0x03, 0x43, 0x48, 0x54, 0x5F, 0x4D, 0x4D, 0x53,
495 0x00, 0x01, 0xC6, 0x53, 0x01, 0x87, 0x23, 0x06,
496 0x03, 0x38, 0x30, 0x38, 0x30, 0x00, 0x01, 0x01,
497 0x01, 0x01, 0xC6, 0x55, 0x01, 0x87, 0x11, 0x06,
498 0x03, 0x43, 0x48, 0x54, 0x5F, 0x65, 0x6D, 0x6F,
499 0x6D, 0x65, 0x00, 0x01, 0x87, 0x07, 0x06, 0x03,
500 0x43, 0x48, 0x54, 0x5F, 0x65, 0x6D, 0x6F, 0x6D,
501 0x65, 0x00, 0x01, 0x87, 0x10, 0x06, 0xAB, 0x01,
502 0x87, 0x08, 0x06, 0x03, 0x65, 0x6D, 0x6F, 0x6D,
503 0x65, 0x00, 0x01, 0x87, 0x09, 0x06, 0x89, 0x01,
504 0x01, 0xC6, 0x55, 0x01, 0x87, 0x11, 0x06, 0x03,
505 0x43, 0x48, 0x54, 0x5F, 0x4D, 0x4D, 0x53, 0x00,
506 0x01, 0x87, 0x07, 0x06, 0x03, 0x43, 0x48, 0x54,
507 0x5F, 0x4D, 0x4D, 0x53, 0x00, 0x01, 0x87, 0x10,
508 0x06, 0xAB, 0x01, 0x87, 0x08, 0x06, 0x03, 0x65,
509 0x6D, 0x6F, 0x6D, 0x65, 0x00, 0x01, 0x87, 0x09,
510 0x06, 0x89, 0x01, 0x01, 0x01
511 ]);
513 /*
514 * Test data from OMA-TS-WAP_ProvCont-V1_1-20090421-C.pdf, clause 6.1
515 */
516 let xml_header =
517 "<?xml version=\"1.0\"?>" +
518 "<!DOCTYPE wap-provisioningdoc PUBLIC \"-//WAPFORUM//DTD PROV 1.0//EN\" \"http://www.wapforum.org/DTD/prov.dtd\">";
520 let xml_body =
521 "<wap-provisioningdoc version=\"1.0\">" +
522 "<characteristic type=\"PXLOGICAL\">" +
523 "<parm name=\"PROXY-ID\" value=\"170.187.51.4\"/>" +
524 "<parm name=\"PROXY-PW\" value=\"proxypasswd\"/>" +
525 "<parm name=\"PPGAUTH-TYPE\" value=\"HTTP-BASIC\"/>" +
526 "<parm name=\"NAME\" value=\"BankMainProxy\"/>" +
527 "<parm name=\"STARTPAGE\" value=\"http://www.bank.com/startpage.wml\"/>" +
528 "<parm name=\"PULLENABLED\" value=\"1\"/>" +
529 "<characteristic type=\"PXAUTHINFO\">" +
530 "<parm name=\"PXAUTH-TYPE\" value=\"HTTP-BASIC\"/>" +
531 "<parm name=\"PXAUTH-ID\" value=\"pxusername\"/>" +
532 "<parm name=\"PXAUTH-PW\" value=\"pxuserpasswd\"/>" +
533 "</characteristic>" +
534 "<characteristic type=\"PXPHYSICAL\">" +
535 "<parm name=\"PHYSICAL-PROXY-ID\" value=\"PROXY 1\"/>" +
536 "<parm name=\"DOMAIN\" value=\"www.bank.com/\"/>" +
537 "<parm name=\"PXADDR\" value=\"170.187.51.3\"/>" +
538 "<parm name=\"PXADDRTYPE\" value=\"IPV4\"/>" +
539 "<parm name=\"PXADDR-FQDN\" value=\"proxy1.operator.com\"/>" +
540 "<parm name=\"TO-NAPID\" value=\"INTERNET\"/>" +
541 "<parm name=\"TO-NAPID\" value=\"NAP1\"/>" +
542 "<characteristic type=\"PORT\">" +
543 "<parm name=\"PORTNBR\" value=\"9203\"/>" +
544 "</characteristic>" +
545 "</characteristic>" +
546 "</characteristic>" +
547 "<characteristic type=\"NAPDEF\">" +
548 "<parm name=\"NAPID\" value=\"NAP1\"/>" +
549 "<parm name=\"BEARER\" value=\"GSM-CSD\"/>" +
550 "<parm name=\"NAME\" value=\"MY ISP CSD\"/>" +
551 "<parm name=\"NAP-ADDRESS\" value=\"+35808124002\"/>" +
552 "<parm name=\"NAP-ADDRTYPE\" value=\"E164\"/>" +
553 "<parm name=\"DNS-ADDR\" value=\"170.187.51.2\"/>" +
554 "<parm name=\"CALLTYPE\" value=\"ANALOG-MODEM\"/>" +
555 "<parm name=\"MAX-NUM-RETRY\" value=\"3\"/>" +
556 "<parm name=\"FIRST-RETRY-TIMEOUT\" value=\"6\"/>" +
557 "<parm name=\"REREG-THRESHOLD\" value=\"30\"/>" +
558 "<parm name=\"T-BIT\"/>" +
559 "<characteristic type=\"NAPAUTHINFO\">" +
560 "<parm name=\"AUTHTYPE\" value=\"PAP\"/>" +
561 "<parm name=\"AUTHNAME\" value=\"wwwmmmuser\"/>" +
562 "<parm name=\"AUTHSECRET\" value=\"wwwmmmsecret\"/>" +
563 "<parm name=\"AUTH-ENTITY\" value=\"HA\"/>" +
564 "<parm name=\"SPI\" value=\"FEDCBA98\"/>" +
565 "</characteristic>" +
566 "<characteristic type=\"VALIDITY\">" +
567 "<parm name=\"COUNTRY\" value=\"228\"/>" +
568 "<parm name=\"NETWORK\" value=\"001\"/>" +
569 "</characteristic>" +
570 "</characteristic>" +
571 "<characteristic type=\"ACCESS\">" +
572 "</characteristic>" +
573 "</wap-provisioningdoc>";
575 let wbxml_code_page_content =
576 "<wap-provisioningdoc>" +
577 "<characteristic type=\"BOOTSTRAP\">" +
578 "<parm name=\"NAME\" value=\"CHT_emome\"/>" +
579 "</characteristic>" +
580 "<characteristic type=\"APPLICATION\">" +
581 "<parm name=\"APPID\" value=\"w2\"/>" +
582 "<parm name=\"TO-PROXY\" value=\"WPROXY\"/>" +
583 "<parm name=\"NAME\" value=\"CHT_emome\"/>" +
584 "<characteristic type=\"RESOURCE\">" +
585 "<parm name=\"URI\" value=\"http://wap.emome.net/\"/>" +
586 "<parm name=\"NAME\" value=\"CHT_emome\"/>" +
587 "<parm name=\"STARTPAGE\"/>" +
588 "</characteristic>" +
589 "</characteristic>" +
590 "<characteristic type=\"APPLICATION\">" +
591 "<parm name=\"APPID\" value=\"w4\"/>" +
592 "<parm name=\"TO-PROXY\" value=\"MPROXY\"/>" +
593 "<parm name=\"ADDR\" value=\"http://mms:8002\"/>" +
594 "</characteristic>" +
595 "<characteristic type=\"PXLOGICAL\">" +
596 "<parm name=\"PROXY-ID\" value=\"WPROXY\"/>" +
597 "<parm name=\"NAME\" value=\"CHT_emome\"/>" +
598 "<parm name=\"STARTPAGE\" value=\"http://wap.emome.net/\"/>" +
599 "<characteristic type=\"PXPHYSICAL\">" +
600 "<parm name=\"PHYSICAL-PROXY-ID\" value=\"PROXY1\"/>" +
601 "<parm name=\"PXADDR\" value=\"10.1.1.1\"/>" +
602 "<parm name=\"PXADDRTYPE\" value=\"IPV4\"/>" +
603 "<parm name=\"TO-NAPID\" value=\"CHT_emome\"/>" +
604 "<characteristic type=\"PORT\">" +
605 "<parm name=\"PORTNBR\" value=\"8080\"/>" +
606 "</characteristic>" +
607 "</characteristic>" +
608 "</characteristic>" +
609 "<characteristic type=\"PXLOGICAL\">" +
610 "<parm name=\"PROXY-ID\" value=\"MPROXY\"/>" +
611 "<parm name=\"NAME\" value=\"CHT_MMS\"/>" +
612 "<characteristic type=\"PXPHYSICAL\">" +
613 "<parm name=\"PHYSICAL-PROXY-ID\" value=\"PROXY2\"/>" +
614 "<parm name=\"PXADDR\" value=\"10.1.1.1\"/>" +
615 "<parm name=\"PXADDRTYPE\" value=\"IPV4\"/>" +
616 "<parm name=\"TO-NAPID\" value=\"CHT_MMS\"/>" +
617 "<characteristic type=\"PORT\">" +
618 "<parm name=\"PORTNBR\" value=\"8080\"/>" +
619 "</characteristic>" +
620 "</characteristic>" +
621 "</characteristic>" +
622 "<characteristic type=\"NAPDEF\">" +
623 "<parm name=\"NAPID\" value=\"CHT_emome\"/>" +
624 "<parm name=\"NAME\" value=\"CHT_emome\"/>" +
625 "<parm name=\"BEARER\" value=\"GSM-GPRS\"/>" +
626 "<parm name=\"NAP-ADDRESS\" value=\"emome\"/>" +
627 "<parm name=\"NAP-ADDRTYPE\" value=\"APN\"/>" +
628 "</characteristic>" +
629 "<characteristic type=\"NAPDEF\">" +
630 "<parm name=\"NAPID\" value=\"CHT_MMS\"/>" +
631 "<parm name=\"NAME\" value=\"CHT_MMS\"/>" +
632 "<parm name=\"BEARER\" value=\"GSM-GPRS\"/>" +
633 "<parm name=\"NAP-ADDRESS\" value=\"emome\"/>" +
634 "<parm name=\"NAP-ADDRTYPE\" value=\"APN\"/>" +
635 "</characteristic>" +
636 "</wap-provisioningdoc>";
638 /**
639 * CP in plain text
640 *
641 * Test case from OMA-TS-WAP_ProvCont-V1_1-20090421-C.pdf, clause 6.1
642 */
643 add_test(function test_cp_parse_plain_text() {
644 test_parser(text_data_array, "text/vnd.wap.connectivity-xml", {
645 contentType: "text/vnd.wap.connectivity-xml",
646 content: xml_header + xml_body
647 });
649 run_next_test();
650 });
652 /**
653 * CP compressed by WBXML
654 *
655 * Test case from OMA-TS-WAP_ProvCont-V1_1-20090421-C.pdf, Appendix C
656 */
657 add_test(function test_cp_parse_wbxml() {
658 test_parser(wbxml_data_array, "application/vnd.wap.connectivity-wbxml", {
659 contentType: "text/vnd.wap.connectivity-xml",
660 content: xml_body
661 });
663 run_next_test();
664 });
666 /**
667 * CP compressed by WBXML with VENDORCONFIG
668 */
669 add_test(function test_cp_parse_wbxml() {
670 let wbxml_vendor_config_data_array = new Uint8Array([
671 0x03, 0x0b, 0x6a, 0x05, 0x4e, 0x41, 0x50, 0x31,
672 0x00, 0xC5, 0x46, 0x01, 0xc6, 0x57, 0x01, 0x01
673 ]);
675 test_parser(wbxml_vendor_config_data_array, "application/vnd.wap.connectivity-wbxml", {
676 contentType: "application/vnd.wap.connectivity-wbxml",
677 content: wbxml_vendor_config_data_array
678 });
680 run_next_test();
681 });
683 /**
684 * CP compressed by WBXML with code page switch
685 */
686 add_test(function test_cp_parse_wbxml_code_page() {
687 test_parser(wbxml_code_page_data_array, "application/vnd.wap.connectivity-wbxml", {
688 contentType: "text/vnd.wap.connectivity-xml",
689 content: wbxml_code_page_content
690 });
692 run_next_test();
693 });
695 /**
696 * HMAC test
697 */
698 add_test(function test_cp_hmac_userpin() {
699 test_hmac(wbxml_code_page_data_array,
700 "AA2DC41FC48AEEF3FED7351B1EE704461A8894D4",
701 "0000",
702 {
703 checked: true,
704 pass: true
705 });
707 run_next_test();
708 });
710 add_test(function test_cp_hmac_networkpin() {
711 let wbxml_empty_data_array = new Uint8Array([
712 0x03, 0x0b, 0x6a, 0x00, 0x45, 0x01
713 ]);
715 test_hmac(wbxml_empty_data_array,
716 "1AF545FE2823DC9347064450F90FF1BBF957E146",
717 CP.Authenticator.formatImsi("466923103145252"),
718 {
719 checked: true,
720 pass: true
721 });
723 run_next_test();
724 });