diff --git a/.github/workflows/validate-response-signing.yml b/.github/workflows/validate-response-signing.yml new file mode 100644 index 00000000..40913be0 --- /dev/null +++ b/.github/workflows/validate-response-signing.yml @@ -0,0 +1,34 @@ +name: Response signing fixture validation + +on: + pull_request: + paths: + - .github/workflows/validate-response-signing.yml + - ci/validate-response-signing.py + - ci/test_validate_response_signing.py + - schemas/response-signing-v1.schema.json + - response-signing/** + +permissions: + contents: read + +concurrency: + group: response-signing-validation-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + validate: + name: Validate response signing fixtures + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Check out fixtures + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - name: Install dependencies + run: pip install jsonschema + - name: Validate response signing fixtures + run: python3 ci/validate-response-signing.py + - name: Test response signing fixture validation + run: python3 -m unittest discover -s ci -p 'test_validate_response_signing.py' diff --git a/README.md b/README.md index 3167b562..f5151ce5 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ behavior and does not need an update whenever a consumer ships support. | --- | --- | --- | | An SDK or backend that evaluates UFC rules | [`ufc-config.json`](ufc-config.json), [`evaluation-cases/`](evaluation-cases/), and [optional capabilities](#optional-capabilities) | Load the configuration through the real ingestion path and evaluate each case with the native evaluator. | | An SDK that consumes precomputed assignments | [Precomputed fixture guide](precomputed-assignments/README.md) and [schema](schemas/precomputed-assignment.schema.json) | Supply the mocked response, run the ordered evaluations, and check results and emitted events. | +| An assignment signer or response verifier | [Response signing fixtures](response-signing/README.md) and [schema](schemas/response-signing-v1.schema.json) | Check exact request/response transcripts, certificate chains and acceptance results with the native implementation. | These families have different formats and runners. Passing one does not establish coverage of the other. When changing the contract, also read diff --git a/ci/test_validate_response_signing.py b/ci/test_validate_response_signing.py new file mode 100644 index 00000000..663cda51 --- /dev/null +++ b/ci/test_validate_response_signing.py @@ -0,0 +1,78 @@ +"""Regression checks for unambiguous response-signing fixture inputs.""" + +import contextlib +import hashlib +import importlib.util +import io +import json +from pathlib import Path +import shutil +import tempfile +import unittest + + +ROOT = Path(__file__).resolve().parents[1] +SPEC = importlib.util.spec_from_file_location( + "validate_response_signing", ROOT / "ci/validate-response-signing.py" +) +assert SPEC is not None and SPEC.loader is not None +validator = importlib.util.module_from_spec(SPEC) +SPEC.loader.exec_module(validator) + + +class ResponseSigningValidationTest(unittest.TestCase): + def test_adversarial_corpus_including_duplicate_http_headers_is_valid(self): + with contextlib.redirect_stdout(io.StringIO()): + validator.validate(ROOT) + + def test_duplicate_object_keys_are_rejected_in_every_input(self): + mutations = [ + ("schemas/response-signing-v1.schema.json", '"title":', '"title": "ambiguous", "title":'), + ( + "response-signing/v1/manifest.json", + '"schema_version": 1', + '"schema_version": 0, "schema_version": 1', + ), + ( + "response-signing/v1/corpus.json", + '"expected_accept": true', + '"expected_accept": false, "expected_accept": true', + ), + ( + "response-signing/v1/nested-der.json", + '"expected_accept": true', + '"expected_accept": false, "expected_accept": true', + ), + ( + "response-signing/v1/isolated-certificate-rules.json", + '"expected_accept": true', + '"expected_accept": false, "expected_accept": true', + ), + ( + "response-signing/v1/corpus.json", + '"expected_accept": true', + '"expected_accept": false, "expected\\u005faccept": true', + ), + ] + for relative, old, new in mutations: + with self.subTest(document=relative, replacement=new), tempfile.TemporaryDirectory() as directory: + root = Path(directory) + for name in ("schemas", "response-signing"): + shutil.copytree(ROOT / name, root / name) + path = root / relative + raw = path.read_text() + self.assertIn(old, raw) + path.write_text(raw.replace(old, new, 1)) + if path.name in ("corpus.json", "nested-der.json", "isolated-certificate-rules.json"): + # Keep integrity checks valid so rejection must come from JSON parsing. + manifest_path = root / "response-signing/v1/manifest.json" + manifest = json.loads(manifest_path.read_text()) + manifest["files"][path.name]["sha256"] = hashlib.sha256(path.read_bytes()).hexdigest() + manifest_path.write_text(json.dumps(manifest)) + with contextlib.redirect_stdout(io.StringIO()): + with self.assertRaisesRegex(ValueError, "duplicate object key"): + validator.validate(root) + + +if __name__ == "__main__": + unittest.main() diff --git a/ci/validate-response-signing.py b/ci/validate-response-signing.py new file mode 100644 index 00000000..cb25c75e --- /dev/null +++ b/ci/validate-response-signing.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +"""Validate the shape and pinned bytes of the response-signing conformance data.""" + +import base64 +import hashlib +import json +from pathlib import Path + +import jsonschema + + +def reject_duplicate_keys(pairs): + result = {} + for key, value in pairs: + if key in result: + raise ValueError(f"duplicate object key {key!r}") + result[key] = value + return result + + +def validate(root): + directory = root / "response-signing/v1" + schema = json.loads( + (root / "schemas/response-signing-v1.schema.json").read_text(), + object_pairs_hook=reject_duplicate_keys, + ) + jsonschema.Draft202012Validator.check_schema(schema) + manifest = json.loads( + (directory / "manifest.json").read_text(), object_pairs_hook=reject_duplicate_keys + ) + assert manifest["schema_version"] == 1 + assert set(manifest["files"]) == {"corpus.json", "nested-der.json", "isolated-certificate-rules.json"} + for name, expected in manifest["files"].items(): + raw = (directory / name).read_bytes() + assert hashlib.sha256(raw).hexdigest() == expected["sha256"], name + corpus = json.loads(raw, object_pairs_hook=reject_duplicate_keys) + jsonschema.validate(corpus, schema) + cases = corpus["cases"] + ids = [case["id"] for case in cases] + assert len(ids) == len(set(ids)), f"{name}: duplicate case id" + assert len(cases) == expected["response_cases"], name + assert sum(case["expected_accept"] for case in cases) == expected["accepted"], name + for case in cases: + for message in (case["request"], case["response"]): + base64.b64decode(message["body_base64"], validate=True) + if case["expected_accept"]: + assert case["rejection_reason"] is None, case["id"] + assert case["transcript_base64"], case["id"] + for message in (case["request"], case["response"]): + assert [v for k, v in message["headers"] if k.lower() == + "x-datadog-feature-flags-signature-version"] == ["1"], case["id"] + assert base64.b64decode(case["transcript_base64"], validate=True).startswith( + b"datadog.feature-flags.precomputed-assignments.v1\0" + ), case["id"] + if case.get("transcript_base64") is not None: + base64.b64decode(case["transcript_base64"], validate=True) + signing_cases = corpus.get("signing_cases", []) + assert len(signing_cases) == expected["signing_cases"], name + signing_ids = [case["id"] for case in signing_cases] + assert len(signing_ids) == len(set(signing_ids)), name + for case in signing_cases: + assert case["case_id"] in ids, case["id"] + print(f"{name}: {len(cases)} response cases, {len(signing_cases)} signer cases validated") + + +if __name__ == "__main__": + validate(Path(__file__).resolve().parents[1]) diff --git a/response-signing/README.md b/response-signing/README.md new file mode 100644 index 00000000..6e9eaf56 --- /dev/null +++ b/response-signing/README.md @@ -0,0 +1,85 @@ +# Response signing conformance fixtures + +These fixtures define shared inputs and expected results for the v1 assignment +response signer and client verifiers. Consumers pin an exact repository revision +and run their native implementation against these bytes. The files are test data; +clients do not fetch them when evaluating flags or verifying a response. + +## Suites + +| File | Coverage | Consumers | +| --- | --- | --- | +| `v1/corpus.json` | 46 response cases: 6 accepted and 40 rejected; 2 private-key matching cases | Verifiers consume `cases`; signers also consume `signing_cases` | +| `v1/isolated-certificate-rules.json` | Accepted control and isolated certificate-size, leaf-CA and intermediate-CA rejections | Signers and verifiers | +| `v1/nested-der.json` | Canonical and noncanonical nested INTEGER encodings in certificate extensions | Signers and verifiers | + +Version 1 is the first public response-signing protocol. Earlier POC v1/v2 and +the implementation draft called v3 were never public release contracts. Public +v1 requires its complete request/response transcript and leaf/intermediate chain; +it does not accept the older POC format also named v1. X.509 v3 certificate +encoding is independent of this protocol version and remains unchanged. + +These vectors regenerate the synthetic chains and signatures for public v1, +preserving the earlier acceptance rules and adding rejection cases for prototype +version headers and the abandoned v3 transcript domain. The [previous extraction](https://github.com/DataDog/ffe-system-test-data/tree/32f2249d66b83b507d68125fd8cda96648ab2bfd/response-signing/v3) +remains available in history. `v1/manifest.json` records the new hashes and +applicability counts; earlier validation receipts do not validate these new bytes. + +## Running a consumer + +1. Decode `body_base64` into exact bytes. Preserve header order, duplicates and + URL escaping: several rejection cases exercise those distinctions. + `response.body_base64` contains application bytes after HTTP content decoding. + When `wire_body_base64` is present, transport tests serve those compressed bytes + with the supplied encoding headers; direct verifier tests use `body_base64`. +2. Supply the fixture's `anchor_der_base64` as the local trust anchor and `now` + as Unix epoch seconds, converting to the native clock unit when needed. + Use this fixed time even after the synthetic certificates expire. +3. Verify each request/response pair and assert `expected_accept`. For accepted + cases, compare the constructed transcript with `transcript_base64` as well. + `rejection_reason` describes the violated rule; it is not a required native + exception string. +4. Signers additionally load each `signing_cases` credential and its referenced + response case, then assert `expected_signing`. Clients exclude these cases + because they do not hold signing keys. The nested-DER supplement's credentials + let signers exercise the same accepted/rejected certificate boundary. + +The positive cases include leaf rotation and a later intermediate under the same +root, without requiring the client to have seen earlier certificates. Negative +cases cover unrelated roots, invalid chain profiles, expiry, changed request or +response bytes, malformed proof headers and signature tampering. Each response +carries its leaf and intermediate; verification requires no certificate fetch. +These fixtures cover buffered response proofs, not a signed NDJSON protocol. + +Native adapters, secret-store access assertions, fail-open serving behavior and +implementation-specific diagnostics belong in consumer repositories. Keep these +fixtures independent of those adapters; never derive expected results from the +implementation being tested. + +## Synthetic credentials + +All certificates, identities, tokens and private keys in this suite are synthetic +test material. The included leaf private keys are intentionally public so signer +implementations can be tested. They must never be trusted or provisioned outside +tests. There are no production or staging credentials or customer responses here. + +## Validation and updates + +Run `python3 ci/validate-response-signing.py` with `jsonschema` installed. It checks +the schema, exact fixture hashes, case identities, references and applicability +counts. It deliberately allows malformed proof/certificate fields used by +negative cases. Structural validation does not prove cryptographic correctness; +run native signer and verifier tests when changing this contract. + +Review expectation changes together with the fixtures and update the manifest +deliberately. Do not reformat signed body bytes, regenerate keys, or normalize +headers during import. Follow the repository's [consumer pinning +rules](../CONTRIBUTING.md#updating-downstream-repositories). + +The isolated certificate cases retain valid certificate and response signatures. +The oversized leaf uses a noncritical DER OCTET STRING extension for padding; +the leaf-CA case keeps leaf KeyUsage and no path-length constraint; the +intermediate-CA case keeps CA KeyUsage and path length zero while omitting +the default false CA flag. Each negative changes only the named profile rule. +Consumers must explicitly load this supplement; a manifest entry alone does +not exercise it. Its leaf credentials are public synthetic test material. diff --git a/response-signing/v1/corpus.json b/response-signing/v1/corpus.json new file mode 100644 index 00000000..d9d1a95c --- /dev/null +++ b/response-signing/v1/corpus.json @@ -0,0 +1,3906 @@ +{ + "schema_version": 1, + "profile_sha256": "a32c6919d1f730b076994f89317ef441fa4c4b4556c093edf0216632a882f783", + "synthetic": true, + "anchor_der_base64": "MIIB9TCCAZygAwIBAgIUQmfdcyqdry8YfhE+hvwNjHlpk4kwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MDkxMTAwMDAwMFoXDTM2MDkwODAzMTgwOFowRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAvmRtWpy01JOlef99amBe3hVi6PFhaxsx4X07KlFMwnqKI3u7cuub0E7PoAIbE9eoXwoCfteUWlogk9y7lxyS6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFIK0DwksM2iEGrA4Vc2PJKmgK6b7MB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIFkx4k1mNISsliG06Ixs9s4WxyeTMqmX9/5Xg8vZlgMUAiBNIJGrAMJeC0cAXu/jeAlQSqnLkue/hS8pES2PIkf+8w==", + "cases": [ + { + "id": "valid-current", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq3/eQAAAAAGrf+LwAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJRcItIW5R3g9HUNvRJ/XL7q3vK8O0JsuV1oKrzIjJIQuK5IXeXBsvfM61fHg4wyYFpic/Ia2/EMmSIZ43j2NQqw==", + "credential": { + "version": 1, + "generation": "valid-current", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3CTaM180jSh+DN3yEcdUy5NiXg9uiqIbKMXo8tIQfxmhRANCAARaDtotVSlwOC7NQIAf4qDzIzSW8SMsy1Urpmz23gC13FvbhS0QL7EwIdl7kLrQ+Xdnz9sH/szvPtBiGRa7OyXg", + "certificate_der_base64": "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==", + "intermediate_der_base64": "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + } + }, + { + "id": "valid-rotated-leaf", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "b084e174f44268eb20c9c57c8b657043" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUbbxT5F1oO8a622lOub/ZuFM/CicwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyODAwMDAwMFoXDTI2MTAzMTAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJor0Q5yD/5eZ0R3aG9ExYfqrd7tA1QdDMJ2yINXKWNeky1tiUPo3GMKxeamrh6Sx2XhTPyRTxjDyzLVlfSuFQijdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBSxz84fQhhH4M9rSLgGSmAtkarVFDAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEA1wf5UGnba0g/Kiznp2Se8q5eH3YB0oeOnxNiUzxJEOYCIQDVG7cJO74duQe25Z6/VMI/St0mqNrmvFUmoHjE5uUplg==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "cf4d8ddea4eb7488565aad4a8972f54eb14667b3bba101cad62ddec7a78df150" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793149200" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793149500" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIQCq4s0R1CNG3jnRd/b5oz3OwQW87duBI+off+4UM0W3lAIgUfc5rIKlrpBUgjlfHYImStzEH55aGZmKxv8pJEFQPaw=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793149200, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAELCE4XT0QmjrIMnFfItlcEO7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq4UkQAAAAAGrhSjwAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJz02N3qTrdIhWWq1KiXL1TrFGZ7O7oQHK1i3ex6eN8VCK5IXeXBsvfM61fHg4wyYFpic/Ia2/EMmSIZ43j2NQqw==", + "credential": { + "version": 1, + "generation": "valid-rotated-leaf", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgwC/wEAvEHp17U5iE9eBVoTZTRKZG21oZSpbTGLDFW3ChRANCAASaK9EOcg/+XmdEd2hvRMWH6q3e7QNUHQzCdsiDVyljXpMtbYlD6NxjCsXmpq4eksdl4Uz8kU8Yw8sy1ZX0rhUI", + "certificate_der_base64": "MIIBwjCCAWegAwIBAgIUbbxT5F1oO8a622lOub/ZuFM/CicwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyODAwMDAwMFoXDTI2MTAzMTAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJor0Q5yD/5eZ0R3aG9ExYfqrd7tA1QdDMJ2yINXKWNeky1tiUPo3GMKxeamrh6Sx2XhTPyRTxjDyzLVlfSuFQijdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBSxz84fQhhH4M9rSLgGSmAtkarVFDAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEA1wf5UGnba0g/Kiznp2Se8q5eH3YB0oeOnxNiUzxJEOYCIQDVG7cJO74duQe25Z6/VMI/St0mqNrmvFUmoHjE5uUplg==", + "intermediate_der_base64": "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + } + }, + { + "id": "valid-2032-rotated-intermediate-no-history", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "ec61af9e519a35c38a1e2171cc461a56" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwTCCAWegAwIBAgIUELzwFGNXZgLkQw4JTzbWZU9xKsQwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDMyMB4XDTMyMTAyNzAwMDAwMFoXDTMyMTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKLQ+uG6YnviGgd69e5UjzNH7wOXELWuE55W7Gj1dB3nebFMpzkPD2da7yt6krkOiome9eeW5kbCXjvE5W5TOSijdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBRqkRAgOB6L04PmS7QvyUSU6UkVczAfBgNVHSMEGDAWgBTgfi7nbPGJ/PkdeLXNeS2REcCq5jATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiBDUlLKHbgfcHfJI+f+fYQmX1ULCH1pW1rUt2/Tph2bqgIhAP7OCQiHespuBPI++IPo78YahJkzqHgHb56gichcwC7q" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1TCCAXugAwIBAgIUPuerTobptaJ/3XUE2PJiVuugBZowCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTMyMDgwMTAwMDAwMFoXDTMzMDgwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDMyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7Mk0KeIDxf851NPhhiw77R4jF45W4wdxFCbsttSWvv+i2XQXpbGPrXX0NK1HoLzvzb8XDfYp403KsUGPlb/n7qNmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFOB+Luds8Yn8+R14tc15LZERwKrmMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0gAMEUCIQC8jGuYxrpN6/HynW9uE1LGnvyILs4vZ1W20NuN+jlPigIgQ5LjnsplGtwbkGQPUEMZalz3ZM1d0cZHWfv+t5yvIF8=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "3fac7cf4052f56246f58d4422fb163a5acfafc336dc73291af0f4003da157dd6" + ], + [ + "x-datadog-feature-flags-issued-at", + "1982451600" + ], + [ + "x-datadog-feature-flags-expires-at", + "1982451900" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQCLIyP9lCVEqhrfcepTbsUp3Pk3CvdQ6utsdbuAZaGwEgIhAIjDNHBAWbl48IFPDT5hKV/h2pInNlgtpTPG50OeCFVM" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1982451600, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEOxhr55RmjXDih4hccxGGla7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAAB2Kc+QAAAAAHYp0LwAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJP6x89AUvViRvWNRCL7Fjpaz6/DNtxzKRrw9AA9oVfdbsrwZDVu1DbcPUGCPr+3U9ajZ72TmVotSFkuEUgmVJHw==", + "credential": { + "version": 1, + "generation": "valid-2032-rotated-intermediate-no-history", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgC6muD4mmxVRTtVOBrzBPgiAUnq+Ow0H/KOBkjszlUcqhRANCAASi0PrhumJ74hoHevXuVI8zR+8DlxC1rhOeVuxo9XQd53mxTKc5Dw9nWu8repK5DoqJnvXnluZGwl47xOVuUzko", + "certificate_der_base64": "MIIBwTCCAWegAwIBAgIUELzwFGNXZgLkQw4JTzbWZU9xKsQwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDMyMB4XDTMyMTAyNzAwMDAwMFoXDTMyMTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKLQ+uG6YnviGgd69e5UjzNH7wOXELWuE55W7Gj1dB3nebFMpzkPD2da7yt6krkOiome9eeW5kbCXjvE5W5TOSijdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBRqkRAgOB6L04PmS7QvyUSU6UkVczAfBgNVHSMEGDAWgBTgfi7nbPGJ/PkdeLXNeS2REcCq5jATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiBDUlLKHbgfcHfJI+f+fYQmX1ULCH1pW1rUt2/Tph2bqgIhAP7OCQiHespuBPI++IPo78YahJkzqHgHb56gichcwC7q", + "intermediate_der_base64": "MIIB1TCCAXugAwIBAgIUPuerTobptaJ/3XUE2PJiVuugBZowCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTMyMDgwMTAwMDAwMFoXDTMzMDgwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDMyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7Mk0KeIDxf851NPhhiw77R4jF45W4wdxFCbsttSWvv+i2XQXpbGPrXX0NK1HoLzvzb8XDfYp403KsUGPlb/n7qNmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFOB+Luds8Yn8+R14tc15LZERwKrmMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0gAMEUCIQC8jGuYxrpN6/HynW9uE1LGnvyILs4vZ1W20NuN+jlPigIgQ5LjnsplGtwbkGQPUEMZalz3ZM1d0cZHWfv+t5yvIF8=" + } + }, + { + "id": "valid-effective-token-and-authorization", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "978aa8a4db6c2abc2b02d25f5ae1f209" + ], + [ + "dd-client-token", + "synthetic-overridden-token" + ], + [ + "authorization", + "Bearer synthetic-opaque-value" + ], + [ + "dd-application-id", + "" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQD1xqwACO9mhmGZhrcZqSIKNcR9DCFEAbumv39iXZZZ8QIhAJM1QASAfflzBR1vgnjl00ANW+XU4rIIFDgcWDG2JXJy" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEJeKqKTbbCq8KwLSX1rh8gm7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh8Q8ICUwTvIr1x0EuMyLFsMcYoDPLjOM+HbOot30IzBxAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAAAAAQAAAAR0cnVlAQAAABNyZXNwb25zZS1zaWduaW5nLXYxAWei0CtlNcV8HrSmyHb7oVR2HhX8LBssttu2KRTUEJRwAMgAAAAAat/3kAAAAABq3/i8AAAAAAAAAGwY6KNgVa7BQb7G+/5J3ZFrhCboCXJAROsfMjXR6jRFSUXCLSFuUd4PR1Db0Sf1y+6t7yvDtCbLldaCq8yIySELiuSF3lwbL3zOtXx4OMMmBaYnPyGtvxDJkiGeN49jUKs=", + "credential": { + "version": 1, + "generation": "valid-effective-token-and-authorization", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3CTaM180jSh+DN3yEcdUy5NiXg9uiqIbKMXo8tIQfxmhRANCAARaDtotVSlwOC7NQIAf4qDzIzSW8SMsy1Urpmz23gC13FvbhS0QL7EwIdl7kLrQ+Xdnz9sH/szvPtBiGRa7OyXg", + "certificate_der_base64": "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==", + "intermediate_der_base64": "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + } + }, + { + "id": "valid-gzip-application-bytes", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "f761d583fb7db3d9fb7c9d61ffea04fb" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIAs2gaOYJe4m9gOvcivU0WVJs1JI+DWTG+a2T6pCcFiIAiEAxKjjrtPUrDYD3rCy9gSLs28Y6u1s/01Z47foFgcOcAk=" + ], + [ + "content-encoding", + "gzip" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9", + "wire_body_base64": "H4sIAAAAAAACAyXMwQnDMAxG4V3+c3Lo1WN0A9WVEoFqg+UYgvFAnaOLxSXXj8frEKPNETpi0aqRbH3zJ/+hUVGqmhMCsgiWKXYwgpA5j7GgHMb+5KZ+V36muvO8rOUxc6MX2+RI8vtiXPbTAXRsAAAA" + }, + "now": 1793062800, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEPdh1YP7fbPZ+3ydYf/qBPu7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq3/eQAAAAAGrf+LwAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJRcItIW5R3g9HUNvRJ/XL7q3vK8O0JsuV1oKrzIjJIQuK5IXeXBsvfM61fHg4wyYFpic/Ia2/EMmSIZ43j2NQqw==", + "credential": { + "version": 1, + "generation": "valid-gzip-application-bytes", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3CTaM180jSh+DN3yEcdUy5NiXg9uiqIbKMXo8tIQfxmhRANCAARaDtotVSlwOC7NQIAf4qDzIzSW8SMsy1Urpmz23gC13FvbhS0QL7EwIdl7kLrQ+Xdnz9sH/szvPtBiGRa7OyXg", + "certificate_der_base64": "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==", + "intermediate_der_base64": "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + } + }, + { + "id": "valid-ipv6-and-absent-optional-headers", + "request": { + "url": "https://[2001:db8::1]:8443/precompute/assignments", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "a4d64860448a5590839bca5da9145485" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIBAXoWE/r3pVjS1VgSHkb0M5guk3rXcJ4J70gzKlXyUiAiEA0FAFPL3pOFgWXNqdMiHjQe08D9fZntc5kCTiiXyksxI=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAElsyMDAxOmRiODo6MV06ODQ0MwAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAAAAAAAQpNZIYESKVZCDm8pdqRRUhbtFNiQ2aDDsic8G9+jVrApunQq/2rpJ/EIfKA3ilyeH/o2DxNwE/POvEX9MM4v972AXEbsXHBmGt+Pv3bnUB08BAAAAEGFwcGxpY2F0aW9uL2pzb24AAAABAAAAE3Jlc3BvbnNlLXNpZ25pbmctdjEAAMgAAAAAat/3kAAAAABq3/i8AAAAAAAAAGwY6KNgVa7BQb7G+/5J3ZFrhCboCXJAROsfMjXR6jRFSUXCLSFuUd4PR1Db0Sf1y+6t7yvDtCbLldaCq8yIySELiuSF3lwbL3zOtXx4OMMmBaYnPyGtvxDJkiGeN49jUKs=", + "credential": { + "version": 1, + "generation": "valid-ipv6-and-absent-optional-headers", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3CTaM180jSh+DN3yEcdUy5NiXg9uiqIbKMXo8tIQfxmhRANCAARaDtotVSlwOC7NQIAf4qDzIzSW8SMsy1Urpmz23gC13FvbhS0QL7EwIdl7kLrQ+Xdnz9sH/szvPtBiGRa7OyXg", + "certificate_der_base64": "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==", + "intermediate_der_base64": "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + } + }, + { + "id": "unrelated-root", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "b3af7f5ee6238788725f7994369aea7e" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwTCCAWigAwIBAgIUNSnieC/lr1+SySpX3qFmltip1JUwCgYIKoZIzj0EAwIwJzElMCMGA1UEAwwcU3ludGhldGljIFdyb25nIEludGVybWVkaWF0ZTAeFw0yNjEwMjcwMDAwMDBaFw0yNjEwMzAwMDAwMDBaMCQxIjAgBgNVBAMMGVN5bnRoZXRpYyBBc3NpZ25tZW50IExlYWYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARcE2mhNdQh/k60iz/gwYRgD3fokpfPRHY71cnDC3qUdInCQSMyDFcy7qpZma5TgQtDyxPVELoYX2cruXPkPJl7o3UwczAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUU6ZXP4KRvaEMJ9U8xY7RphbeiVowHwYDVR0jBBgwFoAUKR7SpwWRm1+g/VdCsO7aVB26NtQwEwYDVR0lBAwwCgYIKwYBBQUHAwMwCgYIKoZIzj0EAwIDRwAwRAIgbyYGQcIFX1DcxFo54Ykh9iIuvdoDMpz/nkOi3kewrvECIGTe6xq2uK215tyaZMHdPEmr5ziy1EEk+jxFffSSkT2m" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIBsTCCAVigAwIBAgIUaeod8AKuaJbjjboA/CcCw/nrxEIwCgYIKoZIzj0EAwIwIzEhMB8GA1UEAwwYU3ludGhldGljIFVucmVsYXRlZCBSb290MB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJzElMCMGA1UEAwwcU3ludGhldGljIFdyb25nIEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABI98J29jBUK2Cw1AiuTBAi1q3wlaMnKTh/QVvCqnomcAvLcKqK0nRvgUlz5ami5y9FejNb+xSRUDH5IVhVpLxJijZjBkMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQpHtKnBZGbX6D9V0Kw7tpUHbo21DAfBgNVHSMEGDAWgBSGLmdOWQCk6VNv34Z/MrGD56e8wTAKBggqhkjOPQQDAgNHADBEAiBD+8k3LfXdZT9dDKuvd6eUVnUhdaNIK+jMPkj24Gv1SgIgCpNoLLEVq70TDtD8DAxtcUJuTGyzQ/EELuKLULoadXY=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "58525b25bc94e658a751d51bfc84463a80c8596633e394e7d20aca3a35e5ffdf" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQCCxhskwSMt5i+toRPke2sfrw/0eIyvdw8/4Et+ygKKOgIhAJ90XWtg/E9VyogRKrMFGiDARkr9bt2xun7E0w8SahLn" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "chain-root" + }, + { + "id": "direct-leaf-under-root", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "0e8289ef86c04552d8a8a14238a628af" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIB4jCCAYigAwIBAgIUYIfR0WvsyOBVFMXhQgCC5jmnBVMwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBrJ7/DDvElwApEqI0gN84BmNy15yrpMEZlf1qmHB3K9ATRORw20AVhA83D63wtt2kLAiEfN+IfA5zelAdDRyuSjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBQ5ijDvmIYjuzsNmBK1xZp1N9CaRTAfBgNVHSMEGDAWgBSCtA8JLDNohBqwOFXNjySpoCum+zATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiEApXGUQlPjvdK9Ivilpa2vcs6oB4fee4GLRu+49D1qQrgCIBImHWPCj1TDlZYC4sUzcHpLyj2JBV0bC8bjc2G8kV8d" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "2b34e67e464c65984be02e70f0f097a337a8bb4558ec7fe0f7dbefca2805da91" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQCWFDwkpVCs1f6dxUaznhfxtXhwVBVlBYnusbv7Qfph+AIhAOMhMqn1XHw8F8GqwSe+9igpggD21VhBXA/2qFgnvKdW" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "chain-link" + }, + { + "id": "expired-leaf", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "010af83c18b7d379c974a1b5777a2942" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUP471IdBbxQuvm51RQ+tJ60yKNREwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNDAxMDAwMFoXDTI2MTAyNzAwNTk1OVowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFHMLt22A1atapOo7ttDTZBTRdY7D7pxv9oJOPDn0iOwO7qebd58ejLEFBGWhPyOCTdXjvYxER9pFOEUUCql5wmjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBTOZeOOjXOC6Zgs/pX4epx7Ym7UrzAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEA6fdFGKCEf/ps/Vy7gNXWUMj1tPSaFnxdRia/l1sWo9cCIQDSTCbXL6sDXmWETrTuqmsC2Z406PruucGbS5viOH/aLA==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "2aa858bace1a5117edd7635cae459f22e35272344a7d66a3ceaf2abfaa4b7baf" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQCxZbqnWeYUdZpfsBQT21qCoS8W5ojSXUaHKg4YPgA2AwIhALxwsGksh6poPMgX8ZFEUrv7lVMhKGyY9OFWs6VCrp/v" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "certificate-time" + }, + { + "id": "future-leaf", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c72c65bd4026fa000618d359a02851ed" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwTCCAWegAwIBAgIUNngD5VRqFvvITVgbnSFXxS5H1jAwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAxMDAwMVoXDTI2MTAzMDAxMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKJ6NzGdJp9aH6XZbn60/YGgMYGFQIZj7jCgaJxl/0FWckt1MkRbLXvj29ddE0ZZo9hZbzn0l34GpEfMI04Vr5yjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBRtdA9u0ydqWoezzKYRPPVpB8i9dzAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiBb5Ck0qEKb0mvd+zZa5R+Ia37w79HVB+GDHLpNkADyFwIhANeTH/jzPkYx2TzZKtg3z9PEo8LFQrhgf1jfBL3OJ7Y+" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "330eb5c3438a6b9abdfecc90c04d98a845eb9afda7d04f64a823275a05a2d75c" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQClzJIkNmkYd1whftbB9dlOLg8MBpuVzPeVFafWnX5FlAIhAKaxgKDUiWLG6pNNWJzASPW6nn0FCg3sXHKjFhY6n2ni" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "certificate-time" + }, + { + "id": "leaf-ca-true", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "71fce3a2123581ff2d96d741f8ec97ac" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIByDCCAW2gAwIBAgIUCmLAE6HQivvTntDvMbq7wpqtWvUwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJWcvmBJkMaMEkukp55SjQjRmj85pl5RF/7gB9frHzGI2TdZLSACnuzjrh049Yej4N1ZEmEeacs9qYzFPR0IePejezB5MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTNJzFEK0d52f9tbcxyILY7K2pk+jAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAgArTas2GlLNP8t/9HKPvChSEErIdl7xogH5/89P+ibICIQDUk05P3yM455R0ebalB/4M9UCyVPGP0ztJZpISFboAlA==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "96c2b5c3acd536df0aab7a5812d8c8053094f52fd6e4770d364502c6ac0442d8" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIBbTfossIOLuB0mIYFIuuXaqQoiiJ2oa+RLmbEFwSh91AiATJbPUZyiV66mIM2+ZLADmIXOlqMq+zndzTUoBxVfSHQ==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "leaf-basic-constraints" + }, + { + "id": "leaf-wrong-key-usage", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "ff1e84b2cc4ef66c975cbdc0696ffbf4" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUB7euD87CbExMn9wWKxFplRgrjgkwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEFSMbdya3NWK7bNqo5nym8Fy75zQMt6nqPJrGS4w7fjC1hPpizxZQ2EBy2XguTeNmaoNDEhAtgjmox+huEOYE2jdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBSWEQboBSHVxiacRn6de23RqWC+ojAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAuFqnzKkWe3RChUOz9q7wXZQl8Zndq/iwJURvD1JY/XoCIQC8oSGmnx4nh+z2MU7VAp3J5z2ztuWMq0FzvtiDkwMjwg==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "aa89ca53c8c2c9e66e67b344789b7a6a526a18951d784c34601329ab6a9dafc8" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQCrCEfBj9R1ghDomUoWPGK8rFEDZ45oYjO4k2sWE80nhgIhAIIi1N52/IxvoRzO4Trj+WT3onkC9D2Dix0AFtluvPu/" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "leaf-key-usage" + }, + { + "id": "leaf-wrong-eku", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "97d70c3e4d1b5f9fe3998734bef1af52" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwDCCAWegAwIBAgIUXkunTy2WAMJdJJelARxx2OSuLyEwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH15T04fOBVi6o6bTPQJv+Oo5/ZnrjI1Mi9LruZ6nA1ko1sxwJup8cFxL8uXWM5lGMnbNBqxNMXAn+nVb1cGbL+jdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBSaYOURMyjEqHxJebzg9J2F+WiN7TAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDATAKBggqhkjOPQQDAgNHADBEAiBfEDnYPzp4qePWnJ7xqjRp8ebcVqZFO/y89SG1o6LTXwIgCWcJBuPEBSTjJ+gbO1H7kJ8HOA5M+fA7iWBTzseQvwg=" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "9393ba9d2c0145915f252190454710fd54e670549948cab1e1ced7936caf578c" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIGwaLhvYnBGapsVtb1zdZXVHEcknrrijuqfiKBMSttnxAiEAsNBSW8oaWbYTRyJmRzZi2lmdoHorghhukCSxVVIO6a0=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "leaf-eku" + }, + { + "id": "leaf-unknown-critical-extension", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "e43ef752cb2a4faf58a916d26629df6e" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIB1DCCAXqgAwIBAgIUAr+wnZ8YHJbZDn/WcFSdPvvH98owCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKIYbyEYqturrj00tWuUph4+JaXgLgrS4jEE0CyotrdNSkah3R9M/1T5NG5vdbwZOaM92FdMTjTBd/XKL7fn1fWjgYcwgYQwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFMrc7p3+9P+iIO0kZFm00gILuuYyMB8GA1UdIwQYMBaAFGflQq+p4fra5WqIDdjQE7XLbnlEMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA8GBioDBAUGBwEB/wQCBQAwCgYIKoZIzj0EAwIDSAAwRQIgR+JG/PmiLKRvhN3foK4VSbXNH740nBhtrXYa6NF8SJICIQDtkjyDdxZUciP/TyALVZcOB4Xo99mNoCwFNyLhCX/fjA==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "238dbeae944be5435f22b6b47033de06ab849aedb9dd3bd34f3da6d191e41dc0" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIFORPhE2OBRvUMbgDU2eUdYAN1Bx0O3vBqfNpjgepY1LAiAVC9juuKnmWLC8sgngi9FVruXUFPc21wBfSxw/LGmGGA==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "critical-extension" + }, + { + "id": "leaf-issuer-name-mismatch", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "f605458fd30d1e49d8e0399b26946802" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBuzCCAWGgAwIBAgIURTKZsCAsU5WA+VhPf1/TH3lOD/8wCgYIKoZIzj0EAwIwIDEeMBwGA1UEAwwVRGlmZmVyZW50IElzc3VlciBOYW1lMB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJZWZjau4nyJ3mwoRPUXh+CjrGCitnZ5cUCL/luMBZZmiLofc4A3PwnAQnfkLEiW9hVZpLXYDCn3zDZiIPQfvEijdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBQ6xnA6AVxqU3GFNNofa6zXXszz+jAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiEAhEWnIBC22/Ikk4yeqbYlGh3TEIMvWPrBzaZJfR70wBECIFsIUQB0cjMAlZ7sikhWm5PVehIWMGdPSqB0VBu5y9zJ" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "5dee23817f349b8d86b4bb4c3bb5a3f958cd5342019edbde9bc31fcf5d83e31d" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQC3erenjRqo2EujO0nHoDeuF49/onreKl2IUMNrpDuqywIhAJL9O+06Kk/Yh3kp3qq/Dp788P3FTTkL16OZrV5MTcxI" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "chain-name" + }, + { + "id": "leaf-aki-mismatch", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "73d9950b53f669d2fe992ecede6c53fe" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwTCCAWegAwIBAgIUGQ3uc5UY6XIw8bdXo80PqXilkgMwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHVTNzL2wSY4FaAtC8uErCtCedZGMxiuBMlpnziRhMjxzo8ATTo1+TFARIdS1sgSiZdltAASMdSarqchSc4SRdOjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7iRlzVm2pfryKPG6GwDYNq315kjAfBgNVHSMEGDAWgBRCQkJCQkJCQkJCQkJCQkJCQkJCQjATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiA8YtN37DLiBirhuFFda/ahkm45RuVFbc7tVG7dbiwl0gIhALjC3WsA6BiRyRGfF3S7clPW+aADZ/5t4MpnCyIzv1SI" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "c64c33d5fc16fbcb8d748d9d3e1fe21db53cf0408ea996b9e91e4d920881fe17" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIB2JBQQsZwztn7xomgeIk4FHa+gt2VabEXbYby5IrUnxAiAc7O1QrCGPT3gHl4GhupSpe8NrmDtSHCxlDQ/6RmLDkg==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "key-identifier" + }, + { + "id": "leaf-outlives-intermediate", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "0a6a05be529531595c84b49deea9520d" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwTCCAWegAwIBAgIUcrxly1TRhGY8dy685AU/aLUjrHEwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI3MTAwMTAwMDAwMVowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNaE9wwolmfopBYjFsGKi8zk9n+JBXFQU1o4fpm8WbwymKJLx5zxgZTyrCQqxVS7DuvmLxPun9JMJaF8S5Kn/lejdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBRXA90Qkl6BIfyOcrKKA0vQ0vrSZDAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiAbBqSXnqcG5QmbxLyl1BdfPV9BPyfHOW1v60KM8Fpz2AIhAPDtKfAcRSoYO2LAV/3b7YkgbzHjRei3Ug6vVoRm2LqC" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "d8c9a6389cb315b72852cfd8db09c9075120e356e3247b141fdef412260d33c6" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIGCqpqbwBvlhcOAKqUnUGnl853i0VzL2BUaJz3gICEc6AiEAk5EDQUo0DqgSbXX3/J1fn2Mbt5iuMM5FjOJfo/3O2Oc=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "validity-containment" + }, + { + "id": "leaf-unsupported-name-constraints", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "b824bd8d9693f2aeb5b344eb33e1c540" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIB5jCCAYygAwIBAgIUW1cXjMXRVr7Bxh357EgFRJqHkJQwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIqzX8XUQe+w4DphiwTMa1EQFiC8w0kA3v79jFeOrjhqmOAPA1peVF5oeLPHq6nN958fmchBZ9CixWBQmHDLzQWjgZkwgZYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFLp1pvL28lQEYe7hpNrxFc9TY1I0MB8GA1UdIwQYMBaAFGflQq+p4fra5WqIDdjQE7XLbnlEMBMGA1UdJQQMMAoGCCsGAQUFBwMDMCEGA1UdHgEB/wQXMBWgEzARgg9yZXN0cmljdGVkLnRlc3QwCgYIKoZIzj0EAwIDSAAwRQIhAPdGHoWwJEtAidIUofBA50A9JkoMI3gsLzH/SjHQc0bWAiBUJYyVAb1F8F40X3jx3F5x1NDQ2rHw7vtCMYKEQrGa0A==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "9e2d0758617cd73314a5092fdef33af82a30463be2c7dc956a8e164954dbf789" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQDjjeouGWrkJdtqr7YsjjrAd6h7JB62+n/Rys6FshKExQIhAOlrp4yVLAG9ln7xr0BZL+FoWU49h8zBy2AAO+GwOu/I" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "unsupported-constraint" + }, + { + "id": "intermediate-ca-false", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "e61d0ff7f8ca1dabcb2e2d40c32f55aa" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBvDCCAWGgAwIBAgIUfWB4XKjBGNjLQ13GQe8ZbOs8gQAwCgYIKoZIzj0EAwIwIDEeMBwGA1UEAwwVaW50ZXJtZWRpYXRlLWNhLWZhbHNlMB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKUcKWvOMt7BKVaXDRh8MB2RkUJK/SjrbbaewtXhjM2ZZJLSpSKbhsOd0f8qgw91AQlNtLkTFdSEbUD43VjU8ZqjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBSThhKE2loKZCGPX+bs/NcEX/XCSDAfBgNVHSMEGDAWgBQQwUBIGRKVlhA3efw/v5vlcyOhczATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAwppjAvsjrJ4S0IIXv7LKgQGIyaMqLjL56T9C3H1qTbYCIQCA0S1Q4yGGU5+TVeW3SkTXEhAI7RuSZ90/fCRVUSkv/Q==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIByTCCAW+gAwIBAgIUQLMEkxHZi64K2aBQF/wvti5ImcwwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowIDEeMBwGA1UEAwwVaW50ZXJtZWRpYXRlLWNhLWZhbHNlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEI1Di9d+74TGkBNkbg/11Sbe3KxfedKiGAm5sqEL3xatSDYfFLpkx1VuqwKxuqRxO+sW97AqcUw7wpz2jt6gh7KNgMF4wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFBDBQEgZEpWWEDd5/D+/m+VzI6FzMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0gAMEUCIQCCvCFXyJswbQ/qUf55afqOK35JAgcBMFVPKOEhW6WsIwIgQXS1WBsT63PVMQpMHbgMuezUSdjfzHdx8kq/qKXzXeo=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "5919631fd5b1cfb80c5f307c7826c7200ec07bb412239cb0b3dc0d30456b2669" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQCoMJRHO9b6AALuqnc6tNf2+D378jy/M2jxKkWReU4rNAIhAJ6zZiH09UIP0puxyfiBqFadPhnpQhdOjG8ISuOg9ySN" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "intermediate-basic-constraints" + }, + { + "id": "intermediate-pathlen-one", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "8580b6e8e400bcc46dafe62e0d80d346" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBvzCCAWSgAwIBAgIUKsKYORTlHZEeWEQ+ZQzoTGJ0sFAwCgYIKoZIzj0EAwIwIzEhMB8GA1UEAwwYaW50ZXJtZWRpYXRlLXBhdGhsZW4tb25lMB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJuLgYlGrxkSkD+xmUrB/J/73hwyhebJVVY0HzpC6zx2XSxu7lqGsbxNx6cINX0kc/2gWpdKwnQstV4wShRpkeSjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBTcztUSal+XslkaQT4iyS2KZ2GjXjAfBgNVHSMEGDAWgBRmPg3PijuE+CNf9zc+KWUKqwHMVzATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAi1RF9OQU7H1zvrTgYcS4Q8heFoYBOHG2e30ixdrSykYCIQD34ekgAiAwRlIcqugnN7cbM+rip9PvqyIg43fLXNlthw==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB0jCCAXigAwIBAgIUK5qPEd3PoiOLb6FbxdjsZAWeyXgwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowIzEhMB8GA1UEAwwYaW50ZXJtZWRpYXRlLXBhdGhsZW4tb25lMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6fy74J25gHAlI9g1HbuIVc8WmipKY+iJgipvWUouwZ+jOD2h70yjD2fevfR/mJcZdDtDNgejNrOVJ3Wjk0qSRqNmMGQwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGY+Dc+KO4T4I1/3Nz4pZQqrAcxXMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0gAMEUCIQDq8gGW70uoFfef1kLvaR8j4JEDfo5zaoCU2C+csMhv7AIgcOZ3CDZ3LomXoFt9HY7PNg3E84jq47OViwbnM8CgbLw=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "a3c3b95c29d220cc8a0b8c97e03bfce362b30d3ae27aa050dfab2e96d91ae05a" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIQCfveMF4xSDCfqVjakyhBVnuP2QsKX/iw5grlJeinjQUwIgVaCe9tzTiPUl9IPVo8a/yTU7RMhRNkqFSfpCe32Kup8=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "intermediate-path-length" + }, + { + "id": "intermediate-ku-missing-crl-sign", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "8c88e64d5e0f02037e96b7c975cae16d" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBxzCCAWygAwIBAgIUbIKxxug5TMzREcl58m6kcG/kyXgwCgYIKoZIzj0EAwIwKzEpMCcGA1UEAwwgaW50ZXJtZWRpYXRlLWt1LW1pc3NpbmctY3JsLXNpZ24wHhcNMjYxMDI3MDAwMDAwWhcNMjYxMDMwMDAwMDAwWjAkMSIwIAYDVQQDDBlTeW50aGV0aWMgQXNzaWdubWVudCBMZWFmMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+J4cSUk3X2So01ZrEik9Jgqfpn2R2ON5Zp8hMnJ4MkboFqm1xh/KB6HgL3fXeciY2Bq7bD2Llv44LFp+/JZgmqN1MHMwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFN/pCF+LkAk+jcoI728SwS7teuHNMB8GA1UdIwQYMBaAFAokz3roNhmlo4bMKXCBpZCX0UdNMBMGA1UdJQQMMAoGCCsGAQUFBwMDMAoGCCqGSM49BAMCA0kAMEYCIQD2sjpBCdNIUtlN7nmdXqGFRnYz45dFNZY63I8ZjUeUfQIhANc4tcPqNb9JGd832FH6lFxWXENaJC2fEv4B8qcT72iP" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB2zCCAYCgAwIBAgIUHYY7GZ2V/GhHcmwOAVZA2HJhrEcwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowKzEpMCcGA1UEAwwgaW50ZXJtZWRpYXRlLWt1LW1pc3NpbmctY3JsLXNpZ24wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATqEwgz0qSySbSHK3MiDz97yLYZwa/PHg29TxTqMJ+YsxxQ6At4YxdLKrdv62jIi0PSQqvmAR4vv31zkOZDoLDno2YwZDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwICBDAdBgNVHQ4EFgQUCiTPeug2GaWjhswpcIGlkJfRR00wHwYDVR0jBBgwFoAUgrQPCSwzaIQasDhVzY8kqaArpvswCgYIKoZIzj0EAwIDSQAwRgIhAMAwXMrMYba1AKlPjs5wbKLwV5FqOhFzxLO64+PAuXbVAiEA5YkNeRGk9GVwY8vjNe0bytVbsumokaxxjAeNqFx4/Lk=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "63a129b0de6969717795479c9232a1d1bf6c58be564fcd261bb92a7adad3e4de" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQD9RXhaWTuzXjKx/JBCd2bpbXNtW6Jm8xpB4gZvy4nHbAIhANWVC5phRXxgaenK9+dXiB7Zk7mnFPVEWGgWkh/GUz7u" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "intermediate-key-usage" + }, + { + "id": "intermediate-wrong-eku", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "5bdf4b234bfad3dc7e6517e77043648f" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBuzCCAWKgAwIBAgIUWV3UPSW9yL44M7+45ktJqrU6rawwCgYIKoZIzj0EAwIwITEfMB0GA1UEAwwWaW50ZXJtZWRpYXRlLXdyb25nLWVrdTAeFw0yNjEwMjcwMDAwMDBaFw0yNjEwMzAwMDAwMDBaMCQxIjAgBgNVBAMMGVN5bnRoZXRpYyBBc3NpZ25tZW50IExlYWYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASZd9qy5Id/qxw6ln9cQ45HhfIySylBvAZrnZ/F9OIm8NU8EXhVwkjQ8WzxGamUWupw9qPZYsHtr0ovDHQdgez3o3UwczAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUyUbGkh+sKGhC4TqgteDpJRSVUiswHwYDVR0jBBgwFoAUtdSf5evKe2tDutS0mImiCyoIAWEwEwYDVR0lBAwwCgYIKwYBBQUHAwMwCgYIKoZIzj0EAwIDRwAwRAIgKlOCzhlCibN66EZJSWAZQUXTvvh9HrFvxjdF/rDdHlECIEBk/5A3DkcBHS7Oo1kHnHBW53ahToXE/dQPJo8sUQhA" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB5jCCAYugAwIBAgIUcnulxCBEyvJ1eqC+nP1b5f4agUgwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowITEfMB0GA1UEAwwWaW50ZXJtZWRpYXRlLXdyb25nLWVrdTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGnrZdO2xc5zjLtmclMeREz5+mYUEgTKlMHdduKH12bDJbBcfSZyX0bwPopqG4ob/zbKXDajEVW1SlOshYhjPKijezB5MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS11J/l68p7a0O61LSYiaILKggBYTAfBgNVHSMEGDAWgBSCtA8JLDNohBqwOFXNjySpoCum+zATBgNVHSUEDDAKBggrBgEFBQcDATAKBggqhkjOPQQDAgNJADBGAiEAq2nDqHEJRCQL56vavTndl3/RS9s7eVILXbUKuLhBiroCIQD49lk6onhlT834sB6hUxwcIOiFpCTcCZu93TjkbFLX+Q==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "12c4e27455bf5fdc4c79b1e77027711b1ba54c9ccd5e64a15af747e2ca05b0b0" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIEvhZAjZvrZRpCmG0DN37Z0DdT5Kg2OqvsZSSsKRrhkvAiA4mVf1rM4oBN6vU7JksE87ihhLCS7ngyqkKOXr4wW3ww==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "intermediate-eku" + }, + { + "id": "missing-intermediate", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "missing-proof" + }, + { + "id": "changed-response-bytes", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9IA==" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "changed-request-body", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9IA==" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "changed-nonce", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "00000000000000000000000000000000" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "changed-effective-token", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ], + [ + "dd-client-token", + "different-token" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "changed-query-order", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?marker=a%2Fb&dd_env=production", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "changed-authority", + "request": { + "url": "https://other.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "changed-semantic-header", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ], + [ + "x-use-cache", + "false" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "changed-http-status", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 201, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "response-status" + }, + { + "id": "future-issued-at", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "ad832a44e6bec72a3220423d65f6b43b" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062831" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063131" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIBB37dVs7yRgZC95g3VgymmRVMgvK4JdtC6nLZEwmBeMAiBYJo5ISVZdVNkRUfaznQrFZNmIdU4GUJxFigEum1gZRg==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "response-time" + }, + { + "id": "expired-response", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "d783022838666584f35b7092089aed97" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062500" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIQDbxbwVdc8+/pxG+emSpQu+c8siFcG/dJzvfUShJIom9gIgeGTgFwq86nh1VkaHPmNxhdvire51ZTSTLS7nz23GWac=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "response-time" + }, + { + "id": "excess-response-lifetime", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "751225c66509b0751e32201fd6c25360" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063101" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIDiHXBJGNyqhE5RliLaF/W78HCzJ9qLlWOJLT2oKoUp/AiAvpb/CYu8RFoZ4Kaxqb/IXroTR1am946tc6nS8KGzTyw==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "response-time" + }, + { + "id": "noncanonical-issued-at", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ], + [ + "x-datadog-feature-flags-issued-at", + "01793062800" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "canonical-time" + }, + { + "id": "duplicate-proof-header", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "duplicate-proof" + }, + { + "id": "comma-combined-proof-header", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ], + [ + "x-datadog-feature-flags-signature-version", + "1, 1" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "combined-proof" + }, + { + "id": "oversized-certificate", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "certificate-size" + }, + { + "id": "malformed-certificate-base64", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "not@base64" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "certificate-encoding" + }, + { + "id": "signature-trailing-der", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6gA=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "signature-encoding" + }, + { + "id": "certificate-trailing-der", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "6738a6d5b76925e3a967b90c0932d159bf8524ad2db2d14b7a7bc705719bffaa" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIAtONBn1e9+mX5CtPvimsYrBLuc6T3VZF3LlVdCzuXiUAiAtr/SytbKwdYTAEJqIqvtVqCbuQUJit8MsvIcdY45ZgA==" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5gA=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "certificate-encoding", + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq3/eQAAAAAGrf+LwAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJZzim1bdpJeOpZ7kMCTLRWb+FJK0tstFLenvHBXGb/6qK5IXeXBsvfM61fHg4wyYFpic/Ia2/EMmSIZ43j2NQqw==" + }, + { + "id": "cryptographic-signature-tampering", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIQCnD2grHkrMYeEO2i5nlpjCBqBBgIAD68ZQjKyQd+ZbbgIgdQTrofgLk4BzZL1y1yYM2lxwI6a6h1EAFLqEkKYBOxw=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-signature" + }, + { + "id": "duplicate-request-semantic-header", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ], + [ + "x-use-cache", + "true" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "duplicate-semantic-header" + }, + { + "id": "unsupported-prototype-version-2", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ], + [ + "x-datadog-feature-flags-signature-version", + "2" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "protocol-version" + }, + { + "id": "unsupported-prototype-version-3", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCICd4gJ6SS+b86toF0aHTSFmKhhl15NCZSYSzddUH8363AiANVhVk9z3UFZVeShs2xdX9wtT8yyL3Jbpdt7CpU7jD6g==" + ], + [ + "x-datadog-feature-flags-signature-version", + "3" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "protocol-version" + }, + { + "id": "draft-v3-domain", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "45c22d216e51de0f4750dbd127f5cbeeadef2bc3b426cb95d682abcc88c9210b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793062800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793063100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIGi+neryDrq8ct6gfZ70vBYqoDY8Yybr3oDXpSNQtggNAiEAqhF7MuNBS2wa0RAARKElenwStq1XFV62qMKlhYDVmUA=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793062800, + "expected_accept": false, + "rejection_reason": "transcript-domain" + } + ], + "signing_cases": [ + { + "id": "signer-valid-key-pair", + "case_id": "valid-current", + "credential": { + "version": 1, + "generation": "valid-current", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3CTaM180jSh+DN3yEcdUy5NiXg9uiqIbKMXo8tIQfxmhRANCAARaDtotVSlwOC7NQIAf4qDzIzSW8SMsy1Urpmz23gC13FvbhS0QL7EwIdl7kLrQ+Xdnz9sH/szvPtBiGRa7OyXg", + "certificate_der_base64": "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==", + "intermediate_der_base64": "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + }, + "expected_signing": true + }, + { + "id": "signer-private-key-mismatch", + "case_id": "valid-current", + "credential": { + "version": 1, + "generation": "valid-current", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIq7QsEW3oCouCspfgP++htttxioVzmc/Vg+2FyIf7yOhRANCAAQVvEQJe29jJq+Y7toSaGoYzjvFg/BYOpJzomfHo5zhJ5zaA+uo3Qt73edHXrCZfY89vv/+LG5CWo3bWfntpC0e", + "certificate_der_base64": "MIIBwjCCAWegAwIBAgIUKw/B9HQAbo1nZOnaO8W4WoVAyL4wCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MB4XDTI2MTAyNzAwMDAwMFoXDTI2MTAzMDAwMDAwMFowJDEiMCAGA1UEAwwZU3ludGhldGljIEFzc2lnbm1lbnQgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFoO2i1VKXA4Ls1AgB/ioPMjNJbxIyzLVSumbPbeALXcW9uFLRAvsTAh2XuQutD5d2fP2wf+zO8+0GIZFrs7JeCjdTBzMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBR7CCGoeUbMlCn2rP/SnBtO5IJPIjAfBgNVHSMEGDAWgBRn5UKvqeH62uVqiA3Y0BO1y255RDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNJADBGAiEAkK0KpDu+WOQKzTBKEOkZlOMsHX+yh5ln4mpHsf6FmxMCIQDTLFsk/ZZs/34rxkl0RpTfzjjaebPgU14nTXYCzxcS5g==", + "intermediate_der_base64": "MIIB1DCCAXugAwIBAgIUO/1Iri7DvrD+lmmsoxTRbxWLGSEwCgYIKoZIzj0EAwIwRzFFMEMGA1UEAww8U1lOVEhFVElDIFJFU1BPTlNFIFNJR05JTkcgVjEgVEVTVCBST09UIC0gTk9UIEZPUiBQUk9EVUNUSU9OMB4XDTI2MTAwMTAwMDAwMFoXDTI3MTAwMTAwMDAwMFowJjEkMCIGA1UEAwwbU3ludGhldGljIEludGVybWVkaWF0ZSAyMDI2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGrqgrc1Zws9fw/SNHEnBgiLedEmrL62mTK8Q/6eOVxwOO7qhPE9evVpHP+Mqn/emgNt7yfWdM7hHjnvp4cty6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFGflQq+p4fra5WqIDdjQE7XLbnlEMB8GA1UdIwQYMBaAFIK0DwksM2iEGrA4Vc2PJKmgK6b7MAoGCCqGSM49BAMCA0cAMEQCIEnBtRRCWHn3LHQTIFyzHO73LM6zuiZlGCZoOaMj8aleAiA/kBE3rmtnPVuMEhJVEcli8NT8EaNP+U6k20e0dsIf8w==" + }, + "expected_signing": false + } + ] +} diff --git a/response-signing/v1/isolated-certificate-rules.json b/response-signing/v1/isolated-certificate-rules.json new file mode 100644 index 00000000..98963af0 --- /dev/null +++ b/response-signing/v1/isolated-certificate-rules.json @@ -0,0 +1,369 @@ +{ + "anchor_der_base64": "MIIBWTCB/6ADAgECAgEBMAoGCCqGSM49BAMCMCIxIDAeBgNVBAMMF1NZTlRIRVRJQyBJU09MQVRFRCBST09UMB4XDTI2MTAyNzA0MDAwMFoXDTI3MTAzMDA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIFJPT1QwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATeLAXHHFQbiYejhlxzTZoDwvfy51zkqc9Ab2gy7sduFxVFSNMthzwxP3szf3JPjp6ZLb1d90p4XvaHkSEGF9WAoyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEAy46N6zvXan3usr+dhGafxAxSno0qnb52k+zxO0InUIgCIQDuQoji85jNaCcszm05yiCLOm2m+VWNuK83OYMfv5FBxA==", + "cases": [ + { + "id": "isolated-valid", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBcDCCARagAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jozUwMzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiEAmSckYuOGeGasUiCZnRsOYtm5tiy29OcROdP/9bQCsckCIACNtH8Cey8+ENf06dysNGEj4jvMEWpRgCXq3WnUYDSv" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIBYDCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiBgtao1it9yjDs3NYQVf8lbCBOgkqLOpX0tOLRypYEoIgIgArUyUQo91H+/0YGOUBj07Sa7TNBADXzyjVUrbr6fxC0=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "77e06830326c4b60a76515cbadde8031ef709dcb7f07254a441d41832fad8461" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793332800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793333100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIC9w1kckhbuLoSsPfuYkxegHWlusr5TvLucrSViRS1JMAiAtaS1AYqJirsPUFrBU5XI5zdASxtghiWenKaEJK2Ra0w==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793332800, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq5BZAAAAAAGrkF2wAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJd+BoMDJsS2CnZRXLrd6AMe9wnct/ByVKRB1Bgy+thGGAaQx0HTC8QrPHZuWe/KEKrCdBhO2wdtG0U7Dr1Mec+Q==", + "credential": { + "version": 1, + "generation": "isolated-valid", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGXNr3zYyMeFSL8N5c/fGON/4pcAcGt3fTekkYlURkq2hRANCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0j", + "certificate_der_base64": "MIIBcDCCARagAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jozUwMzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiEAmSckYuOGeGasUiCZnRsOYtm5tiy29OcROdP/9bQCsckCIACNtH8Cey8+ENf06dysNGEj4jvMEWpRgCXq3WnUYDSv", + "intermediate_der_base64": "MIIBYDCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiBgtao1it9yjDs3NYQVf8lbCBOgkqLOpX0tOLRypYEoIgIgArUyUQo91H+/0YGOUBj07Sa7TNBADXzyjVUrbr6fxC0=" + } + }, + { + "id": "isolated-oversized-certificate", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIQhTCCECugAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jo4IPSDCCD0QwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwgg8NBgMqAwQEgg8EBIIPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAKBggqhkjOPQQDAgNIADBFAiAYmdMl86nZV+gYGx5M4klPldnEgGVkDKY2T1JJ802mUQIhALjcxl7/wAmoVOgtEFkVDyPB3aj0Cpp1I7KGjZZgfQ9V" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIBYDCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiBgtao1it9yjDs3NYQVf8lbCBOgkqLOpX0tOLRypYEoIgIgArUyUQo91H+/0YGOUBj07Sa7TNBADXzyjVUrbr6fxC0=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "f277398190efca3382ff0a9b86469a61932e890e5145971f574552ff0017dce1" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793332800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793333100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQCzVvFg+s7vRiFTPTyX32x4QvENfj3+e337Su+zUZpU3QIhAPzDujkdOpC1HAJo4QoZG6ESklBEdkQp+j4XjtlwEXZO" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793332800, + "expected_accept": false, + "rejection_reason": "oversized-certificate", + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq5BZAAAAAAGrkF2wAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJ8nc5gZDvyjOC/wqbhkaaYZMuiQ5RRZcfV0VS/wAX3OGAaQx0HTC8QrPHZuWe/KEKrCdBhO2wdtG0U7Dr1Mec+Q==", + "credential": { + "version": 1, + "generation": "isolated-oversized-certificate", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGXNr3zYyMeFSL8N5c/fGON/4pcAcGt3fTekkYlURkq2hRANCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0j", + "certificate_der_base64": "MIIQhTCCECugAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jo4IPSDCCD0QwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwgg8NBgMqAwQEgg8EBIIPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAKBggqhkjOPQQDAgNIADBFAiAYmdMl86nZV+gYGx5M4klPldnEgGVkDKY2T1JJ802mUQIhALjcxl7/wAmoVOgtEFkVDyPB3aj0Cpp1I7KGjZZgfQ9V", + "intermediate_der_base64": "MIIBYDCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiBgtao1it9yjDs3NYQVf8lbCBOgkqLOpX0tOLRypYEoIgIgArUyUQo91H+/0YGOUBj07Sa7TNBADXzyjVUrbr6fxC0=" + } + }, + { + "id": "isolated-leaf-ca-true", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBczCCARmgAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jozgwNjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiAhEapT9XYsLE35E/9B4CBnCX7+LHetSUDCIVLqFPL/hgIhANytadI2qE6UuaFnEyR5YgL1st4ig2lQzZI/7qJumDdL" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIBYDCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiBgtao1it9yjDs3NYQVf8lbCBOgkqLOpX0tOLRypYEoIgIgArUyUQo91H+/0YGOUBj07Sa7TNBADXzyjVUrbr6fxC0=" + ], + [ + "x-datadog-feature-flags-certificate-id", + "8e10c7e09f73dea4a80a3aa25d3e8de4ad15201e46e0b9a1c8da58b306d8cdf2" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793332800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793333100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCIHkUrnYB/y229gVUdSDu2RYNhhaC1MN4e4isNpUiRn7QAiEAisiX9gAVMA5+O3vkI0/TqbMYJ5TBvL3HMiEImAi7VCA=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793332800, + "expected_accept": false, + "rejection_reason": "leaf-ca-true", + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq5BZAAAAAAGrkF2wAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJjhDH4J9z3qSoCjqiXT6N5K0VIB5G4LmhyNpYswbYzfKAaQx0HTC8QrPHZuWe/KEKrCdBhO2wdtG0U7Dr1Mec+Q==", + "credential": { + "version": 1, + "generation": "isolated-leaf-ca-true", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGXNr3zYyMeFSL8N5c/fGON/4pcAcGt3fTekkYlURkq2hRANCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0j", + "certificate_der_base64": "MIIBczCCARmgAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jozgwNjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNIADBFAiAhEapT9XYsLE35E/9B4CBnCX7+LHetSUDCIVLqFPL/hgIhANytadI2qE6UuaFnEyR5YgL1st4ig2lQzZI/7qJumDdL", + "intermediate_der_base64": "MIIBYDCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiBgtao1it9yjDs3NYQVf8lbCBOgkqLOpX0tOLRypYEoIgIgArUyUQo91H+/0YGOUBj07Sa7TNBADXzyjVUrbr6fxC0=" + } + }, + { + "id": "isolated-intermediate-ca-false", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBbzCCARagAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jozUwMzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNHADBEAiB8uW3r7fa9zYgwXrsINS849/OsCpwLOGvhkp1v6IZLPwIgIvLHNfb+pm9e6C/PIhDG2rlGi9GNgQgQ8MVI+g9ITvE=" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIBXzCCAQSgAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyMwITAPBgNVHRMBAf8EBTADAgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEA8olTz2BnczcyPySs3KzkWHvw6l/ROWfT83YWHR7eGoECIQCsqHqopa+feIyQL0LlPKZojXTTHEQgShogQw0U8hg24w==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "7f42a5487ce39151af98eb52552fcf7e8cf200b378ad680544cd57cf857fc251" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793332800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793333100" + ], + [ + "x-datadog-feature-flags-signature", + "MEYCIQDNT81s912g5F+hsOt3HGILUNoyg4A0fWLSQ4Tgtq6GwAIhAPVQu9sgpIQGjiVBXDB+MRzZkWz+EfDFJq4q0/SkF94I" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793332800, + "expected_accept": false, + "rejection_reason": "intermediate-ca-false", + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq5BZAAAAAAGrkF2wAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJf0KlSHzjkVGvmOtSVS/PfozyALN4rWgFRM1Xz4V/wlFwSkVTZw2jOPDWACztFWnPx1zA2lvrqS74K6xmNPeIIQ==", + "credential": { + "version": 1, + "generation": "isolated-intermediate-ca-false", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGXNr3zYyMeFSL8N5c/fGON/4pcAcGt3fTekkYlURkq2hRANCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0j", + "certificate_der_base64": "MIIBbzCCARagAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgSVNPTEFURUQgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIElTT0xBVEVEIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASWi1yvSVJWYfsZKAufM5+KCPLFkPTzt1CAb3xpy+AVEnlZLFLbcyggSZHecTg9jCWMpEts93rnM7mLGVIFFU0jozUwMzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAKBggqhkjOPQQDAgNHADBEAiB8uW3r7fa9zYgwXrsINS849/OsCpwLOGvhkp1v6IZLPwIgIvLHNfb+pm9e6C/PIhDG2rlGi9GNgQgQ8MVI+g9ITvE=", + "intermediate_der_base64": "MIIBXzCCAQSgAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgSVNPTEFURUQgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBJU09MQVRFRCBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1NpfU73us7ZNLO+I4HQCViQU7xCjkgM1D2aoEqC/3uWC90QL+zz7eLQ1oHarlO8BBEdEjT6TeJdJHHuMvEDu8oyMwITAPBgNVHRMBAf8EBTADAgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEA8olTz2BnczcyPySs3KzkWHvw6l/ROWfT83YWHR7eGoECIQCsqHqopa+feIyQL0LlPKZojXTTHEQgShogQw0U8hg24w==" + } + } + ] +} diff --git a/response-signing/v1/manifest.json b/response-signing/v1/manifest.json new file mode 100644 index 00000000..130fd8f0 --- /dev/null +++ b/response-signing/v1/manifest.json @@ -0,0 +1,23 @@ +{ + "schema_version": 1, + "files": { + "corpus.json": { + "sha256": "393490bfefe382b9b75cf2964c131a910faa679888689457f99c2da2dc57fbbd", + "response_cases": 46, + "accepted": 6, + "signing_cases": 2 + }, + "nested-der.json": { + "sha256": "16a5de8b346087c4e4145e5c7bb43ac2dfd945a780fb56a75f38b1f7061302c4", + "response_cases": 2, + "accepted": 1, + "signing_cases": 0 + }, + "isolated-certificate-rules.json": { + "sha256": "7304bb12f011688a39b53ebd5fb5d842febd0f5ae81e67126a7e24d1e79a225a", + "response_cases": 4, + "accepted": 1, + "signing_cases": 0 + } + } +} diff --git a/response-signing/v1/nested-der.json b/response-signing/v1/nested-der.json new file mode 100644 index 00000000..a67ef535 --- /dev/null +++ b/response-signing/v1/nested-der.json @@ -0,0 +1,187 @@ +{ + "anchor_der_base64": "MIIBWDCB/6ADAgECAgEBMAoGCCqGSM49BAMCMCIxIDAeBgNVBAMMF1NZTlRIRVRJQyBDUlVDSUJMRSBST09UMB4XDTI2MTAyNzA0MDAwMFoXDTI3MTAzMDA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIENSVUNJQkxFIFJPT1QwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQwPzC+l38kgFNPSfvDjjpumqKnHVtysAOJ8y/v4Ck6emI+251kHemUS/bHnp+HbaFw6Exf9Pu+witDGjIe03KloyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNIADBFAiAElo60BhiikAH6pWyLGfamN1PXcjwESCmhE46ehoE3qAIhAOxsUPQcJIyh83HjpZgqopT4VIBi1yPWdJfx3Jymxnvp", + "cases": [ + { + "id": "valid-nested-integer", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBfjCCASSgAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgQ1JVQ0lCTEUgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIENSVUNJQkxFIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATsOn0magUE9UwWDbDhNTItX96iQRHj5c/mNzXLNTw5wu0xc8hHj0zk2PB2o8W+i0uH/EVRrXcPczgOgBAjTMhPo0MwQTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAMBgMqAwQEBTADAgEBMAoGCCqGSM49BAMCA0gAMEUCIDVoDaY9wKoyqPnsEo+kFdn94Lk0KHG7qmCBTOz4ciokAiEArzaLItgDPE7rseYqjzG+IYzXV7nsB/BAmOCq2xGuAaU=" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIBYjCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgQ1JVQ0lCTEUgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBDUlVDSUJMRSBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATG7wxF624T00NjWY6987nwfmeWHZqt3XivJXQQbYzD3Ar8vWerjuG4qvv36MPyGLzpisYIJYmxMwzrvl4nNAHloyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEA7laoUk+jAE5uzDEyPCyHnj/inEIQ3f4bTjLd8SOefXECIQC/nQYfbNMcXHmqx/99JVHrtWZ3oK+rvm64FxBj+ELyVw==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "e8c70089faa0a7b44493774b76bb752b123bce21e56849fdef34e6509e50fb0b" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793332800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793333100" + ], + [ + "x-datadog-feature-flags-signature", + "MEUCID8ifwCX8rIDQ6itQYBcFlHhlpERAr0ZWS6oSBRk3QouAiEA321rnGpksxgWVIxIoCrJiE0cvWWyv0nGwql2c7mzpCQ=" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793332800, + "expected_accept": true, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq5BZAAAAAAGrkF2wAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJ6McAifqgp7REk3dLdrt1KxI7ziHlaEn97zTmUJ5Q+wudyEB5iW2HEiomvcz+wI8FXVk7jCUOBP8cINQjkMJ1fg==", + "credential": { + "version": 1, + "generation": "valid-nested-integer", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIBXzxl8K9EzzFzuCBK5nubb7zICycrMB3A0zOze5lYuhRANCAATsOn0magUE9UwWDbDhNTItX96iQRHj5c/mNzXLNTw5wu0xc8hHj0zk2PB2o8W+i0uH/EVRrXcPczgOgBAjTMhP", + "certificate_der_base64": "MIIBfjCCASSgAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgQ1JVQ0lCTEUgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIENSVUNJQkxFIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATsOn0magUE9UwWDbDhNTItX96iQRHj5c/mNzXLNTw5wu0xc8hHj0zk2PB2o8W+i0uH/EVRrXcPczgOgBAjTMhPo0MwQTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAMBgMqAwQEBTADAgEBMAoGCCqGSM49BAMCA0gAMEUCIDVoDaY9wKoyqPnsEo+kFdn94Lk0KHG7qmCBTOz4ciokAiEArzaLItgDPE7rseYqjzG+IYzXV7nsB/BAmOCq2xGuAaU=", + "intermediate_der_base64": "MIIBYjCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgQ1JVQ0lCTEUgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBDUlVDSUJMRSBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATG7wxF624T00NjWY6987nwfmeWHZqt3XivJXQQbYzD3Ar8vWerjuG4qvv36MPyGLzpisYIJYmxMwzrvl4nNAHloyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEA7laoUk+jAE5uzDEyPCyHnj/inEIQ3f4bTjLd8SOefXECIQC/nQYfbNMcXHmqx/99JVHrtWZ3oK+rvm64FxBj+ELyVw==" + } + }, + { + "id": "nonminimal-nested-integer", + "request": { + "url": "https://flags.example.test:443/precompute/assignments?dd_env=production&marker=a%2Fb", + "method": "POST", + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "dd-client-token", + "synthetic-client-token" + ], + [ + "dd-application-id", + "synthetic-app" + ], + [ + "x-use-cache", + "true" + ], + [ + "x-dd-feature-flags-capabilities", + "response-signing-v1" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-request-nonce", + "c744e8a0220b84e636a33806def5365a" + ] + ], + "body_base64": "eyJzdWJqZWN0Ijp7ImlkIjoic3ludGhldGljLXVzZXIiLCJjb3VudHJ5IjoiVVMifSwiZGRfZW52IjoicHJvZHVjdGlvbiJ9" + }, + "response": { + "status": 200, + "headers": [ + [ + "content-type", + "application/json" + ], + [ + "cache-control", + "no-store, no-transform" + ], + [ + "x-datadog-feature-flags-signature-version", + "1" + ], + [ + "x-datadog-feature-flags-signing-certificate", + "MIIBfzCCASWgAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgQ1JVQ0lCTEUgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIENSVUNJQkxFIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATsOn0magUE9UwWDbDhNTItX96iQRHj5c/mNzXLNTw5wu0xc8hHj0zk2PB2o8W+i0uH/EVRrXcPczgOgBAjTMhPo0QwQjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgMqAwQEBjAEAgIAATAKBggqhkjOPQQDAgNIADBFAiAQTkDTL6hWItQDkbIJI6AT90D/6dZ8sckScThRcP8rPgIhANNK4qALvAz25sLoG4pr9QJcfqyKiTOHboePTQLSEIY9" + ], + [ + "x-datadog-feature-flags-signing-intermediate", + "MIIBYjCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgQ1JVQ0lCTEUgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBDUlVDSUJMRSBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATG7wxF624T00NjWY6987nwfmeWHZqt3XivJXQQbYzD3Ar8vWerjuG4qvv36MPyGLzpisYIJYmxMwzrvl4nNAHloyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEA7laoUk+jAE5uzDEyPCyHnj/inEIQ3f4bTjLd8SOefXECIQC/nQYfbNMcXHmqx/99JVHrtWZ3oK+rvm64FxBj+ELyVw==" + ], + [ + "x-datadog-feature-flags-certificate-id", + "f4530858e8c92f8e8c1bf6f848c647b80b88ed99887d1c06060d028644706c3a" + ], + [ + "x-datadog-feature-flags-issued-at", + "1793332800" + ], + [ + "x-datadog-feature-flags-expires-at", + "1793333100" + ], + [ + "x-datadog-feature-flags-signature", + "MEQCIEEBkUQzctWVDSP6oUmaO2Yf8jgnR1gBjkdMZzgdip0hAiAPqV/S47iYG9IGubbMOocbHivC5X35ah83Ch5xY8c+yg==" + ] + ], + "body_base64": "eyJmbGFncyI6eyJjcml0aWNhbC1kZW1vIjp7InZhcmlhdGlvbiI6Im9mZiIsInZhbHVlIjpmYWxzZX19LCJydWxlc1JldmlzaW9uIjoic3ludGhldGljLXIxIiwibGFiZWwiOiJjYWbDqSJ9" + }, + "now": 1793332800, + "expected_accept": false, + "rejection_reason": null, + "transcript_base64": "ZGF0YWRvZy5mZWF0dXJlLWZsYWdzLnByZWNvbXB1dGVkLWFzc2lnbm1lbnRzLnYxAAAAAARQT1NUAAAABWh0dHBzAAAAEmZsYWdzLmV4YW1wbGUudGVzdAAAABcvcHJlY29tcHV0ZS9hc3NpZ25tZW50cwAAAB8/ZGRfZW52PXByb2R1Y3Rpb24mbWFya2VyPWElMkZiAAAAEMdE6KAiC4TmNqM4Bt71Nlq7RTYkNmgw7InPBvfo1awKbp0Kv9q6SfxCHygN4pcnh/6Ng8TcBPzzrxF/TDOL/e9gFxG7FxwZhrfj79251AdPAQAAABBhcHBsaWNhdGlvbi9qc29uAQAAAA1zeW50aGV0aWMtYXBwAAEAAAAEdHJ1ZQEAAAATcmVzcG9uc2Utc2lnbmluZy12MQAAyAAAAABq5BZAAAAAAGrkF2wAAAAAAAAAbBjoo2BVrsFBvsb7/kndkWuEJugJckBE6x8yNdHqNEVJ9FMIWOjJL46MG/b4SMZHuAuI7ZmIfRwGBg0ChkRwbDqdyEB5iW2HEiomvcz+wI8FXVk7jCUOBP8cINQjkMJ1fg==", + "credential": { + "version": 1, + "generation": "nonminimal-nested-integer", + "private_key_pkcs8_der_base64": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIBXzxl8K9EzzFzuCBK5nubb7zICycrMB3A0zOze5lYuhRANCAATsOn0magUE9UwWDbDhNTItX96iQRHj5c/mNzXLNTw5wu0xc8hHj0zk2PB2o8W+i0uH/EVRrXcPczgOgBAjTMhP", + "certificate_der_base64": "MIIBfzCCASWgAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDDB9TWU5USEVUSUMgQ1JVQ0lCTEUgSU5URVJNRURJQVRFMB4XDTI2MTAyOTA0MDAwMFoXDTI2MTEwMTA0MDAwMFowIjEgMB4GA1UEAwwXU1lOVEhFVElDIENSVUNJQkxFIExFQUYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATsOn0magUE9UwWDbDhNTItX96iQRHj5c/mNzXLNTw5wu0xc8hHj0zk2PB2o8W+i0uH/EVRrXcPczgOgBAjTMhPo0QwQjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgMqAwQEBjAEAgIAATAKBggqhkjOPQQDAgNIADBFAiAQTkDTL6hWItQDkbIJI6AT90D/6dZ8sckScThRcP8rPgIhANNK4qALvAz25sLoG4pr9QJcfqyKiTOHboePTQLSEIY9", + "intermediate_der_base64": "MIIBYjCCAQegAwIBAgIBAjAKBggqhkjOPQQDAjAiMSAwHgYDVQQDDBdTWU5USEVUSUMgQ1JVQ0lCTEUgUk9PVDAeFw0yNjEwMjgwNDAwMDBaFw0yNjExMjkwNDAwMDBaMCoxKDAmBgNVBAMMH1NZTlRIRVRJQyBDUlVDSUJMRSBJTlRFUk1FRElBVEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATG7wxF624T00NjWY6987nwfmeWHZqt3XivJXQQbYzD3Ar8vWerjuG4qvv36MPyGLzpisYIJYmxMwzrvl4nNAHloyYwJDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEA7laoUk+jAE5uzDEyPCyHnj/inEIQ3f4bTjLd8SOefXECIQC/nQYfbNMcXHmqx/99JVHrtWZ3oK+rvm64FxBj+ELyVw==" + } + } + ] +} diff --git a/schemas/response-signing-v1.schema.json b/schemas/response-signing-v1.schema.json new file mode 100644 index 00000000..b0b0b65a --- /dev/null +++ b/schemas/response-signing-v1.schema.json @@ -0,0 +1,217 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Response signing v1 conformance corpus", + "type": "object", + "additionalProperties": false, + "properties": { + "schema_version": { + "const": 1 + }, + "profile_sha256": { + "type": "string", + "pattern": "^[a-f0-9]{64}$" + }, + "synthetic": { + "const": true + }, + "anchor_der_base64": { + "type": "string" + }, + "cases": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/case" + } + }, + "signing_cases": { + "type": "array", + "items": { + "$ref": "#/$defs/signingCase" + } + } + }, + "required": [ + "anchor_der_base64", + "cases" + ], + "$defs": { + "credential": { + "type": "object", + "additionalProperties": false, + "properties": { + "version": { + "const": 1 + }, + "generation": { + "type": "string" + }, + "private_key_pkcs8_der_base64": { + "type": "string" + }, + "certificate_der_base64": { + "type": "string" + }, + "intermediate_der_base64": { + "type": "string" + } + }, + "required": [ + "version", + "generation", + "private_key_pkcs8_der_base64", + "certificate_der_base64", + "intermediate_der_base64" + ] + }, + "request": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string" + }, + "method": { + "type": "string" + }, + "headers": { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "minItems": 2, + "maxItems": 2 + } + }, + "body_base64": { + "type": "string" + } + }, + "required": [ + "url", + "method", + "headers", + "body_base64" + ] + }, + "response": { + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "type": "integer", + "minimum": 100, + "maximum": 599 + }, + "headers": { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "minItems": 2, + "maxItems": 2 + } + }, + "body_base64": { + "type": "string", + "description": "Application bytes after HTTP content decoding; these bytes are bound by the signature." + }, + "wire_body_base64": { + "type": "string", + "description": "Optional compressed transport bytes, served with the response encoding headers in transport tests. Direct verifier tests use body_base64." + } + }, + "required": [ + "status", + "headers", + "body_base64" + ] + }, + "case": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string", + "minLength": 1 + }, + "request": { + "$ref": "#/$defs/request" + }, + "response": { + "$ref": "#/$defs/response" + }, + "now": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991, + "description": "Fixed verification clock in Unix epoch seconds." + }, + "expected_accept": { + "type": "boolean" + }, + "rejection_reason": { + "type": [ + "string", + "null" + ] + }, + "transcript_base64": { + "type": [ + "string", + "null" + ] + }, + "credential": { + "$ref": "#/$defs/credential" + } + }, + "required": [ + "id", + "request", + "response", + "now", + "expected_accept", + "rejection_reason" + ] + }, + "signingCase": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "case_id": { + "type": "string" + }, + "credential": { + "$ref": "#/$defs/credential" + }, + "expected_signing": { + "type": "boolean" + } + }, + "required": [ + "id", + "case_id", + "credential", + "expected_signing" + ] + } + } +}