Prima di tutto, né SHA-1 né qualsiasi cosa correlata a SHA-2 è un algoritmo di "crittografia". Sono funzioni hash. In SSL, le funzioni di hash sono utilizzate principalmente per l'integrità, non la riservatezza, attraverso la costruzione HMAC. Una funzione di hash prende un input di lunghezza arbitraria e produce un output con una lunghezza fissa, che è una sorta di "digest" dei dati di input; l'operazione è destinata a non essere reversibile.
Una funzione di hash è "pubblica": non ci sono dati riservati, nessuna chiave; tutti possono calcolare l'output della funzione hash su ogni dato input. Un "codice di autenticazione del messaggio" (MAC) è un tipo di "hash con chiave": una chiave segreta (cioè un numero arbitrario di bit) viene anche inserita nel processo, in modo tale che la conoscenza della chiave sia necessaria per (ri) calcolare l'uscita MAC. Viene usato per i controlli di integrità (il mittente usa la chiave per calcolare il MAC, il ricevitore usa la chiave per ricalcolare il MAC, se il MAC corrisponde, allora i dati sono corretti, perché un utente malintenzionato, non conoscendo la chiave, non poteva avere alterato i dati e calcolato un MAC valido sui dati modificati).
HMAC è una costruzione che trasforma una funzione di hash (come SHA-1) in un MAC. TLS (che è il nome standard corrente di SSL) utilizza HMAC. L'output di HMAC, se utilizzato con una determinata funzione di hash h, ha la stessa dimensione dell'output di h. Tale output può essere convenzionalmente troncato: HMAC/SHA-1 produce nominalmente un output a 160 bit, ma è consuetudine, in alcuni protocolli, mantenere solo i primi 96 bit. Tale troncamento non si verifica in SSL.
Lo standard FIPS 180-3 definisce cinque funzioni di hash, denominate SHA-1, SHA-224, SHA-256, SHA-384 e SHA-512, con lunghezze di uscita rispettivamente di 160, 224, 256, 384 e 512 bit. Le funzioni SHA-224, SHA-256, SHA-384 e SHA-512 sono colloquialmente denominate "SHA-2", quindi "SHA-2" non è una funzione, ma una famiglia di quattro funzioni hash.
La specifica definisce TLSsuite di cifratura. Una suite di crittografia è un insieme di algoritmi crittografici che il client e il server concordano durante la fase iniziale della connessione (la "stretta di mano"). Tra gli algoritmi c'è il MAC da utilizzare per garantire l'integrità dei dati. Alcune delle suite di crittografia standard specificano che il MAC deve essere "HMAC con SHA-256", cioè qualcosa che utilizza una delle funzioni SHA-2.
Quindi la risposta alla tua domanda è: "basta configurare il client e il server per utilizzare uno dei pacchetti di crittografia con HMAC/SHA-256". Se la tua implementazione SSL non supporta tali suite di cifrari, dovrai modificarla, il che implicherà la comprensione abbastanza completa di come funziona SSL; sarà necessario leggere e comprendere l'intera RFC 5246.
Quali SHA-2 algoritmo ti interessano? –
In realtà non importa finché si tratta di un algoritmo SHA-2 :) Riguarda – Hellnar
Che cosa ha a che fare questo con SSL? –