Azure Key Vault是否支持客户端证书?

时间:2020-10-19 21:51:58

标签: python x509 azure-keyvault client-certificates mutual-authentication

Azure Key Vault是否支持存储用于mTLS身份验证的客户端证书?

示例:

  • 我有一个HTTP触发的Azure函数(Python)
  • 已在Function App中启用HTTPS: YesClient Certificates: Required
  • 当用户向端点发送请求并通过其客户证书时,我可以通过X-ARR-ClientCert标头读取该证书
  • 然后,我想创建一个KeyVaultCertificate客户端,该客户端将拉出我们为该请求者归档的客户端证书并验证其属性
    • not_valid_before/after
    • issuer
    • common_name
    • ocsp_responder_url

enter image description here

问题:

  • Key Vault似乎仅允许上传服务器证书,而不允许 client 证书。
  • 它仅允许.pfx.pem文件扩展名
  • 如果我没记错的话,客户端证书永远不会采用.pfx格式,因为它包含私钥
  • 我尝试将.pfx文件拆分为.pem(实际证书)和.key,然后仅上传.pem,但是Key Vault不喜欢这种格式。

Key Vault是否以这种方式处理客户端证书,还是应该将它们另存为KV机密并完全避免使用KV证书?

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,客户端证书永远不会在.pfx中。

您误会了,所有的假设都不正确。相互TLS需要两套证书和私钥,一套用于服务器,另一套用于客户端。您无法使用两个证书和一个私钥(如您所述)设置双向TLS。

Azure Key Vault完美支持任何类型的证书,包括客户端和服务器身份验证。