Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    317

    [JAVA/APPLET] Controllo integrità

    Salve ragazzi, sto realizzando un sito in cui vi sarà una applet java che dovrà scambiare informazioni importanti con una applicazione a lato Server.
    Il mio problema è aumentare un po la sicurezza. Vorrei che appena avviata, la applet comunicassi al server se è l'originale o se qualcuno l'ha modificata anche solo di una virgola.
    Mi servirebbe una sorta di firma digitale della applet, firma che viene creata all'avvio e poi inviata al server che la confronta con la firma originale....Se le firme sono identiche e quindi l' applet non ha subito nessuna modifica si procede, altrimenti l'applet viene ignorata.
    Avete consigli e/o istruzioni da darmi su come realizzare tutto questo tipo di controllo??
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    cerca informazioni sui Key Agreement usando l'algoritmo Diffie-Hellman.
    In alternativa potresti usare il MAC.
    Sennò come dicevi c'è la firma digitale, se hai un JDK 1.3 o superiore hai RSA incorporato sennò devi installare un JCE esterno(bouncy castle per esempio), ti mostro un pezzo di codice:

    codice:
    import java.security.*;
    ...
    //genera una coppia di chiavi RSA
    KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
    kpg.initialize(1024);
    KeyPair kp = kpg.genKeyPair();
    ...
    ...
    //firmare
    Signature firma = Signature.getInstance("MD5WithRSA");
    firma.initSign(kp.getPrivate());
    firma.update("Testo da firmare".getBytes("UTF8"));
    byte[] firmato = firma.sign();
    ...
    ...
    //a questo punto in firmato c'è la firma, controlliamo se è giusta
    firma.initVerify(kp.getPublic());
    firma.update("Testo da firmare".getBytes("UTF8"));
    if(sign.verify(firmato)) ;//ok
    else ;//no ok
    ...
    metti i try o i throws, sistema il codice(magari integrando dal sito di Sun o da una ricerca), servirà una chiave privata per creare la firma e una pubblica per verificarla.


    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.