gpt4 book ai didi

Azure Functions - 配置客户端证书身份验证

转载 作者:行者123 更新时间:2023-12-03 13:33:21 24 4
gpt4 key购买 nike

函数是否支持在消费计划中使用客户端证书授权对函数的访问?类似于描述的方法 here ?基本上,如果调用者没有提供有效的客户端证书,我正在寻找 Functions 运行时立即拒绝连接请求,而无需在代码中实现该授权例程。

最佳答案

这是我想出的代码,注意:这是针对 Azure Functions v1 的,当 req 是 HttpRequestMessage

调用者:

X509Certificate2 clientCert = req.GetClientCertificate();

if (!IsValidClientCertificate(clientCert))
{
return req.CreateErrorResponse(HttpStatusCode.Unauthorized, "A valid client certificate is not found");
}

对于 Azure Functions v2,您可以使用 req.HttpContext.Connection.ClientCertificateHttpRequest 获取客户端证书

基本验证功能:

static bool IsValidClientCertificate(X509Certificate2 clientCert)
{
// check the cert's thumbprint against expected thumbprint
if (clientCert.Thumbprint != "<expected thumprint>"
{
return false;
}

// check that we're within the cert's validity period
if (DateTime.Now > clientCert.NotAfter || DateTime.Now < clientCert.NotBefore)
{
return false;
}

// optionally check cert chaining validity
// if(!clientCert.Verify()) { return false; }
}

关于Azure Functions - 配置客户端证书身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49686316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com