public async void Sanity_Decryption() { var kvUri = "http://dummyKvUri"; var rawData = "Some data !!!"; var kvInfo = new DatabaseMock(kvUri); var secretsMgmnt = new KeyVaultCryptoActions( new CertificateInfo(c_encKeyName, string.Empty), new CertificateInfo(c_decKeyName, string.Empty), new CertificateInfo(c_signKeyName, string.Empty), new CertificateInfo(c_verifyKeyName, string.Empty), kvInfo, kvInfo); await secretsMgmnt.InitializeAsync(); // Encrypt var encryptedData = secretsMgmnt.Encrypt(Communication.Utils.ToByteArray(rawData)); // Decrypt var decryptedData = secretsMgmnt.Decrypt(encryptedData); // Verify the process ended successfully and the data is plain text Assert.IsType <byte[]>(encryptedData); Assert.Equal(256, encryptedData.Length); Assert.Equal(decryptedData, Communication.Utils.ToByteArray(rawData)); }
public async Task Test_AzureImpl_Enqueue_Dequeue() { // Init var queueMock = new CloudQueueClientWrapperMock(); var keyVaultMock = new DatabaseMock("url"); var encryptionManager = new KeyVaultCryptoActions( new CertificateInfo("emc", string.Empty), new CertificateInfo("emc", string.Empty), new CertificateInfo("emc", string.Empty), new CertificateInfo("emc", string.Empty), keyVaultMock, keyVaultMock); await encryptionManager.InitializeAsync(); var queueName = "queueName"; var azureQueue = new AzureQueue(queueName, queueMock, encryptionManager, true); await azureQueue.InitializeAsync(); // Enqueue Message var msg = "new message"; await azureQueue.EnqueueAsync(Communication.Utils.ToByteArray(msg)); var task = azureQueue.DequeueAsync(decrypted => { // Verify that the decrypted message equals to the original Assert.Equal(msg, Communication.Utils.FromByteArray <string>(decrypted)); }, (message) => { Console.WriteLine("Verification failure, doing nothing"); }, TimeSpan.FromMilliseconds(1)); Thread.Sleep(10000); azureQueue.CancelListeningOnQueue(); await task; }
public async Task Test_Enqueue_Message_Happy_flow() { // Init var queueMock = new CloudQueueClientWrapperMock(); var keyVaultMock = new DatabaseMock("url"); var encryptionManager = new KeyVaultCryptoActions( new CertificateInfo("emc", string.Empty), new CertificateInfo("emc", string.Empty), new CertificateInfo("emc", string.Empty), new CertificateInfo("emc", string.Empty), keyVaultMock, keyVaultMock); await encryptionManager.InitializeAsync(); var queueName = "queueName"; var azureQueue = new AzureQueue(queueName, queueMock, encryptionManager, true); await azureQueue.InitializeAsync(); // Enqueue message var msg = "new message"; await azureQueue.EnqueueAsync(Communication.Utils.ToByteArray(msg)); var queueRefernce = queueMock.GetQueueReference(queueName); var result = await queueRefernce.GetMessageAsync(TimeSpan.FromSeconds(10), new QueueRequestOptions(), new OperationContext()); var encryptedMessage = Communication.Utils.FromByteArray <Message>(result.AsBytes); // String is encrypted, check it value Assert.Equal(256, encryptedMessage.Data.Length); }
public async void Sanity_Get_Balance() { var kvInfo = new DatabaseMock("http://dummyKvUri"); var ethereumWallet = new EthereumAccount(kvInfo, "https://rinkeby.infura.io/fIF86MY6m3PHewhhJ0yE"); var transactionHash = await ethereumWallet.GetCurrentBalance(TestConstants.publicKey); Assert.IsType <decimal>(transactionHash); }
public async void Test_SendTransaction() { var kvInfo = new DatabaseMock("http://dummyKvUri"); var ethereumWallet = new EthereumAccount(kvInfo, "https://rinkeby.infura.io/fIF86MY6m3PHewhhJ0yE"); var transactionHash = await ethereumWallet.SignTransactionAsync("sender", TestConstants.publicKey, 100); var transactionResult = await ethereumWallet.SendRawTransactionAsync(transactionHash); Assert.StartsWith("0x", transactionResult); Assert.Equal(66, transactionResult.Length); }
public void Sanity_VerifyCanBeCreated() { var kvInfo = new DatabaseMock("http://dummyKvUri"); var secretsMgmnt = new KeyVaultCryptoActions( new CertificateInfo(c_encKeyName, string.Empty), new CertificateInfo(c_decKeyName, string.Empty), new CertificateInfo(c_signKeyName, string.Empty), new CertificateInfo(c_verifyKeyName, string.Empty), kvInfo, kvInfo); secretsMgmnt.InitializeAsync().Wait(); }
public async void Sanity_Verify() { var kvUri = "http://dummyKvUri"; var rawData = "Some data !!!"; var kvInfo = new DatabaseMock(kvUri); var secretsMgmnt = new KeyVaultCryptoActions( new CertificateInfo(c_encKeyName, string.Empty), new CertificateInfo(c_decKeyName, string.Empty), new CertificateInfo(c_signKeyName, string.Empty), new CertificateInfo(c_verifyKeyName, string.Empty), kvInfo, kvInfo); await secretsMgmnt.InitializeAsync(); // Sign the data var signature = secretsMgmnt.Sign(Communication.Utils.ToByteArray(rawData)); Assert.True(secretsMgmnt.Verify(Communication.Utils.ToByteArray(rawData), signature)); }
public async void Sanity_Encryption() { var kvUri = "http://dummyKvUri"; var rawData = "Some data !!!"; var kvInfo = new DatabaseMock(kvUri); var secretsMgmnt = new KeyVaultCryptoActions( new CertificateInfo(c_encKeyName, string.Empty), new CertificateInfo(c_decKeyName, string.Empty), new CertificateInfo(c_signKeyName, string.Empty), new CertificateInfo(c_verifyKeyName, string.Empty), kvInfo, kvInfo); await secretsMgmnt.InitializeAsync(); var encryptedData = secretsMgmnt.Encrypt(Communication.Utils.ToByteArray(rawData)); Assert.IsType <byte[]>(encryptedData); }