使用 Azure Function HTTP 触发器的 mTLS?
mTLS using Azure Function HTTP Trigger?
我正在使用带有 HTTP 触发器的 Python Azure 函数构建一个身份验证令牌服务器。目标是使用双向 TLS (mTLS) 身份验证。
它的工作方式:
- 客户端使用两个 headers:
向 Function 端点发送 http 请求
requestor-id
: 用于查找的标识符
X-ARR-ClientCert
:他们的 .pem
证书的字符串表示形式
- 该函数将在数据库中查找请求者的
.pem
先前已共享的数据库
- 使用
pyOpenSSL
,该函数将加载两个 .pem
文件并比较请求证书和检索到的证书:
not_valid_before/after
日期
common name
issuer
thumbprint
- 如果每个 属性 证书匹配,函数将使用授权令牌进行响应,以供下游数据调用使用
我的问题是:
- 这并不是真正的“相互”,因为托管函数代码的服务器没有在握手过程中的任何地方(可见)提供它的证书。
- mTLS 握手的服务器端是在别处配置的,还是因为 Function 端点是开箱即用的 https 而“正常工作”?
我正在使用带有 HTTP 触发器的 Python Azure 函数构建一个身份验证令牌服务器。目标是使用双向 TLS (mTLS) 身份验证。
它的工作方式:
- 客户端使用两个 headers: 向 Function 端点发送 http 请求
requestor-id
: 用于查找的标识符X-ARR-ClientCert
:他们的.pem
证书的字符串表示形式
- 该函数将在数据库中查找请求者的
.pem
先前已共享的数据库 - 使用
pyOpenSSL
,该函数将加载两个.pem
文件并比较请求证书和检索到的证书:
not_valid_before/after
日期common name
issuer
thumbprint
- 如果每个 属性 证书匹配,函数将使用授权令牌进行响应,以供下游数据调用使用
我的问题是:
- 这并不是真正的“相互”,因为托管函数代码的服务器没有在握手过程中的任何地方(可见)提供它的证书。
- mTLS 握手的服务器端是在别处配置的,还是因为 Function 端点是开箱即用的 https 而“正常工作”?