Ho il seguente codice che crea un hash da una password e quindi lo confronta con una password hash memorizzata nel db. Tutto funziona bene su http. Questa per un'applicazione ASP.NET WebForms esecuzione in C# 4,0HMACSHA1 SSL issue
HMACSHA1 hash = new HMACSHA1();
hash.Key = Encoding.Unicode.GetBytes(password);
encodedPassword = Convert.ToBase64String(hash.ComputeHash(Encoding.Unicode.GetBytes(password)));
Tuttavia quando in esecuzione su https/ssl la password codificata è diverso e quindi l'utente non può effettuare il login.
Il framework .net fa qualcosa di diverso quando si compila l'hash quando si passa attraverso SSL?
Se passo il codice e copio la password codificata e aggiorno il mio db su SSL posso accedere.
Qualche idea?
Molte grazie
Il protocollo SSL è trasparente per asp.net, non capisco dove e come le password viaggiano da client a server e dove viene eseguito il confronto. – Aristos
Perché usi un HMAC e poi passi come chiave e dati-da-hash con la password? Non ha alcun senso. – Robert
robert, non il mio codice fa parte di opensource cms umbraco. sto solo provando a risolvere un problema che ho scoperto e sembra che oltre la https la codifica sia diversa quando su http forse qualcosa sta succedendo nelle profondità del framework .net? – Ismail