public void WhenIDecryptTheTokenUsingRijndaelEncryption() { var encryptionMechanismFactory = new RijndaelDecryptionMechanismFactory(key, Convert.FromBase64String(encryptedArmorToken)); var decryptor = new ArmorTokenEncryptor(encryptionMechanismFactory); decryptor.Execute(); decryptedArmorToken = decryptor.Output; }
public void WhenIVerifyTheHashedArmorTokenSHMACSHASignature(int p0) { switch (p0) { case 256: hashingMode = HashingMode.HMACSHA256; break; case 512: hashingMode = HashingMode.HMACSHA512; break; default: throw new NotImplementedException("Invalid Hashing Mode."); } var hashedArmorTokenParser = new HashedArmorTokenParser(hashingMode, Convert.FromBase64String(hashedArmorToken)); hashedArmorTokenParser.Execute(); byte[] hash; switch (p0) { case 256: using (var hmac = new HMACSHA256(hashingKey)) hash = hmac.ComputeHash(hashedArmorTokenParser.ParsedArmorToken.ArmorToken); break; case 512: using (var hmac = new HMACSHA512(hashingKey)) hash = hmac.ComputeHash(hashedArmorTokenParser.ParsedArmorToken.ArmorToken); break; default: throw new NotImplementedException("Invalid Hashing Mode."); } Assert.AreEqual(hashedArmorTokenParser.ParsedArmorToken.Hash, hash); var encryptionMechanismFactory = new RijndaelDecryptionMechanismFactory(encryptionKey, hashedArmorTokenParser.ParsedArmorToken.ArmorToken); var armorTokenDecryptor = new ArmorTokenEncryptor(encryptionMechanismFactory); armorTokenDecryptor.Execute(); var decrypted = armorTokenDecryptor.Output; var armorTokenDeserialisor = new ArmorTokenDeserialisor(decrypted); armorTokenDeserialisor.Execute(); deserialisedArmorToken = armorTokenDeserialisor.DeserialisedArmorToken; }