正在尝试使用证书通过AD身份验证检索KeyVault机密。
创建KeyVault所引用的文档
public static async Task<string> GetAccessToken(string authority, string resource, string scope) {
var context = new AuthenticationContext(authority, TokenCache.DefaultShared);
var result = await context.AcquireTokenAsync(resource, AssertionCert);
return result.AccessToken; }
代码失败
var result=等待上下文。AcquireTokenAsync(资源、断言专家)
包含:"密钥集不存在"
有时“指定的提供程序类型无效”发生错误,不确定问题出在哪里。
密钥集不存在通常发生在您试图读取证书的用户无法访问证书的私钥时。您可以再次检查您在证书上的ACL吗?
假设AssertionCert
是有效的,那么访问私钥(在这里进行身份验证需要私钥)可能存在权限问题。
试试这个:
在以管理员身份运行应用程序后,我已经解决了这个问题。
我无法从azure key vault检索到运行在azure windows VM中的.NET控制台应用程序的秘密。下面是我使用过的代码,我已经给了服务主体在密钥库中的所有权限。
我试图从Azure密钥库中检索一个秘密(不使用凭据,如本教程:示例): 但是当我调用时,我得到一个 我的密钥库url的格式类似于“https://my-keyvault.vault.azure.net”。
[Get-AzureKeyVaultSecret],PSInvalidOperationException FullyQualifiedErrorId:InvalidOperation,Microsoft.azure.commands.keyVault.GetAzureKeyVaultSecret 2018-04-14T17:45:00.709[Error]执行函数时出现异常:functions.
我创建了一个密钥库,它包括私钥和公钥。我需要使用java代码检索我的公钥和私钥。我在这里找到了一个检索私钥的方法。但我找不到检索公钥的方法。有人能告诉我一种取出公钥的方法吗
我在Powershell中编写了一个程序,该程序在Azure Functions应用程序中按计划运行。为了避免硬编码的凭据,我创建了一个Azure密钥库来存储秘密。我在Azure函数中创建了一个托管标识,在Azure Key Vault中创建了秘密,然后在Azure函数中创建了应用程序设置,并使用指向Azure Key Vault中秘密的URL。程序引用应用程序机密(APPSETTING),并按照