2010-11-14 41 views
14

Sto cercando una crittografia lib di JS (simile a, ad esempio, libcrypto di OpenSSL) che facilita la firma digitale dei dati nel browser.
Desidero firmare i dati dei moduli di modulo sul lato client utilizzando una chiave privata (certificati RSA, PKI o simili).Libreria di crittografia Javascript per firmare i dati del modulo nel browser

ESEMPIO

  1. carichi di dati Form nel browser
  2. utente A recensioni dei dati e dei segni è => la firma viene creato nel browser utilizzando il JS lib e la chiave privata signature=RSA_encrypt(A_private_key, hash(data))
  3. La forma dati e firma vengono inviati al server e archiviati

  4. Un altro utente (B) può verificare la validità della firma confrontando hash(data) con RSA_decrypt(A_public_key, signature) Se qualcuno modifica i dati del modulo, la firma non sarà più valida.

EDIT

https://developer.mozilla.org/en/javascript_crypto
http://www.hanewin.net/encrypt
http://tomas.styblo.name/cryptoapplet/

VIA APPLET
Best way to sign data in web form with user certificate
! =>http://www.nakov.com/research/documents-signing/digital-document-signing-in-java-based-web-applications/
http://www.nakov.com/research/documents-signing/
http://www.developer.com/java/other/article.php/10936_3587361_1
http://www.developer.com/java/web/article.php/3083161
http://blogs.nologin.es/rickyepoderi/index.php?/archives/12-Signature-Applet.html

CONNESSO
http://ccff02.minfin.fgov.be/CCFF_Authentication/views/login/signature/signatureHelp.html
http://msdn.microsoft.com/en-us/library/cc778518%28VS.85%29.aspx

+0

C'è un motivo per cui HTTPS non è sufficiente per questo? Cosa stai cercando di realizzare? – cdhowie

+2

HTTPS non può firmare i dati, pensare a un modulo come una sorta di documento che deve essere firmato, se i dati del modulo sono cambiati, la firma non è più valida – clyfe

+1

Giusto, ma a chi appartiene la chiave privata? L'utente o il tuo servizio? L'utente dovrebbe avere accesso alla chiave privata? (Perché lo fanno ...) Perché non puoi firmare i dati dopo che il tuo servizio lo ha ricevuto? – cdhowie

risposta