OLD | NEW |
1 // TODO(eroman): Use known test vectors. The samples I used here I generated mys
elf. | 1 // TODO(eroman): Use known test vectors. The samples I used here I generated mys
elf. |
2 [ | 2 [ |
3 // Test key derivation using ECDH (P-256), using a public and private key from | 3 // Test key derivation using ECDH (P-256), using a public and private key from |
4 // different key pairs. | 4 // different key pairs. |
5 { | 5 { |
6 "public_key": { | 6 "public_key": { |
7 "crv": "P-256", | 7 "crv": "P-256", |
8 "kty":"EC", | 8 "kty":"EC", |
9 "x":"u6dWhaRHrvFF0CiFVuUUFafU6ixveQf9trHDXJ8hgV8", | 9 "x":"u6dWhaRHrvFF0CiFVuUUFafU6ixveQf9trHDXJ8hgV8", |
10 "y":"thSm4LIY35vDD-5LE454eB7TShn919DVVGZ_7tWdjTE" | 10 "y":"thSm4LIY35vDD-5LE454eB7TShn919DVVGZ_7tWdjTE" |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 "d":"CQ8uF_-zB1NftLO6ytwKM3Cnuol64PQw5qOuCzQJeFU" | 268 "d":"CQ8uF_-zB1NftLO6ytwKM3Cnuol64PQw5qOuCzQJeFU" |
269 }, | 269 }, |
270 "public_key": { | 270 "public_key": { |
271 "kty":"EC", | 271 "kty":"EC", |
272 "crv":"P-256", | 272 "crv":"P-256", |
273 "x":"S2S3tjygMB0DkM-N9jYUgGLt_9_H6km5P9V6V_KS4_4", | 273 "x":"S2S3tjygMB0DkM-N9jYUgGLt_9_H6km5P9V6V_KS4_4", |
274 "y":"03j8Tyqgrc4R4FAUV2C7-im96yMmfmO_5Om6Kr8YP3o" | 274 "y":"03j8Tyqgrc4R4FAUV2C7-im96yMmfmO_5Om6Kr8YP3o" |
275 }, | 275 }, |
276 | 276 |
277 "length_bits": 257, | 277 "length_bits": 257, |
278 "error": "InvalidAccess: Length specified for ECDH key derivation is too lar
ge. Maximum allowed is 256 bits" | 278 "error": "OperationError: Length specified for ECDH key derivation is too la
rge. Maximum allowed is 256 bits" |
279 }, | 279 }, |
280 | 280 |
281 // The length is too long, by 1 byte | 281 // The length is too long, by 1 byte |
282 { | 282 { |
283 "private_key": { | 283 "private_key": { |
284 "kty":"EC", | 284 "kty":"EC", |
285 "crv":"P-256", | 285 "crv":"P-256", |
286 "x":"u6dWhaRHrvFF0CiFVuUUFafU6ixveQf9trHDXJ8hgV8", | 286 "x":"u6dWhaRHrvFF0CiFVuUUFafU6ixveQf9trHDXJ8hgV8", |
287 "y":"thSm4LIY35vDD-5LE454eB7TShn919DVVGZ_7tWdjTE", | 287 "y":"thSm4LIY35vDD-5LE454eB7TShn919DVVGZ_7tWdjTE", |
288 "d":"CQ8uF_-zB1NftLO6ytwKM3Cnuol64PQw5qOuCzQJeFU" | 288 "d":"CQ8uF_-zB1NftLO6ytwKM3Cnuol64PQw5qOuCzQJeFU" |
289 }, | 289 }, |
290 "public_key": { | 290 "public_key": { |
291 "kty":"EC", | 291 "kty":"EC", |
292 "crv":"P-256", | 292 "crv":"P-256", |
293 "x":"S2S3tjygMB0DkM-N9jYUgGLt_9_H6km5P9V6V_KS4_4", | 293 "x":"S2S3tjygMB0DkM-N9jYUgGLt_9_H6km5P9V6V_KS4_4", |
294 "y":"03j8Tyqgrc4R4FAUV2C7-im96yMmfmO_5Om6Kr8YP3o" | 294 "y":"03j8Tyqgrc4R4FAUV2C7-im96yMmfmO_5Om6Kr8YP3o" |
295 }, | 295 }, |
296 | 296 |
297 "length_bits": 264, | 297 "length_bits": 264, |
298 "error": "InvalidAccess: Length specified for ECDH key derivation is too lar
ge. Maximum allowed is 256 bits" | 298 "error": "OperationError: Length specified for ECDH key derivation is too la
rge. Maximum allowed is 256 bits" |
299 }, | 299 }, |
300 | 300 |
301 // The public key parameter is in fact a private key | 301 // The public key parameter is in fact a private key |
302 // (not allowed by web crypto), even though it could in practice work. | 302 // (not allowed by web crypto), even though it could in practice work. |
303 { | 303 { |
304 "private_key": { | 304 "private_key": { |
305 "kty":"EC", | 305 "kty":"EC", |
306 "crv":"P-256", | 306 "crv":"P-256", |
307 "x":"u6dWhaRHrvFF0CiFVuUUFafU6ixveQf9trHDXJ8hgV8", | 307 "x":"u6dWhaRHrvFF0CiFVuUUFafU6ixveQf9trHDXJ8hgV8", |
308 "y":"thSm4LIY35vDD-5LE454eB7TShn919DVVGZ_7tWdjTE", | 308 "y":"thSm4LIY35vDD-5LE454eB7TShn919DVVGZ_7tWdjTE", |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 | 352 |
353 "private_key": { | 353 "private_key": { |
354 "crv":"P-521", | 354 "crv":"P-521", |
355 "kty":"EC", | 355 "kty":"EC", |
356 "d":"AU3LVJK4dtlbOEFb018ry-D-kYF7J7oQxXLpXcnQXbTh42FORGGGtySTA83gT_GiHJ0tn
vgVrDdUMK1muJBGPrRf", | 356 "d":"AU3LVJK4dtlbOEFb018ry-D-kYF7J7oQxXLpXcnQXbTh42FORGGGtySTA83gT_GiHJ0tn
vgVrDdUMK1muJBGPrRf", |
357 "x":"ADRllQ0B7icrnJ7ib2r-CXvymGFiC_3f6_o0SzLMBIggM8ndQm9l768SToMy1hUo64Jso
fGSQ37P4CRqT_QeivBD", | 357 "x":"ADRllQ0B7icrnJ7ib2r-CXvymGFiC_3f6_o0SzLMBIggM8ndQm9l768SToMy1hUo64Jso
fGSQ37P4CRqT_QeivBD", |
358 "y":"ALKEzew1Xe4Sv86lZVqb2xxZ0l7WrE3DPJ93fUtSPih5iH8jg0GPDKMVoA5ffFmqPwbdg
S2BK18PBFIT7QDGb2Zx" | 358 "y":"ALKEzew1Xe4Sv86lZVqb2xxZ0l7WrE3DPJ93fUtSPih5iH8jg0GPDKMVoA5ffFmqPwbdg
S2BK18PBFIT7QDGb2Zx" |
359 }, | 359 }, |
360 | 360 |
361 "length_bits": 529, | 361 "length_bits": 529, |
362 "error": "InvalidAccess: Length specified for ECDH key derivation is too lar
ge. Maximum allowed is 528 bits" | 362 "error": "OperationError: Length specified for ECDH key derivation is too la
rge. Maximum allowed is 528 bits" |
363 } | 363 } |
364 ] | 364 ] |
365 | 365 |
OLD | NEW |