public void ClientEncryption4Queue() { var kv = new KeyVaultTester("624c0e2f-6122-4b26-a229-06431f82e6b3", "C35CBFF9FA6C51E51E1DE97B6D1E246F27661301", "https://kvsignalrdeva.vault.azure.net"); var name = "AzSignalR-Storage-ClientEncryptionKey"; var rsaValue = kv.GetSecretAsync(name).Result; string kid = "signalrkeyid"; StorageRunnerContext.RunOnQueue(storage, "jwtestqueuea" + Guid.NewGuid().ToString().Substring(0, 8), (cloudQueue) => { var csp1 = new RSACryptoServiceProvider(); csp1.FromXmlString(rsaValue); var rsa1 = new RsaKey(kid, csp1); QueueEncryptionPolicy policy = new QueueEncryptionPolicy(rsa1, null); QueueRequestOptions options = new QueueRequestOptions() { EncryptionPolicy = policy }; cloudQueue.AddMessage(new CloudQueueMessage("messageContentABC"), null, null, options, null); // Retrieve message var csp2 = new RSACryptoServiceProvider(); csp2.FromXmlString(rsaValue); var rsa2 = new RsaKey(kid, csp2); QueueEncryptionPolicy policy2 = new QueueEncryptionPolicy(rsa2, null); QueueRequestOptions options2 = new QueueRequestOptions() { EncryptionPolicy = policy2 }; CloudQueueMessage retrMessage = cloudQueue.GetMessage(null, options2, null); Console.WriteLine(retrMessage.AsString); }); }
static async void KVTest() { var kv = new KeyVaultTester("624c0e2f-6122-4b26-a229-06431f82e6b3", "C35CBFF9FA6C51E51E1DE97B6D1E246F27661301", "https://kvsignalrdeva.vault.azure.net"); var name = "signalrdf"; var secret = await kv.GetSecretAsync(name); Console.WriteLine(secret); var bytes = Convert.FromBase64String(secret); var coll = new X509Certificate2Collection(); coll.Import(bytes, null, X509KeyStorageFlags.Exportable); X509Certificate2 certificate = coll[0]; Console.WriteLine(certificate.FriendlyName); //await kv.SetSecretAsync(name, "vvv"); //secret = await kv.GetSecretAsync(name); //Console.WriteLine(secret); }