我试图从我在Azure中的密钥保管库中运行的服务中输入一些输出。我的服务的输出将是用户凭证,这就是为什么我想使用密钥保险库来达到此目的的原因。到目前为止,我已经尝试了KeyVaultClient的SetSecretAsync方法,但它不适用于我,我没有收到任何错误消息,但是我也没有看到在我的目标KeyVault中创建的新密钥。我还没有找到KeyVaultClient Add Secret方法,因为它不存在,我在这里使用正确的对象/方法吗?以编程方式将密码添加到C中的密钥保管库中#
这里所讨论的方法是AddResult。
这里是我的代码:
private static AzureKeyVault instance;
private static KeyVaultClient client;
private AzureKeyVault()
{
//initialize the azure key vault
var vaultAddress = ConfigurationManager.AppSettings["VaultUri"];
client = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetAccessToken));
}
public static async Task<string> GetAccessToken(string authority, string resource, string scope)
{
var clientId = ConfigurationManager.AppSettings["ClientID"];
var clientSecret = ConfigurationManager.AppSettings["ClientSecret"];
ClientCredential clientCredential = new ClientCredential(clientId, clientSecret);
var context = new AuthenticationContext(authority, TokenCache.DefaultShared);
var result = await context.AcquireTokenAsync(resource, clientCredential);
return result.AccessToken;
}
public static AzureKeyVault GetInstance
{
get
{
if (instance == null)
{
instance = new AzureKeyVault();
}
return instance;
}
}
public void AddResult(string machineIPAndPort, BruteForceResult result)
{
client.SetSecretAsync("https://vaultURI(redacted).vault.azure.net/", machineIPAndPort, JsonConvert.SerializeObject(result));
}
_it不适用于我_是什么意思? – evilSnobu
目标==标题(为密钥库添加秘密)结果==没有添加任何密码,也没有错误消息。 –
在秘密中,machineIPandPort将是名称,并且序列化结果将是Value。 –