当前位置: 首页 > 知识库问答 >
问题:

使用Java从Azure函数访问密钥库证书

微生耘豪
2023-03-14

我在Java中有一个Azure函数。使用托管身份和密钥库引用,我在功能应用程序中添加了一个配置来访问密钥库秘密和证书。这个秘密被正确引用,我可以在Azure函数中访问它的值。

共有1个答案

徐柏
2023-03-14

根据我们在评论部分的讨论,要将基本64字符串转换为pfx或pem格式的有效证书,请使用以下代码:

byte[] encodedCert = Base64.getDecoder().decode(certB64.replaceAll(X509Factory.BEGIN_CERT, "").replaceAll(X509Factory.END_CERT, "")); 
ByteArrayInputStream inputStream = new ByteArrayInputStream(encodedCert); 
X509Certificate cert = null; 
try { 
CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); 
cert = (X509Certificate) certFactory.generateCertificate(inputStream);
} 
catch (CertificateException e) { 
e.printStackTrace(); 
}

您可以参考以下内容从keyvault检索证书:https://github.com/azure/azure-sdk-for-java/tree/main/sdk/keyvault/azure-security-keyvaulteds#retrieve-a-certificate

 类似资料:
  • 我正在python中构建由事件网格事件触发的Azure函数,它应该能够从Kay Vault收集秘密。 我将系统分配的托管标识添加到我的功能应用程序中,然后我可以在密钥库访问策略中选择我的应用程序。我授予它如下所示的权限: (我尝试了不同的组合在这一个)

  • 是否有一种方法可以使用Delphi访问Azure密钥库?我可以使用柏林的data.cloud.azureapi单元访问数据库和blob存储,但想从密钥库中获取数据库连接字符串,但似乎找不到任何用于此操作的代码。

  • 我正在尝试从运行在我的Azure批处理节点池中的VM访问我的Azure密钥库中的机密。 然而,我总是遇到例外: 异常消息:已尝试%1个证书。无法获取访问令牌。 具有指纹的证书#1的异常my-thumbprint:密钥集不存在 到目前为止,我一直遵循以下说明:https://docs.microsoft.com/en-us/Azure/key-vault/service-to-service-aut

  • 我需要在JavaScript中访问Azure密钥库中的一些秘密值。它是普通的JavaScript,没有NPM和节点。有没有直接从JavaScript获取值的选项?或者我需要编写一个单独的API来检索密钥库。这与保护某些ID无关,我想知道是否有任何可能的选项从客户端获取密钥库值。 我希望这是在简单的JavaScript。

  • 我正试图使用Azure函数从密钥库获取秘密,但当我试图访问它时,密钥库返回Pribund。很明显我错过了什么,但我还没能找到另一个有同样问题的帖子。下面的代码: 我已经在密钥库的访问策略中注册了该函数,并授予它获取机密的权限,并且我已经为该函数启用了托管服务标识。我还缺了什么吗?我很茫然,为什么函数不能访问金库。