C# 如何在azure密钥库中处理密钥旋转
我必须在应用程序中实现关键点旋转。我有一些想法如何做到这一点,但我不确定,如果一切都是好的解决方案 好的,我们开始吧。我在应用程序中有几个地方使用KeyVault客户端(Azure KeyVault客户端)进行解密。这是一项很好的工作。在我的应用程序中,有些地方使用KeyVaultClient进行加密。目前(仍处于开发阶段),我正在使用硬编码参数(vaultBaseUrl、keyName、keyVersion)。但我想更进一步,将此参数移动到app.config文件 这里的问题是如何处理keyVersion变量(其余的我想我可以轻松地存储在app.config文件中,不是吗?)我有两个想法: 对于加密:C# 如何在azure密钥库中处理密钥旋转,c#,.net,azure,azure-keyvault,key-management,C#,.net,Azure,Azure Keyvault,Key Management,我必须在应用程序中实现关键点旋转。我有一些想法如何做到这一点,但我不确定,如果一切都是好的解决方案 好的,我们开始吧。我在应用程序中有几个地方使用KeyVault客户端(Azure KeyVault客户端)进行解密。这是一项很好的工作。在我的应用程序中,有些地方使用KeyVaultClient进行加密。目前(仍处于开发阶段),我正在使用硬编码参数(vaultBaseUrl、keyName、keyVersion)。但我想更进一步,将此参数移动到app.config文件 这里的问题是如何处理keyV
static string _clientId= "xxxxxxxxxxxxx";
static string _clientSecret = "xxxxxxxxxxxxxxxx";
static string _tenantId = "xxxxxxxxxxxxxxxx";
public static async Task<string> GetAccessToken(string azureTenantId, string azureAppId, string azureSecretKey)
{
var context = new AuthenticationContext("https://login.windows.net/" + _tenantId);
ClientCredential clientCredential = new ClientCredential(_clientId, _clientSecret);
var tokenResponse = await context.AcquireTokenAsync("https://vault.azure.net", clientCredential);
var accessToken = tokenResponse.AccessToken;
return accessToken;
}
var kv = new KeyVaultClient(GetAccessToken);
var result = kv.CreateKeyAsync(vault,keyName,keyType).Result;
静态字符串_clientId=“xxxxxxxxxxxx”;
静态字符串_clientSecret=“XXXXXXXXXXXXXX”;
静态字符串_tenantId=“XXXXXXXXXXXXXX”;
公共静态异步任务GetAccessToken(字符串AzureTentid、字符串azureAppId、字符串azureSecretKey)
{
var context=新的AuthenticationContext(“https://login.windows.net/“+_tenantId);
ClientCredential ClientCredential=新的ClientCredential(\u clientId,\u clientSecret);
var tokenResponse=await context.AcquireTokenAsync(“https://vault.azure.net“,客户端凭据);
var accessToken=tokenResponse.accessToken;
返回accessToken;
}
var kv=新的KeyVaultClient(GetAccessToken);
var结果=kv.CreateKeyAsync(vault、keyName、keyType);