{
 "_leggimi": "Vettori di prova pubblici del formato passaporto-evento/1 e passaporto-prova/1. La chiave privata qui sotto e' quella dell'esempio A.2.5 della RFC 6979: e' PUBBLICA e serve solo a questi vettori. La firma ECDSA non e' deterministica: i vettori fissano una firma valida, da VERIFICARE (non da rigenerare).",
 "keccak256": [
  {
   "testo": "",
   "impronta": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
  },
  {
   "testo": "abc",
   "impronta": "0x4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45"
  },
  {
   "testo": "testing",
   "impronta": "0x5f16f4c7f149ac4f9510d9cf8cf384038ad348b3bcdc01915f95de12df9d1b02"
  }
 ],
 "chiave": {
  "algoritmo": "ecdsa-p256-sha256",
  "privata_esadecimale_solo_per_i_vettori": "c9afa9d845ba75166b5c215767b1d6934e50c3db36e89b127b8a622b120f6721",
  "pubblica": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYP7UuiVanTHJYet0xjVtaMBJuJI7Yfps5mliLmDyn7Z5A/4QCLi8maQa6elWKLxk8vGyDC1+n1F3o8KU1EYimQ==",
  "id": "0x4e2f30db43076ae87b4f42bec2540aa3ba24a9bcdaa34b4aff5b06a4710c2e0b"
 },
 "etichetta_chiavi": "0xace534f31a452e3ecbe44a09c58d846a019d88f213fcbb581766c579f9ba640a",
 "eventi": [
  {
   "canonico": "{\"allegati\":[],\"attributi\":{\"esito\":\"conforme\",\"linea\":3,\"temperatura\":21.5},\"dove\":{\"id\":\"\",\"nome\":\"Stabilimento di prova\"},\"emittente\":{\"id\":\"11111111-2222-4333-8444-555555555555\",\"piva\":\"01234567890\",\"ragione_sociale\":\"AZIENDA DI PROVA SRL\"},\"epcis\":{\"action\":\"ADD\",\"bizStep\":\"commissioning\",\"disposition\":\"active\",\"type\":\"ObjectEvent\"},\"formato\":\"passaporto-evento/1\",\"fuso\":\"+01:00\",\"lotto\":null,\"nota\":\"Produzione del lotto di prova\",\"passaggio\":null,\"precedente\":null,\"prodotto\":\"7K2M9Q4X8TD3A\",\"quando\":\"2026-11-01T08:00:00Z\",\"rettifica_di\":null,\"riservati\":null,\"sale\":\"0x0101010101010101010101010101010101010101010101010101010101010101\",\"sequenza\":1,\"tipo\":\"produzione\",\"visibilita\":\"pubblico\"}",
   "impronta": "0x67806a89c79df9ab3a623135b2fd24b31cc05eaa721b9a07f98d818616667a98",
   "firma": "0x85a4df95f522b8289aa855c29870a72dc80f9bd400c804ad712f83473fe721aad6bcb978f562844b3611c1e8da181d3cfe4a2a22f6daebc230b1a0d8c9f9cdec",
   "impronta_firma": "0xcacb3c808d992a33a89bf188b115d64ffa323f9c73b1df2634a8da71002b8a1a",
   "foglia": "0x63299046caae92983c3c3013ac8945d005d60a8caad4a1e5da8ee59e59f30726",
   "prova": [
    "0x7f11b74973968474d29bfc60ffad1e3a1e55c44b400171126f7454d605c6e707",
    "0x895ca186e8ff4c5e327198df644b3dafefd15dd4daf8fb56400bb95b0a83e2f6"
   ]
  },
  {
   "canonico": "{\"allegati\":[],\"attributi\":{\"esito\":\"conforme\",\"linea\":3,\"temperatura\":21.5},\"dove\":{\"id\":\"\",\"nome\":\"Stabilimento di prova\"},\"emittente\":{\"id\":\"11111111-2222-4333-8444-555555555555\",\"piva\":\"01234567890\",\"ragione_sociale\":\"AZIENDA DI PROVA SRL\"},\"epcis\":{\"action\":\"OBSERVE\",\"bizStep\":\"inspecting\",\"disposition\":\"active\",\"type\":\"ObjectEvent\"},\"formato\":\"passaporto-evento/1\",\"fuso\":\"+01:00\",\"lotto\":null,\"nota\":\"Collaudo: è conforme (€ 0, 100 %)\",\"passaggio\":null,\"precedente\":\"0x67806a89c79df9ab3a623135b2fd24b31cc05eaa721b9a07f98d818616667a98\",\"prodotto\":\"7K2M9Q4X8TD3A\",\"quando\":\"2026-11-01T08:00:00Z\",\"rettifica_di\":null,\"riservati\":null,\"sale\":\"0x0202020202020202020202020202020202020202020202020202020202020202\",\"sequenza\":2,\"tipo\":\"collaudo\",\"visibilita\":\"pubblico\"}",
   "impronta": "0xd2422bf82ff4c27749a3fc6e4dbba637145aabf2e8b5f0675e0899c9f8fa98ee",
   "firma": "0x5f3bc066ac4c683579900e2e73830ae152dc3f89d71b1b84fe4b8182fd0471e82f7f262270c1507d8b41ec0f48f11b992a001def46ac6e5324d742f3372507b6",
   "impronta_firma": "0x5c7aa76fb39d02304ea7e4b51a0f56341bdaaa3d6f3e2547ae2cb449be283cbf",
   "foglia": "0x7f11b74973968474d29bfc60ffad1e3a1e55c44b400171126f7454d605c6e707",
   "prova": [
    "0x63299046caae92983c3c3013ac8945d005d60a8caad4a1e5da8ee59e59f30726",
    "0x895ca186e8ff4c5e327198df644b3dafefd15dd4daf8fb56400bb95b0a83e2f6"
   ]
  },
  {
   "canonico": "{\"allegati\":[],\"attributi\":{\"esito\":\"conforme\",\"linea\":3,\"temperatura\":21.5},\"dove\":{\"id\":\"\",\"nome\":\"Stabilimento di prova\"},\"emittente\":{\"id\":\"11111111-2222-4333-8444-555555555555\",\"piva\":\"01234567890\",\"ragione_sociale\":\"AZIENDA DI PROVA SRL\"},\"epcis\":{\"action\":\"OBSERVE\",\"bizStep\":\"shipping\",\"disposition\":\"active\",\"type\":\"ObjectEvent\"},\"formato\":\"passaporto-evento/1\",\"fuso\":\"+01:00\",\"lotto\":null,\"nota\":\"Spedizione\",\"passaggio\":null,\"precedente\":\"0xd2422bf82ff4c27749a3fc6e4dbba637145aabf2e8b5f0675e0899c9f8fa98ee\",\"prodotto\":\"7K2M9Q4X8TD3A\",\"quando\":\"2026-11-01T08:00:00Z\",\"rettifica_di\":null,\"riservati\":null,\"sale\":\"0x0303030303030303030303030303030303030303030303030303030303030303\",\"sequenza\":3,\"tipo\":\"spedizione\",\"visibilita\":\"pubblico\"}",
   "impronta": "0x896e21c9d86c6f8e6464ea181431dbde529781cb9f6e3377b09b9ed166d8eaaa",
   "firma": "0x5aa87812f9231e9d896802b64576c727c121bcff41e1ea4f61b97233f691bc0e7f5e00be8d59ed555aad7aa6a461a3bdca5f68ca21fd27081512b811c03a7b15",
   "impronta_firma": "0xe9aa5753388c5befe8eddc4590a822d5f493be42496f9a102d1c5a2ed4d6d718",
   "foglia": "0x12b87d9ff36779ac219b15ed842888e84b06b5d14b522cde77c5988cefa36257",
   "prova": [
    "0x3d762bfa0352bb3d6a35721de98edb6a27a9f135349baa939362fc30d90fbb92",
    "0x1d5c718f860fe8d9b568c4d2ec53ee9d4d69a986299908a2ac627ed490c1fe12"
   ]
  }
 ],
 "registro_chiavi": {
  "documento": "{\"chiavi\":[{\"algoritmo\":\"ecdsa-p256-sha256\",\"azienda\":\"11111111-2222-4333-8444-555555555555\",\"custodia\":\"piattaforma\",\"id\":\"0x4e2f30db43076ae87b4f42bec2540aa3ba24a9bcdaa34b4aff5b06a4710c2e0b\",\"pubblica\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYP7UuiVanTHJYet0xjVtaMBJuJI7Yfps5mliLmDyn7Z5A/4QCLi8maQa6elWKLxk8vGyDC1+n1F3o8KU1EYimQ==\",\"ragione_sociale\":\"AZIENDA DI PROVA SRL\",\"stato\":\"attiva\",\"valida_al\":null,\"valida_dal\":\"2026-11-01T00:00:00Z\"}],\"formato\":\"passaporto-chiavi/1\",\"gestore\":\"gestore-di-prova\"}",
  "impronta": "0x2e10465ddee6c8bbc1b136af11a89b1f369a2ae095fb8543a25a56b025040cba",
  "foglia": "0x3d762bfa0352bb3d6a35721de98edb6a27a9f135349baa939362fc30d90fbb92",
  "prova": [
   "0x12b87d9ff36779ac219b15ed842888e84b06b5d14b522cde77c5988cefa36257",
   "0x1d5c718f860fe8d9b568c4d2ec53ee9d4d69a986299908a2ac627ed490c1fe12"
  ]
 },
 "albero": {
  "foglie_ordinate": [
   "0x12b87d9ff36779ac219b15ed842888e84b06b5d14b522cde77c5988cefa36257",
   "0x3d762bfa0352bb3d6a35721de98edb6a27a9f135349baa939362fc30d90fbb92",
   "0x63299046caae92983c3c3013ac8945d005d60a8caad4a1e5da8ee59e59f30726",
   "0x7f11b74973968474d29bfc60ffad1e3a1e55c44b400171126f7454d605c6e707"
  ],
  "radice": "0xf703e5eeac764450468f7536629dfd9b5aaea61d98b4bbb03aac8c365543f66d"
 },
 "libreria_standard": {
  "nota": "Con la libreria JavaScript @openzeppelin/merkle-tree: StandardMerkleTree.of(valori, ['bytes32','bytes32']).root deve dare la stessa radice; MerkleProof.verify(prova, radice, foglia) del contratto standard accetta le prove.",
  "valori": [
   [
    "0x67806a89c79df9ab3a623135b2fd24b31cc05eaa721b9a07f98d818616667a98",
    "0xcacb3c808d992a33a89bf188b115d64ffa323f9c73b1df2634a8da71002b8a1a"
   ],
   [
    "0xd2422bf82ff4c27749a3fc6e4dbba637145aabf2e8b5f0675e0899c9f8fa98ee",
    "0x5c7aa76fb39d02304ea7e4b51a0f56341bdaaa3d6f3e2547ae2cb449be283cbf"
   ],
   [
    "0x896e21c9d86c6f8e6464ea181431dbde529781cb9f6e3377b09b9ed166d8eaaa",
    "0xe9aa5753388c5befe8eddc4590a822d5f493be42496f9a102d1c5a2ed4d6d718"
   ],
   [
    "0xace534f31a452e3ecbe44a09c58d846a019d88f213fcbb581766c579f9ba640a",
    "0x2e10465ddee6c8bbc1b136af11a89b1f369a2ae095fb8543a25a56b025040cba"
   ]
  ]
 }
}