private async Task <List <KeyBundle> > GetKeyBundleVersionsAsync() { var keyVaultClient = new KeyVaultClient(_authentication.KeyVaultClientAuthenticationCallback); List <KeyItem> keyItems = new List <KeyItem>(); var page = await keyVaultClient.GetKeyVersionsAsync(_options.KeyVaultUrl, _options.KeyIdentifier); keyItems.AddRange(page); while (!string.IsNullOrWhiteSpace(page.NextPageLink)) { page = await keyVaultClient.GetKeyVersionsNextAsync(page.NextPageLink); keyItems.AddRange(page); } var keyBundles = new List <KeyBundle>(); foreach (var keyItem in keyItems) { var keyBundle = await keyVaultClient.GetKeyAsync(keyItem.Identifier.Identifier); keyBundles.Add(keyBundle); } return(keyBundles); }
public async Task <IPage <KeyItem> > GetKeyVersions(string keyName) { var client = new KeyVaultClient(AuthCallback); var r = await client.GetKeyVersionsAsync(VaultBaseUrl, keyName); return(r); }
private static async Task CreateKeyIfNotExists() { var versions = await keyVaultClient.GetKeyVersionsAsync(keyVaultUrl, keyName); // var existingKey = await keyVaultClient.GetKeyAsync(keyVaultUrl, keyVaultUrl, new CancellationToken()); if (!versions.Any()) { await keyVaultClient.CreateKeyAsync(keyVaultUrl, keyName, "RSA", 2048); } }
/// <summary> /// List the versions of a key /// </summary> /// <param name="keyName"> key name</param> private static void ListKeyVersions(string keyName) { var vaultAddress = inputValidator.GetVaultAddress(); keyName = (keyName == string.Empty) ? inputValidator.GetKeyId() : keyName; var numKeyVersions = 0; var maxResults = 1; Console.Out.WriteLine("List key versions:---------------"); var results = keyVaultClient.GetKeyVersionsAsync(vaultAddress, keyName, maxResults).GetAwaiter().GetResult(); if (results != null) { numKeyVersions += results.Count(); foreach (var m in results) { Console.Out.WriteLine("\t{0}-{1}", m.Identifier.Name, m.Identifier.Version); } } while (results != null && !string.IsNullOrWhiteSpace(results.NextPageLink)) { results = keyVaultClient.GetKeyVersionsNextAsync(results.NextPageLink).GetAwaiter().GetResult(); if (results != null) { numKeyVersions += results.Count(); foreach (var m in results) { Console.Out.WriteLine("\t{0}-{1}", m.Identifier.Name, m.Identifier.Version); } } } Console.Out.WriteLine("\n\tNumber of versions of key {0} in the vault: {1}", keyName, numKeyVersions); }