private string GetChalangeDnsText(Account account, string token) { var key = GetChalangeKey(account, token); var hashed = Sha256HashProvider.ComputeHash(Encoding.UTF8.GetBytes(key)); return(JwsConvert.ToBase64String(hashed)); }
public void HashTest() { var hashProvider = new Sha256HashProvider(); var dataList = new List <byte>() { }; var hashList = new List <byte>() { }; var data = new ListData(dataList); var hash = new ListData(hashList); hashProvider.Hash(data, hash); const int desiredOutputSize = 256 / 8; Assert.IsTrue(hashList.Count == desiredOutputSize); dataList.Add(0x01); var oldHashList = new List <byte>(hashList); hashList.Clear(); hashProvider.Hash(data, hash); Assert.IsTrue(hashList.Count == desiredOutputSize); Assert.IsTrue(!hashList.SequenceEqual(oldHashList)); }
// //private async Task<Authorization> DeactivateChallengeAsync(Uri location) //{ // var auth = new Authorization { Status = AuthorizationStatus.Deactivated }; // var signedData = _jws.Sign(auth, location, location, Nonce); // return await PostAsync<Authorization>(location, signedData); //} private string GetChalangeKey(Account account, string token) { var jwkJson = JsonConvert.SerializeObject(account.Key.Jwk, Formatting.None, _jsonSettings); var jwkBytes = Encoding.UTF8.GetBytes(jwkJson); var jwkThumbprint = Sha256HashProvider.ComputeHash(jwkBytes); var jwkThumbprintEncoded = JwsConvert.ToBase64String(jwkThumbprint); return($"{token}.{jwkThumbprintEncoded}"); }
public void Generate_Hash() { //arrange var text = "iiaasdsadnnvasd"; var stream = new StringStream(); stream.Write(text.Substring(0, 5)); stream.Write(text.Substring(5)); var provider = new Sha256HashProvider(); //act var hash = provider.GetHashOfStream(stream); //assert HashValue expected = "06BFF1A1"; hash.Should().Be(expected); }