Evidenze, non dichiarazioni

Verificare le evidenze solari
in autonomia.

Un pacchetto di evidenze è un insieme di file di dati, un manifesto che elenca l'hash SHA-256 di ciascun file, e una firma Ed25519 sul manifesto. Questa pagina controlla tutti e tre nel browser. Nulla viene caricato.

Verificare un pacchetto

Si trascini l'intero pacchetto nel riquadro: manifest.json, manifest.sig e i file di dati. Oppure si trascini un solo file per ottenerne l'SHA-256. Il lavoro è svolto dal browser con WebCrypto. Il supporto di Ed25519 in WebCrypto varia tra browser e versioni; se il controllo segnala che Ed25519 manca, si usino i passaggi OpenSSL più in basso.

Trascinare qui i file del pacchetto oppure fare clic per sfogliare
manifest.json + manifest.sig + file di dati · nulla viene caricato


Pacchetto di esempio ILLUSTRATIVO

Si scarichino i quattro file, quindi si trascinino nel riquadro sopra. L'esempio è un caso di accumulo a batterie (BESS): un unico asset illustrativo, SAMPLE-BESS-CL-001. Non è un impianto reale e i suoi valori non sono misure. Un pacchetto firmato specifico per il solare è in preparazione, quindi questo esempio mostra solo il formato.

manifest.json ↓ manifest.sig ↓ telemetry-extract.csv ↓ asset-summary.json ↓

Nulla è ancora stato verificato. Il risultato compare qui, file per file, appena si sceglie o si trascina un pacchetto.

Lettura del risultato

Un pacchetto valido, non valido e alterato

Il controllo risponde a due domande. Il manifesto è stato firmato con la chiave pubblicata e non è stato modificato? Ogni file corrisponde all'SHA-256 elencato nel manifesto? Si leggano insieme entrambe le risposte. I riquadri seguenti mostrano la formulazione usata dal controllo. Sono esempi, non risultati di una verifica reale.

Un pacchetto valido

✓ Firma Ed25519 VALIDAIl manifest è stato firmato con la chiave pubblicata di LIFETIMEBESS (key_id ltb-2026-10) e non è stato alterato.
✓ telemetry-extract.csv

corrisponde al manifest

✓ asset-summary.json

corrisponde al manifest

Ogni file corrisponde esattamente a quanto elencato nel manifesto, e il manifesto è esattamente ciò che il titolare della chiave ha firmato. Nulla è stato aggiunto, rimosso o modificato dopo la firma.

Un pacchetto non valido

✗ Firma NON VALIDALa firma non corrisponde a questo manifest con la chiave pubblicata. Il manifest è stato alterato oppure la firma non è nostra.

Il manifesto è cambiato dopo la firma, oppure è stato firmato con una chiave diversa. Il pacchetto va considerato non verificato, anche quando ogni riga dei file corrisponde, perché il manifesto stesso non è attendibile.

Un pacchetto alterato

✓ Firma Ed25519 VALIDAIl manifest è stato firmato con la chiave pubblicata di LIFETIMEBESS (key_id ltb-2026-10) e non è stato alterato.
✗ asset-summary.json

NON corrisponde — il file è stato modificato

Un byte modificato in un file di dati cambia il suo hash SHA-256, quindi quel file non supera il controllo. La firma può restare valida, perché il manifesto non è stato toccato. Si legga la riga ✗, non solo il banner. Se qualcuno modifica anche il manifesto in modo che la riga corrisponda, la firma diventa NON VALIDA.

Altri due casi. Un file elencato nel manifesto ma non trascinato compare come «elencato nel manifest, non fornito». Un file trascinato che il manifesto non elenca compare come «non elencato nel manifest». Il pacchetto va considerato incompleto finché ogni file elencato non ha una riga corrispondente.
Formato aperto

LTB-Evidence-Manifest/0.1, un formato aperto

Il formato usa JSON, SHA-256 ed Ed25519. Non richiede alcuna blockchain né un visualizzatore proprietario. Chiunque può implementarlo, e chiunque può verificare un pacchetto senza questa pagina.

