public void TestInit() { var pak = new PassphraseEncryptedPacket(new byte[0], new byte[0], new byte[0]); Assert.IsEmpty(pak.CipherText); Assert.IsEmpty(pak.IV); }
public void TestToBase64Conversion() { var buf = new byte[] { 1, 2, 3 }; var base64buf = Convert.ToBase64String(buf); var pak = new PassphraseEncryptedPacket(new byte[0], buf, buf); Assert.AreEqual(pak.ToString(), $"{base64buf}.{base64buf}"); }
public void TestFromBase64Conversion() { var buf = new byte[] { 1, 2, 3 }; var base64buf = Convert.ToBase64String(buf); var pak = PassphraseEncryptedPacket.FromString(new byte[0], $"{base64buf}.{base64buf}"); Assert.AreEqual(pak.IV, buf); Assert.AreEqual(pak.CipherText, buf); }
public async Task <byte[]> GetRepositoryMasterKey(string repo, string passphrase) { var manifest = await GetRepositoryManifest(repo); var repositoryPassphrase = Encoding.UTF8.GetBytes(passphrase); var repositoryMasterKey = PassphraseEncryptedPacket.FromString(repositoryPassphrase, manifest.MasterKey); return(crypto.PassphraseDecrypt(repositoryPassphrase, repositoryMasterKey)); }
public async Task <StoredItemMetadata> GetItemMetadata(string repo, string passphrase, string itemId) { var encryptedMetadata = await driver.ReadMetadata(repo, itemId); var serializedPacket = Encoding.ASCII.GetString(encryptedMetadata); var encodedPassphrase = Encoding.UTF8.GetBytes(passphrase); var packet = PassphraseEncryptedPacket.FromString(encodedPassphrase, serializedPacket); var binaryMetadata = crypto.PassphraseDecrypt(encodedPassphrase, packet); var rawJson = Encoding.UTF8.GetString(binaryMetadata); return(JsonSerializer.Deserialize <StoredItemMetadata>(rawJson)); }
protected string GetPassphrase() { var encpps = User.Claims.SingleOrDefault(c => c.Type == Const.EncryptedPassphraseClaimType); if (encpps == null || encpps.Value == null) { throw new MemzException(MemzErrorCode.InvalidPassphrase, $"Identity does not contain valid {Const.EncryptedPassphraseClaimType} claim"); } var raw = encpps.Value; var serverKey = Configuration.GetServerKey(); var passphrase = CryptoService.PassphraseDecrypt(serverKey, PassphraseEncryptedPacket.FromString(serverKey, raw)); return(Encoding.UTF8.GetString(passphrase)); }
public void TestToBase64ConversionEmpty() { var pak = new PassphraseEncryptedPacket(new byte[0], new byte[0], new byte[0]); Assert.AreEqual(pak.ToString(), "."); }