public async Task <BinaryData> ClientSideEncryptInternal(BinaryData messageToUpload, bool async, CancellationToken cancellationToken) { byte[] bytesToEncrypt = messageToUpload.ToArray(); (byte[] ciphertext, EncryptionData encryptionData) = await _encryptor.BufferedEncryptInternal( new MemoryStream(bytesToEncrypt), async, cancellationToken).ConfigureAwait(false); return(EncryptedMessageSerializer.Serialize(new EncryptedMessage { EncryptedMessageText = Convert.ToBase64String(ciphertext), EncryptionData = encryptionData })); }
public async Task <string> ClientSideEncryptInternal(string messageToUpload, bool async, CancellationToken cancellationToken) { var bytesToEncrypt = Encoding.UTF8.GetBytes(messageToUpload); (byte[] ciphertext, EncryptionData encryptionData) = await _encryptor.BufferedEncryptInternal( new MemoryStream(bytesToEncrypt), async, cancellationToken).ConfigureAwait(false); return(EncryptedMessageSerializer.Serialize(new EncryptedMessage { EncryptedMessageText = Convert.ToBase64String(ciphertext), EncryptionData = encryptionData })); }
public void SerializeEncryptedMessage() { var result = new ClientSideEncryptor(new ClientSideEncryptionOptions(ClientSideEncryptionVersion.V1_0) { KeyEncryptionKey = GetIKeyEncryptionKey().Object, KeyWrapAlgorithm = KeyWrapAlgorithm }).BufferedEncryptInternal( new MemoryStream(Encoding.UTF8.GetBytes(TestMessage)), async: false, default).EnsureCompleted(); var encryptedMessage = new EncryptedMessage() { EncryptedMessageText = Convert.ToBase64String(result.Ciphertext), EncryptionData = result.EncryptionData }; var serializedMessage = EncryptedMessageSerializer.Serialize(encryptedMessage); // success = don't throw. test values in another test with deserialization (can't control serialization order) }
public void DeserializeEncryptedMessage() { var result = new ClientSideEncryptor(new ClientSideEncryptionOptions(ClientSideEncryptionVersion.V1_0) { KeyEncryptionKey = GetIKeyEncryptionKey().Object, KeyWrapAlgorithm = KeyWrapAlgorithm }).BufferedEncryptInternal( new MemoryStream(Encoding.UTF8.GetBytes(TestMessage)), async: false, default).EnsureCompleted(); var encryptedMessage = new EncryptedMessage() { EncryptedMessageText = Convert.ToBase64String(result.Ciphertext), EncryptionData = result.EncryptionData }; var serializedMessage = EncryptedMessageSerializer.Serialize(encryptedMessage); var parsedEncryptedMessage = EncryptedMessageSerializer.Deserialize(serializedMessage); Assert.IsTrue(AreEqual(encryptedMessage, parsedEncryptedMessage)); }