Cosa contiene un manifesto

specLTB-Evidence-Manifest/0.1
files[]percorso, SHA-256 e dimensione in byte di ciascun file del pacchetto
assetl'asset a cui si riferiscono le evidenze. L'esempio usa un identificativo di accumulo a batterie (BESS), SAMPLE-BESS-CL-001
engine / seedquando un modello ha prodotto un valore: la versione del modello e il seme casuale, così il valore può essere riprodotto
key_idla chiave pubblicata usata dal firmatario (ltb-2026-10)
createdquando il firmatario ha prodotto il pacchetto. La data è scritta dal firmatario e non è ancora marcata temporalmente da un soggetto indipendente
manifest.sigfirma Ed25519 separata sui byte esatti di manifest.json, memorizzata come testo base64

Verificare con OpenSSL, se preferito

Non serve questa pagina. Servono OpenSSL 3.x e la chiave pubblica pubblicata. Si eseguano questi tre passaggi nella cartella che contiene il pacchetto:

base64 -d < manifest.sig > manifest.sig.bin printf '%s\n' '-----BEGIN PUBLIC KEY-----' \ 'MCowBQYDK2VwAyEAggCg4K6ADrzNTxsERRHNZP8S3B0dPmo8GrxBMjdrqhQ=' \ '-----END PUBLIC KEY-----' > ltb-pub.pem openssl pkeyutl -verify -pubin -inkey ltb-pub.pem -rawin -in manifest.json -sigfile manifest.sig.bin

Il risultato è «Signature Verified Successfully» oppure «Signature Verification Failure». Il secondo passaggio scrive la chiave pubblicata come chiave pubblica PEM. La riga base64 è la codifica standard SubjectPublicKeyInfo della stessa chiave di 32 byte: un'intestazione Ed25519 fissa di 12 byte seguita dalla chiave grezza. La chiave in sé non cambia.

Chiave pubblica pubblicata (Ed25519, grezza, base64), key_id ltb-2026-10:

ggCg4K6ADrzNTxsERRHNZP8S3B0dPmo8GrxBMjdrqhQ=

Chiave pubblica pubblicata (Ed25519, grezza, base64), key_id ltb-2026-08:

DxjoM0/6xTb0EhP4UYrutsJ1qspmCREvYnMrelVWMdE=

Sono pubblicate due chiavi. ltb-2026-10 firma i pacchetti da ottobre 2026, compreso questo campione. ltb-2026-08 resta valida per i pacchetti firmati prima di quella data.

Non ancora implementato: marche temporali RFC 3161. I pacchetti recano solo una firma Ed25519. Non recano ancora una marca temporale attendibile da un'autorità di marcatura temporale indipendente, quindi la data nel manifesto è una dichiarazione del firmatario.
Limiti

Ciò che un risultato valido non dimostra

Un pacchetto valido dimostra integrità e origine. Questi file, così come elencati, sono stati firmati con la chiave pubblica di LIFETIMEBESS e non sono cambiati dopo la firma. Un pacchetto valido non dimostra:

  • che le letture siano corrette, o che i contatori e i registratori che le hanno prodotte siano stati tarati;
  • che l'impianto esista come descritto, o che si trovi nello stato indicato dal suo riepilogo;
  • che una cifra sia una misura. Si controlli l'etichetta di ogni cifra: VERIFICATO significa pubblicato dalla fonte, STIMATO significa un nostro calcolo con le sue ipotesi, e ILLUSTRATIVO significa un esempio.
L'esempio è illustrativo. Il pacchetto di esempio serve a mostrare il formato. È un caso di accumulo a batterie (BESS), non un impianto reale né una misura di alcun asset reale. Un pacchetto firmato specifico per il solare è in preparazione.

Inizi dal PV Health Score gratuito.

Verifichi per primi i dati di monitoraggio di un impianto. Per un pacchetto di evidenze firmato su un asset, ci scriva.

Ottenere il PV Health Score gratuito Scrivere per un pacchetto