XAdES: la firma elettronica avanzata pensata per i documenti XML
Standard europeo, modalità enveloped, estensione .xml: capito il meccanismo firmi e riconosci una fattura XAdES in pochi secondi.
La firma XAdES è il formato europeo di firma digitale progettato per i documenti XML: il blocco firmato non avvolge il file in una busta esterna, ma viene inserito dentro il suo stesso markup. In Italia la incontri soprattutto sulla fattura elettronica: le regole dell’Agenzia delle Entrate per il Sistema di Interscambio ammettono la firma XAdES-BES accanto alla più nota CAdES, con una differenza visibile subito, l’estensione che resta .xml.
Che cos’è la firma XAdES
Il nome completo è XML Advanced Electronic Signatures. Una nota tecnica AgID lo ricorda insieme agli altri: gli standard europei individuano tre tipi di sottoscrizione digitale, CAdES, PAdES e XAdES, adottati anche in Italia. La famiglia di norme di riferimento è ETSI EN 319 132, che prosegue il lavoro della specifica precedente ETSI TS 101 903, quella a cui il SdI fa riferimento quando descrive la XAdES-BES ammessa in fattura.
Strutturalmente, la XAdES si appoggia a XML Signature, lo standard W3C per firmare documenti XML. In pratica: dentro l’XML compare un blocco di firma che contiene il riferimento al documento sottoscritto. Leggendolo con un editor, il file resta quello che è: XML leggibile, con la prova crittografica all’interno del documento.
Dove serve in Italia: la fattura elettronica
L’uso quotidiano italiano della firma XAdES è la fattura PA, e le condizioni poste dall’Agenzia delle Entrate sono precise:
- ogni file FatturaPA trasmesso al SdI deve essere firmato da chi emette la fattura, con certificato di firma qualificata rilasciato da un certificatore presente nell’elenco dei prestatori di servizi fiduciari pubblicato da AgID;
- tra i formati ammessi c’è la XAdES-BES, con struttura aderente alla specifica ETSI TS 101 903 versione 1.4.1;
- l’unica modalità accettata è quella enveloped, cioè firma incorporata nel documento;
- gli elementi Reference devono avere URI vuoto oppure URI che punta all’identificativo del documento: l’attributo URI non può essere omesso;
- il riferimento temporale che il SdI controlla è l’attributo signing time della firma: se risulta successivo al momento di ricezione, il file viene scartato; la marca temporale separata non è obbligatoria;
- in caso di invio in archivio compresso, l’archivio non si firma: vanno firmati i singoli file fattura al suo interno.
Perché qui il PAdES non è previsto
La firma PAdES si applica solo ai PDF, mentre il tracciato FatturaPA è XML: per questo l’elenco SdI si ferma a CAdES-BES e XAdES-BES, e un PDF della fattura, anche se firmato correttamente, non è un file trasmissibile al posto dell’XML. La copia in PDF serve dopo, per leggere o archiviare comodamente; il documento che viaggia e che resta agli atti è l’XML, firmato in uno dei due formati previsti.
Se ti serve il confronto con l’altro formato ammesso sulla fattura, la pagina dedicata è Fattura XML.P7M.
XAdES o CAdES: che cambia sul file
| Caratteristica | XAdES-BES | CAdES-BES |
|---|---|---|
| Estensione dopo la firma | .xml | .xml.p7m |
| Posizione della firma | dentro il markup dell’XML | busta che racchiude l’XML |
| Apertura a occhio nudo | sì, è sempre un XML testuale | no, serve aprire la busta |
| Ammessa dal SdI | sì, solo enveloped | sì |
| Serve software del certificatore | per firmare, non per leggere | per firmare e per estrarre |
La scelta tra i due formati, per una fattura, è quasi sempre del software di fatturazione, non di chi firma. Chi riceve si trova .xml o .xml.p7m a seconda di cosa usa il cedente, e entrambi i file contengono la stessa identica fattura: cambia solo il contenitore. Il principio generale, valido oltre la fattura, è spiegato nel confronto CAdES o PAdES.
Esempio concreto: dal commercialista può arrivare IT01234567890_FPR02.xml, la fattura firmata XAdES con il blocco di firma dentro il markup, oppure IT01234567890_FPR02.xml.p7m, lo stesso XML in busta CAdES. Da conservare, in entrambi i casi, va tenuto il file firmato ricevuto, non una stampa o un PDF rifatto a mano.
Riconoscere un file firmato XAdES
Apri l’XML con un editor di testo: se la fattura è firmata XAdES trovi, annidato nella struttura, il blocco di firma con gli elementi Reference che il SdI impone valorizzati. Un indizio è anche il nome: IT01234567890_FPR02.xml arrivato come fattura firmata è un XML con firma incorporata; .xml.p7m è la stessa fattura in busta CAdES. Per la struttura generale del file c’è la guida Fattura elettronica in formato XML.
Attenzione a un equivoco: vedere il blocco di firma nel testo non dice nulla sulla sua validità . La presenza della marcatura è una questione di sintassi; verificare se la firma è integra, se il certificato era valido al momento della firma e se la catena di fiducia è affidabile richiede un validatore. Il percorso completo è nella pagina Verifica fattura elettronica.
Cosa fa questo sito con gli XML firmati
L’area di apertura in alto legge i byte del file e riconosce la fattura elettronica FatturaPA sia in .xml sia in .xml.p7m: mostra una vista leggibile con cessionario, cedente, righe, imponibili e totale, permette di scaricare la copia PDF e l’XML originale, che è il documento fiscale da conservare. Se il file è in busta CAdES, il pannello elenca anche i firmatari dichiarati.
Due limiti da conoscere. Il primo: la vista fattura esiste solo per il tracciato FatturaPA, non per XML generici di altri progetti o capitolati. Il secondo: questo sito non convalida nulla contro il SdI e non controlla le liste di fiducia, quindi non può affermare che una firma XAdES o CAdES sia valida ai fini legali; mostra chi ha firmato e ricontrolla l’impronta dei contenuti, mentre la valutazione sulla validità spetta a un validatore ufficiale, come descritto in Verifica firma digitale.
Apri la tua fattura firmata
Se hai ricevuto una fattura .xml con firma XAdES o una .xml.p7m, trascinala nell’area in alto: con l’account gratuito hai la vista contabile e i dati del firmatario, mentre il documento completo e lo scaricamento sono a pagamento, per singolo file o con abbonamento. In ogni caso il file viene letto sul tuo dispositivo senza essere caricato, e l’originale firmato resta la copia da conservare.
Domande frequenti
Che cos'è la firma XAdES?
XAdES sta per XML Advanced Electronic Signatures: è uno dei tre formati europei di firma, insieme a CAdES e PAdES. La firma non avvolge il documento in una busta separata, ma entra dentro il file XML come blocco firmato che referenzia il contenuto.
La fattura elettronica deve essere firmata XAdES?
La fattura trasmessa al Sistema di Interscambio deve essere firmata con certificato di firma qualificata, ma il formato è a scelta tra due: XAdES-BES, che lascia il file .xml, o CAdES-BES, che produce il file .xml.p7m. Li elenca l'Agenzia delle Entrate nelle regole per la firma.
Come si apre un file firmato XAdES?
Il file resta un XML: un editor di testo o un browser mostrano il documento e il blocco di firma incorporato. Se la fattura è invece in .xml.p7m serve l'apertura della busta. Su questo sito la fattura elettronica si legge in vista con totali, righe e dati delle parti.
Che differenza c'è tra XAdES e CAdES?
Firmano lo stesso documento in due punti diversi. La XAdES è marcatura XML dentro il file; la CAdES è una busta crittografica che lo racchiude e cambia l'estensione in .p7m. Per il Sistema di Interscambio sono equivalenti: accetta entrambe.
La firma XAdES è gratuita?
No: come ogni firma qualificata richiede un certificato di firma rilasciato da un certificatore. Il sito serve a leggere i file già firmati, non a creare firme.
Cos'è la modalità enveloped?
È la forma in cui il blocco di firma è contenuto dentro lo stesso documento firmato. Per le fatture trasmesse al SdI è l'unica modalità accettata dall'Agenzia delle Entrate, che non ammette la firma separata dal file.
Trascina qui il tuo file .p7m / .p7s / .tsd / FatturaPA
Apri il tuo file