将客户端证书传递给 ASP.NET 中的另一个微服务
Passing client certificate on to another micro service in ASP.NET
我有一个微服务 M1
,它需要客户端证书。当请求通过 HTTPS 传入时,我收到 HttpContext.Connection.ClientCertificate
属性 中的 X509Certificate2
。微服务根据这个证书进行鉴权
M1
然后需要调用另一个微服务,M2
并且需要使用传递给 M1
的客户端证书进行调用,以便 M2
处理呼叫来自同一用户。我在 M1
中创建了一个 HttpClient
并通过 HttpClientHandler
将证书附加到它。但是,当我调用 M2
时,它失败并显示错误 The decryption operation failed
.
我不是安全专家,但我猜这与用于解密证书的 public/private 密钥有关?让一个微服务使用它收到的客户端证书来尝试和另一个微服务进行身份验证是否有效,如果是这样,我该如何使用 M1
中的证书向 M2
进行身份验证.
您尝试过证书转发吗?描述得很好here
我有一个微服务 M1
,它需要客户端证书。当请求通过 HTTPS 传入时,我收到 HttpContext.Connection.ClientCertificate
属性 中的 X509Certificate2
。微服务根据这个证书进行鉴权
M1
然后需要调用另一个微服务,M2
并且需要使用传递给 M1
的客户端证书进行调用,以便 M2
处理呼叫来自同一用户。我在 M1
中创建了一个 HttpClient
并通过 HttpClientHandler
将证书附加到它。但是,当我调用 M2
时,它失败并显示错误 The decryption operation failed
.
我不是安全专家,但我猜这与用于解密证书的 public/private 密钥有关?让一个微服务使用它收到的客户端证书来尝试和另一个微服务进行身份验证是否有效,如果是这样,我该如何使用 M1
中的证书向 M2
进行身份验证.
您尝试过证书转发吗?描述得很好here