Posso fare una firma X / ADES avvolgente su contenuto binario?

4

Ho bisogno di firmare alcuni contenuti binari (documenti scansionati) con una firma digitale conforme alle norme europee, CAdES - XAdES. Un'opzione potrebbe essere quella di utilizzare la libreria per eseguire una firma XAdES. Esiste un modo standard di impacchettare il contenuto binario per l'inclusione in una firma di tipo XAdES? Uno sviluppatore di fretta potrebbe Base64 codificare l'intera cosa e metterlo in una coppia di tag? Sembra un po 'selvaggio. C'è un modo accettato? Che dire della canonicalizzazione? Posso semplicemente spegnerlo?

    
posta bbsimonbb 22.12.2015 - 10:49
fonte

3 risposte

1

Base64 aggiungerà un sovraccarico enorme quindi suggerirei una delle seguenti soluzioni:

  • Firma il PDF ma mantieni la firma XAdES in un file XML separato ("firma esterna"). Il vantaggio è che il documento originale è immediatamente disponibile anche senza il software di verifica della firma. Il che è anche uno svantaggio per la sicurezza, in quanto le persone possono aprire il file senza verificarne l'autenticità. YMMV.
  • Piuttosto che incorporare il PDF in XAdES, incorporare XAdES in PDF, poiché il formato è già ben preparato per le firme digitali dalla ISO 32000 e c'è persino un profilo PDF dedicato per quello chiamato PAdES . È la soluzione migliore per tutti i fattori poiché la firma verrà automaticamente convalidata all'apertura del documento e non è necessario il software dedicato. E l'usabilità era sempre un grosso problema nella firma elettronica dell'UE, come documentato in questo articolo .
risposta data 16.05.2017 - 11:36
fonte
1

Esistono tre metodi di firma validi relativi alle norme europee:

  • CAdES
  • PAdES
  • XAdES

PAdES e XAdES si riferiscono specificamente a un formato di documento, PDF e XML.
I file PDF firmati con PAdES rimarranno PDF e XML firmato con XAdES rimarrà XML valido.

Per ogni altro tipo di file, incluso il contenuto binario senza un formato specifico, dovresti usare CAdES. Questo avvolgerà il contenuto in un file P7M che sarà in grado di ispezionare con i lettori di firme P7M, e sarà anche in grado di estrarre il file originale, se necessario.

Codificare i tuoi contenuti con Base64 e inserirli in un XML per la firma XAdES è saltare attraverso i loop per raggiungere il tuo obiettivo (con un file firmato), e una volta che hai dato a qualcuno quel file firmato, non avranno alcuna idea su come interpretarlo , a meno che tu non aggiunga istruzioni su come lo hai codificato, vanificando lo scopo di avere uno standard di firma (dato che hai manipolato i tuoi dati in un modo non standard).

    
risposta data 16.05.2017 - 11:44
fonte
0

Base64 che codifica il contenuto binario era la strada da percorrere. Il pacchetto MS-XAdES è la migliore, forse unica, implementazione delle norme europee di firma per dot net. Anche con la canonicalizzazione, ho dovuto serializzare l'XML su una riga per ottenere la firma da convalidare. XML, devi amarlo.

    
risposta data 16.11.2016 - 16:27
fonte

Leggi altre domande sui tag