firma digitale - indipendente PKCS # 7 in XML-DSIG
-
22-09-2019 - |
Domanda
Sto lottando con il seguente scenario:
-
un XML-messaggio è stato creato sul lato client e firmato digitalmente utilizzando window.crypto.signText di Mozilla. Dopo la firma, il messaggio e la firma vengono trasmessi attraverso un webservice (.net) al server. Tutto va bene fino a questo punto.
-
sul server, l'XML deve essere inclusa in un altro documento XML, che è accessibile al pubblico. La firma dovrebbe essere pubblicato pure in modo da garantire il non ripudio.
D: Esiste un'opzione di liscio per convertire il distaccata PKCS # 7 in XML-DSIG (ad esempio la funzionalità nel quadro .net)?
Q2:? O è possibile creare l'XML-DSIG già sul lato client senza utilizzare plugin esterni
Tnx per il vostro aiuto!
Alois Paulin
Soluzione
A causa della natura di entrambi i formati di firma digitale XML e PKCS # 7, non è possibile convertire da uno all'altro.
In una spiegazione molto semplificata, la firma in formato PKCS # 7 contiene, tra le altre roba, qualche struttura specifica di dati chiamata DigestInfo che contiene i dati digerire e un OID (identificatore di oggetto), ed è stato cifrato con la chiave privata dell'utente. Il formato XML-DSig applica l'ultimo passo dell'algoritmo crittografico (di nuovo con la la chiave privata dell'utente) per un valore di dati diverso calcolato a partire digerendo i dati XML originali e alcune strutture di dati XML-dSig specifici. Pertanto, dal momento che entrambi i valori cifrati non sarà lo stesso, è possibile solo per generare la firma XML-DSig firmando i dati con la chiave privata dell'utente, che non si avrà accesso al (da cui il nome privato).
Da questa spiegazione, la risposta alla tua prima domanda è "No, non c'è alcuna opzione liscia, non è possibile a tutti" .
Quindi l'unica opzione è quella di generare il XML-DSig direttamente sul lato client. Questo non è possibile utilizzare JavaScript standard, sicuramente non con window.crypto di Firefox (che genera solo le firme PKCS7 staccati). Alla mia azienda ( www.isigma.es ), risolviamo che utilizzando un applet, si tratta di una soluzione comune nel settore della firma digitale (ce ne sono molti commerciale e anche alcune soluzioni open source). Che non può essere un'opzione nel tuo caso, se non si vuole plugin del browser.
CAPICOM (le finestre basato su Active / X componenti che è possibile utilizzare in una configurazione di Microsoft) anche non genera XML-DSig, solo CMS / PKCS7.