public void WhenIDecryptTheTokenUsingRijndaelEncryption() { var encryptionMechanismFactory = new RijndaelDecryptionMechanismFactory(key, Convert.FromBase64String(encryptedArmorToken)); var decryptor = new ArmorTokenEncryptor(encryptionMechanismFactory); decryptor.Execute(); decryptedArmorToken = decryptor.Output; }
public void GivenIHaveEncryptedTheValidArmorToken() { using (var provider = new RNGCryptoServiceProvider()) provider.GetBytes(encryptionKey); var encryptionMechanismFactory = new RijndaelEncryptionMechanismFactory(encryptionKey, Encoding.UTF8.GetBytes(serialisedArmorToken)); var armorTokenEncryptor = new ArmorTokenEncryptor(encryptionMechanismFactory); armorTokenEncryptor.Execute(); encryptedArmorToken = armorTokenEncryptor.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; }
public void GivenIHaveSuppliedAnEncryptedArmorTokenForHashUsingHMACSHA(int p0) { originalArmorToken = new ArmorToken("*****@*****.**", "myPlatform", 0, new[] { new Claim("Dummy", "Claim") }); var armorTokenSerialisor = new ArmorTokenSerialisor(originalArmorToken); armorTokenSerialisor.Execute(); using (var provider = new RNGCryptoServiceProvider()) provider.GetBytes(encryptionKey); var encryptionMechanismFactory = new RijndaelEncryptionMechanismFactory(encryptionKey, Encoding.UTF8.GetBytes(armorTokenSerialisor.SerialisedArmorToken)); var armorTokenEncryptor = new ArmorTokenEncryptor(encryptionMechanismFactory); armorTokenEncryptor.Execute(); encryptedArmorToken = armorTokenEncryptor.Output; }