Domanda

Sto lottando con il seguente scenario:

  1. 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.

  2. 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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top