OLD | NEW |
1 var console = null; | 1 var console = null; |
2 | 2 |
3 function consoleWrite(text) | 3 function consoleWrite(text) |
4 { | 4 { |
5 if (!console && document.body) { | 5 if (!console && document.body) { |
6 console = document.createElement('div'); | 6 console = document.createElement('div'); |
7 document.body.appendChild(console); | 7 document.body.appendChild(console); |
8 } | 8 } |
9 var span = document.createElement('span'); | 9 var span = document.createElement('span'); |
10 span.appendChild(document.createTextNode(text)); | 10 span.appendChild(document.createTextNode(text)); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 // http://tools.ietf.org/html/draft-ietf-jose-json-web-key | 78 // http://tools.ietf.org/html/draft-ietf-jose-json-web-key |
79 | 79 |
80 // Encodes data into base64 string without trailing '='. | 80 // Encodes data into base64 string without trailing '='. |
81 function base64Encode(data) | 81 function base64Encode(data) |
82 { | 82 { |
83 var result = btoa(String.fromCharCode.apply(null, data)); | 83 var result = btoa(String.fromCharCode.apply(null, data)); |
84 return result.replace(/=+$/g, ''); | 84 return result.replace(/=+$/g, ''); |
85 } | 85 } |
86 | 86 |
87 // Creates a JWK from raw key ID and key. | 87 // Creates a JWK from raw key ID and key. |
| 88 // |keyId| and |key| are expected to be ArrayBufferViews, not base64-encoded. |
88 function createJWK(keyId, key) | 89 function createJWK(keyId, key) |
89 { | 90 { |
90 var jwk = '{"kty":"oct","kid":"'; | 91 var jwk = '{"kty":"oct","kid":"'; |
| 92 // FIXME: Should use base64URLEncoding. |
91 jwk += base64Encode(keyId); | 93 jwk += base64Encode(keyId); |
92 jwk += '","k":"'; | 94 jwk += '","k":"'; |
93 jwk += base64Encode(key); | 95 jwk += base64Encode(key); |
94 jwk += '"}'; | 96 jwk += '"}'; |
95 return jwk; | 97 return jwk; |
96 } | 98 } |
97 | 99 |
98 // Creates a JWK Set from multiple JWKs. | 100 // Creates a JWK Set from multiple JWKs. |
99 function createJWKSet() | 101 function createJWKSet() |
100 { | 102 { |
(...skipping 13 matching lines...) Expand all Loading... |
114 // currently no way to report a failed test in the test harness, errors | 116 // currently no way to report a failed test in the test harness, errors |
115 // are reported using force_timeout(). | 117 // are reported using force_timeout(). |
116 if (message) | 118 if (message) |
117 consoleWrite(message + ': ' + error.message); | 119 consoleWrite(message + ': ' + error.message); |
118 else if (error) | 120 else if (error) |
119 consoleWrite(error.message); | 121 consoleWrite(error.message); |
120 | 122 |
121 test.force_timeout(); | 123 test.force_timeout(); |
122 test.done(); | 124 test.done(); |
123 } | 125 } |
OLD | NEW |