|
243 | 243 | "expectedStringToSign": "GOOG4-RSA-SHA256\n20190201T090000Z\n20190201/auto/storage/goog4_request\n89eeae48258eccdcb1f592fb908008e3f5d36a949c002c1e614c94356dc18fc6" |
244 | 244 | }, |
245 | 245 | { |
246 | | - "description": "HTTP Bucket Bound Domain Support", |
| 246 | + "description": "HTTP Bucket Bound Hostname Support", |
247 | 247 | "bucket": "test-bucket", |
248 | 248 | "object": "test-object", |
249 | 249 | "method": "GET", |
250 | 250 | "expiration": "10", |
251 | 251 | "timestamp": "2019-02-01T09:00:00Z", |
252 | 252 | "expectedUrl": "http://mydomain.tld/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=7115a77f8c7ed1a8b74bca8b520904fca7f3bab90d69ea052687a94efd9b3a4e2a7fb7135d40e295e0a21958194c55da7e106227957c22ed6edc9d8b3d2a8133bc8af84fc9695dda8081d53f0db5ea9f28e5bfc225d78f873e9f571fd287bb7a95330e726aebd8eb4623cdb0b1a7ceb210b2ce1351b6be0191c2ad7b38f7ceb6c5ce2f98dbfb5a5a649050585e46e97f72f1f5407de657a56e34a3fdc80cdaa0598bd47f3e8af5ff22d0916b19b106890bff8c3f6587f1d3b076b16cd0ba0508607a672be33b9c75d537e15258450b43d22a21c4d528090acbb8e5bae7b31fc394e61394106ef1d6a8ed43074ab05bcec65674cd8113fb3de388da4d97e62f56", |
253 | 253 | "scheme": "http", |
254 | | - "urlStyle": "BUCKET_BOUND_DOMAIN", |
255 | | - "bucketBoundDomain": "mydomain.tld", |
| 254 | + "urlStyle": "BUCKET_BOUND_HOSTNAME", |
| 255 | + "bucketBoundHostname": "mydomain.tld", |
256 | 256 | "expectedCanonicalRequest": "GET\n/test-object\nX-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\nhost:mydomain.tld\n\nhost\nUNSIGNED-PAYLOAD", |
257 | 257 | "expectedStringToSign": "GOOG4-RSA-SHA256\n20190201T090000Z\n20190201/auto/storage/goog4_request\nd6c309924b51a5abbe4d6356f7bf29c2120c6b14649b1e97b3bc9309adca7d4b" |
258 | 258 | }, |
259 | 259 | { |
260 | | - "description": "HTTPS Bucket Bound Domain Support", |
| 260 | + "description": "HTTPS Bucket Bound Hostname Support", |
261 | 261 | "bucket": "test-bucket", |
262 | 262 | "object": "test-object", |
263 | 263 | "method": "GET", |
264 | 264 | "expiration": "10", |
265 | 265 | "timestamp": "2019-02-01T09:00:00Z", |
266 | 266 | "expectedUrl": "https://mydomain.tld/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=7115a77f8c7ed1a8b74bca8b520904fca7f3bab90d69ea052687a94efd9b3a4e2a7fb7135d40e295e0a21958194c55da7e106227957c22ed6edc9d8b3d2a8133bc8af84fc9695dda8081d53f0db5ea9f28e5bfc225d78f873e9f571fd287bb7a95330e726aebd8eb4623cdb0b1a7ceb210b2ce1351b6be0191c2ad7b38f7ceb6c5ce2f98dbfb5a5a649050585e46e97f72f1f5407de657a56e34a3fdc80cdaa0598bd47f3e8af5ff22d0916b19b106890bff8c3f6587f1d3b076b16cd0ba0508607a672be33b9c75d537e15258450b43d22a21c4d528090acbb8e5bae7b31fc394e61394106ef1d6a8ed43074ab05bcec65674cd8113fb3de388da4d97e62f56", |
267 | 267 | "scheme": "https", |
268 | | - "urlStyle": "BUCKET_BOUND_DOMAIN", |
269 | | - "bucketBoundDomain": "mydomain.tld", |
| 268 | + "urlStyle": "BUCKET_BOUND_HOSTNAME", |
| 269 | + "bucketBoundHostname": "mydomain.tld", |
270 | 270 | "expectedCanonicalRequest": "GET\n/test-object\nX-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\nhost:mydomain.tld\n\nhost\nUNSIGNED-PAYLOAD", |
271 | 271 | "expectedStringToSign": "GOOG4-RSA-SHA256\n20190201T090000Z\n20190201/auto/storage/goog4_request\nd6c309924b51a5abbe4d6356f7bf29c2120c6b14649b1e97b3bc9309adca7d4b" |
272 | 272 | } |
|
294 | 294 | "expectedDecodedPolicy": "{\"conditions\":[{\"key\":\"test-object\"},{\"x-goog-date\":\"20200123T043530Z\"},{\"x-goog-credential\":\"[email protected]/20200123/auto/storage/goog4_request\"},{\"x-goog-algorithm\":\"GOOG4-RSA-SHA256\"}],\"expiration\":\"2020-01-23T04:35:40Z\"}" |
295 | 295 | } |
296 | 296 | }, |
| 297 | + { |
| 298 | + "description": "POST Policy Simple Virtual Hosted Style", |
| 299 | + "policyInput": { |
| 300 | + "scheme": "https", |
| 301 | + "urlStyle": "VIRTUAL_HOSTED_STYLE", |
| 302 | + "bucket": "rsaposttest-1579902670-h3q7wvodjor6bc7y", |
| 303 | + "object": "test-object", |
| 304 | + "expiration": 10, |
| 305 | + "timestamp": "2020-01-23T04:35:30Z" |
| 306 | + }, |
| 307 | + "policyOutput": { |
| 308 | + "url": "https://rsaposttest-1579902670-h3q7wvodjor6bc7y.storage.googleapis.com/", |
| 309 | + "fields" : { |
| 310 | + "key": "test-object", |
| 311 | + "x-goog-algorithm": "GOOG4-RSA-SHA256", |
| 312 | + "x-goog-credential": "[email protected]/20200123/auto/storage/goog4_request", |
| 313 | + "x-goog-date": "20200123T043530Z", |
| 314 | + "x-goog-signature": "2821a23ca8886ae9e9d67e8c094c06626a733f373cdca76d9d8c325e60ed8237b500b2f39937a15a1ebbdef7ed156fe3f41bc3456d453bb68d6755872eb429c329ae4e0dfb5e0abef4ca976394430ad7b3d1f14e50f6040c2cf81a2880980c26f9aeb800a674fc834b0e21e414adc3d1a0835da64107cce6a14bd2b39b4d6627029f821009e15ff3a7538ddc27dcf8c189ed197d25d50f0bddf58f99e0265adf562fff7f6689faba60920d73e6a6704c3d2be34a424766398396c55d3680f8dfd19513e2861fa4efa7ae99001877f043567132d413dc3c69e04a7ef5d30a325c2f9bc64e19dd6f0576781e546383378e7a4f2904411ee32d5c5a763683333dd7", |
| 315 | + "policy": "eyJjb25kaXRpb25zIjpbeyJrZXkiOiJ0ZXN0LW9iamVjdCJ9LHsieC1nb29nLWRhdGUiOiIyMDIwMDEyM1QwNDM1MzBaIn0seyJ4LWdvb2ctY3JlZGVudGlhbCI6InRlc3QtaWFtLWNyZWRlbnRpYWxzQGR1bW15LXByb2plY3QtaWQuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20vMjAyMDAxMjMvYXV0by9zdG9yYWdlL2dvb2c0X3JlcXVlc3QifSx7IngtZ29vZy1hbGdvcml0aG0iOiJHT09HNC1SU0EtU0hBMjU2In1dLCJleHBpcmF0aW9uIjoiMjAyMC0wMS0yM1QwNDozNTo0MFoifQ==" |
| 316 | + }, |
| 317 | + "expectedDecodedPolicy": "{\"conditions\":[{\"key\":\"test-object\"},{\"x-goog-date\":\"20200123T043530Z\"},{\"x-goog-credential\":\"[email protected]/20200123/auto/storage/goog4_request\"},{\"x-goog-algorithm\":\"GOOG4-RSA-SHA256\"}],\"expiration\":\"2020-01-23T04:35:40Z\"}" |
| 318 | + } |
| 319 | + }, |
| 320 | + { |
| 321 | + "description": "POST Policy Simple Bucket Bound Hostname", |
| 322 | + "policyInput": { |
| 323 | + "scheme": "https", |
| 324 | + "urlStyle": "BUCKET_BOUND_HOSTNAME", |
| 325 | + "bucketBoundHostname": "mydomain.tld", |
| 326 | + "bucket": "rsaposttest-1579902670-h3q7wvodjor6bc7y", |
| 327 | + "object": "test-object", |
| 328 | + "expiration": 10, |
| 329 | + "timestamp": "2020-01-23T04:35:30Z" |
| 330 | + }, |
| 331 | + "policyOutput": { |
| 332 | + "url": "https://mydomain.tld/", |
| 333 | + "fields" : { |
| 334 | + "key": "test-object", |
| 335 | + "x-goog-algorithm": "GOOG4-RSA-SHA256", |
| 336 | + "x-goog-credential": "[email protected]/20200123/auto/storage/goog4_request", |
| 337 | + "x-goog-date": "20200123T043530Z", |
| 338 | + "x-goog-signature": "2821a23ca8886ae9e9d67e8c094c06626a733f373cdca76d9d8c325e60ed8237b500b2f39937a15a1ebbdef7ed156fe3f41bc3456d453bb68d6755872eb429c329ae4e0dfb5e0abef4ca976394430ad7b3d1f14e50f6040c2cf81a2880980c26f9aeb800a674fc834b0e21e414adc3d1a0835da64107cce6a14bd2b39b4d6627029f821009e15ff3a7538ddc27dcf8c189ed197d25d50f0bddf58f99e0265adf562fff7f6689faba60920d73e6a6704c3d2be34a424766398396c55d3680f8dfd19513e2861fa4efa7ae99001877f043567132d413dc3c69e04a7ef5d30a325c2f9bc64e19dd6f0576781e546383378e7a4f2904411ee32d5c5a763683333dd7", |
| 339 | + "policy": "eyJjb25kaXRpb25zIjpbeyJrZXkiOiJ0ZXN0LW9iamVjdCJ9LHsieC1nb29nLWRhdGUiOiIyMDIwMDEyM1QwNDM1MzBaIn0seyJ4LWdvb2ctY3JlZGVudGlhbCI6InRlc3QtaWFtLWNyZWRlbnRpYWxzQGR1bW15LXByb2plY3QtaWQuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20vMjAyMDAxMjMvYXV0by9zdG9yYWdlL2dvb2c0X3JlcXVlc3QifSx7IngtZ29vZy1hbGdvcml0aG0iOiJHT09HNC1SU0EtU0hBMjU2In1dLCJleHBpcmF0aW9uIjoiMjAyMC0wMS0yM1QwNDozNTo0MFoifQ==" |
| 340 | + }, |
| 341 | + "expectedDecodedPolicy": "{\"conditions\":[{\"key\":\"test-object\"},{\"x-goog-date\":\"20200123T043530Z\"},{\"x-goog-credential\":\"[email protected]/20200123/auto/storage/goog4_request\"},{\"x-goog-algorithm\":\"GOOG4-RSA-SHA256\"}],\"expiration\":\"2020-01-23T04:35:40Z\"}" |
| 342 | + } |
| 343 | + }, |
| 344 | + { |
| 345 | + "description": "POST Policy Simple Bucket Bound Hostname HTTP", |
| 346 | + "policyInput": { |
| 347 | + "scheme": "http", |
| 348 | + "urlStyle": "BUCKET_BOUND_HOSTNAME", |
| 349 | + "bucketBoundHostname": "mydomain.tld", |
| 350 | + "bucket": "rsaposttest-1579902670-h3q7wvodjor6bc7y", |
| 351 | + "object": "test-object", |
| 352 | + "expiration": 10, |
| 353 | + "timestamp": "2020-01-23T04:35:30Z" |
| 354 | + }, |
| 355 | + "policyOutput": { |
| 356 | + "url": "http://mydomain.tld/", |
| 357 | + "fields" : { |
| 358 | + "key": "test-object", |
| 359 | + "x-goog-algorithm": "GOOG4-RSA-SHA256", |
| 360 | + "x-goog-credential": "[email protected]/20200123/auto/storage/goog4_request", |
| 361 | + "x-goog-date": "20200123T043530Z", |
| 362 | + "x-goog-signature": "2821a23ca8886ae9e9d67e8c094c06626a733f373cdca76d9d8c325e60ed8237b500b2f39937a15a1ebbdef7ed156fe3f41bc3456d453bb68d6755872eb429c329ae4e0dfb5e0abef4ca976394430ad7b3d1f14e50f6040c2cf81a2880980c26f9aeb800a674fc834b0e21e414adc3d1a0835da64107cce6a14bd2b39b4d6627029f821009e15ff3a7538ddc27dcf8c189ed197d25d50f0bddf58f99e0265adf562fff7f6689faba60920d73e6a6704c3d2be34a424766398396c55d3680f8dfd19513e2861fa4efa7ae99001877f043567132d413dc3c69e04a7ef5d30a325c2f9bc64e19dd6f0576781e546383378e7a4f2904411ee32d5c5a763683333dd7", |
| 363 | + "policy": "eyJjb25kaXRpb25zIjpbeyJrZXkiOiJ0ZXN0LW9iamVjdCJ9LHsieC1nb29nLWRhdGUiOiIyMDIwMDEyM1QwNDM1MzBaIn0seyJ4LWdvb2ctY3JlZGVudGlhbCI6InRlc3QtaWFtLWNyZWRlbnRpYWxzQGR1bW15LXByb2plY3QtaWQuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20vMjAyMDAxMjMvYXV0by9zdG9yYWdlL2dvb2c0X3JlcXVlc3QifSx7IngtZ29vZy1hbGdvcml0aG0iOiJHT09HNC1SU0EtU0hBMjU2In1dLCJleHBpcmF0aW9uIjoiMjAyMC0wMS0yM1QwNDozNTo0MFoifQ==" |
| 364 | + }, |
| 365 | + "expectedDecodedPolicy": "{\"conditions\":[{\"key\":\"test-object\"},{\"x-goog-date\":\"20200123T043530Z\"},{\"x-goog-credential\":\"[email protected]/20200123/auto/storage/goog4_request\"},{\"x-goog-algorithm\":\"GOOG4-RSA-SHA256\"}],\"expiration\":\"2020-01-23T04:35:40Z\"}" |
| 366 | + } |
| 367 | + }, |
297 | 368 | { |
298 | 369 | "description": "POST Policy ACL matching", |
299 | 370 | "policyInput": { |
|
303 | 374 | "expiration": 10, |
304 | 375 | "timestamp": "2020-01-23T04:35:30Z", |
305 | 376 | "conditions": { |
306 | | - "matches": [{ |
307 | | - "expression": ["startsWith", "$acl", "public"] |
308 | | - }] |
| 377 | + "startsWith": ["$acl", "public"] |
309 | 378 | } |
310 | 379 | }, |
311 | 380 | "policyOutput": { |
|
330 | 399 | "expiration": 10, |
331 | 400 | "timestamp": "2020-01-23T04:35:30Z", |
332 | 401 | "conditions": { |
333 | | - "matches": [{ |
334 | | - "expression": ["content-length-range", "246", "266"] |
335 | | - }] |
| 402 | + "contentLengthRange": [246, 266] |
336 | 403 | } |
337 | 404 | }, |
338 | 405 | "policyOutput": { |
|
356 | 423 | "object": "test-object", |
357 | 424 | "expiration": 10, |
358 | 425 | "timestamp": "2020-01-23T04:35:30Z", |
359 | | - "headers": { |
| 426 | + "fields": { |
360 | 427 | "acl": "public-read", |
361 | 428 | "cache-control": "public,max-age=86400" |
362 | 429 | } |
|
384 | 451 | "object": "test-object", |
385 | 452 | "expiration": 10, |
386 | 453 | "timestamp": "2020-01-23T04:35:30Z", |
387 | | - "conditions": { |
388 | | - "successActionStatus": "200" |
| 454 | + "fields": { |
| 455 | + "success_action_status": "200" |
389 | 456 | } |
390 | 457 | }, |
391 | 458 | "policyOutput": { |
|
410 | 477 | "object": "test-object", |
411 | 478 | "expiration": 10, |
412 | 479 | "timestamp": "2020-01-23T04:35:30Z", |
413 | | - "conditions": { |
414 | | - "successActionRedirect": "http://www.google.com/" |
| 480 | + "fields": { |
| 481 | + "success_action_redirect": "http://www.google.com/" |
415 | 482 | } |
416 | 483 | }, |
417 | 484 | "policyOutput": { |
|
427 | 494 | }, |
428 | 495 | "expectedDecodedPolicy": "{\"conditions\":[{\"success_action_redirect\":\"http://www.google.com/\"},{\"key\":\"test-object\"},{\"x-goog-date\":\"20200123T043530Z\"},{\"x-goog-credential\":\"[email protected]/20200123/auto/storage/goog4_request\"},{\"x-goog-algorithm\":\"GOOG4-RSA-SHA256\"}],\"expiration\":\"2020-01-23T04:35:40Z\"}" |
429 | 496 | } |
| 497 | + }, |
| 498 | + { |
| 499 | + "description": "POST Policy Character Escaping", |
| 500 | + "policyInput": { |
| 501 | + "scheme": "https", |
| 502 | + "bucket": "rsaposttest-1579902671-6ldm6caw4se52vrx", |
| 503 | + "object": "$test-object-é", |
| 504 | + "expiration": 10, |
| 505 | + "timestamp": "2020-01-23T04:35:30Z", |
| 506 | + "fields": { |
| 507 | + "success_action_redirect": "http://www.google.com/", |
| 508 | + "x-goog-meta": "$test-object-é-metadata" |
| 509 | + } |
| 510 | + }, |
| 511 | + "policyOutput": { |
| 512 | + "url": "https://storage.googleapis.com/rsaposttest-1579902671-6ldm6caw4se52vrx/", |
| 513 | + "fields" : { |
| 514 | + "key": "$test-object-é", |
| 515 | + "success_action_redirect": "http://www.google.com/", |
| 516 | + "x-goog-meta": "$test-object-é-metadata", |
| 517 | + "x-goog-algorithm": "GOOG4-RSA-SHA256", |
| 518 | + "x-goog-credential": "[email protected]/20200123/auto/storage/goog4_request", |
| 519 | + "x-goog-date": "20200123T043530Z", |
| 520 | + "x-goog-signature": "05eb19ea4ece513cbb2bc6a92c9bc82de6be46943fb4703df3f7b26e6033f90a194e2444e6c3166e9585ca468b5727702aa2696e5cca54677c047f7734119ea0d635404d6a5e577b737ffd5414059cd1b508aa99cfad592d9228f1bf47d7df3ffd73bcae6af6d8d83f7f50b4ccbf6e6c0798d2d9923a7e18c8888e2519fcf09d174b7015581a7de021964eeb9d27293213686d80d825332819c4e98d4ab2c5237f352840993e22a02a41d827ce6a4a294e84a33bf051519fdcbf982f2ad932f58714608c4b5a1f89d5e322d194f5e29fa4160fce771008320ac4e659adeead36aa07fe26a96e52e809436b7bd169256d6613c135148fdee6926caaef65817dc2", |
| 521 | + "policy": "eyJjb25kaXRpb25zIjpbeyJzdWNjZXNzX2FjdGlvbl9yZWRpcmVjdCI6Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8ifSx7IngtZ29vZy1tZXRhIjoiJHRlc3Qtb2JqZWN0LVx1MDBlOS1tZXRhZGF0YSJ9LHsia2V5IjoiJHRlc3Qtb2JqZWN0LVx1MDBlOSJ9LHsieC1nb29nLWRhdGUiOiIyMDIwMDEyM1QwNDM1MzBaIn0seyJ4LWdvb2ctY3JlZGVudGlhbCI6InRlc3QtaWFtLWNyZWRlbnRpYWxzQGR1bW15LXByb2plY3QtaWQuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20vMjAyMDAxMjMvYXV0by9zdG9yYWdlL2dvb2c0X3JlcXVlc3QifSx7IngtZ29vZy1hbGdvcml0aG0iOiJHT09HNC1SU0EtU0hBMjU2In1dLCJleHBpcmF0aW9uIjoiMjAyMC0wMS0yM1QwNDozNTo0MFoifQ==" |
| 522 | + }, |
| 523 | + "expectedDecodedPolicy": "{\"conditions\":[{\"success_action_redirect\":\"http://www.google.com/\"},{\"x-goog-meta\":\"$test-object-\u00e9-metadata\"},{\"key\":\"$test-object-\u00e9\"},{\"x-goog-date\":\"20200123T043530Z\"},{\"x-goog-credential\":\"[email protected]/20200123/auto/storage/goog4_request\"},{\"x-goog-algorithm\":\"GOOG4-RSA-SHA256\"}],\"expiration\":\"2020-01-23T04:35:40Z\"}" |
| 524 | + } |
430 | 525 | } |
431 | 526 | ] |
432 | 527 | } |
0 commit comments