Description
Description
Hello,
The website to which I want to connect requires a client certificate and I am using two different HttpClients, one with and other without the cert. The one with it is supposed to connect and the other should not.
- HttpClient 1 no cert, when request, should receive 400 Bad Request
- HttpClient 2 has cert, when request, should receive 200 OK
The scenario above works correctly under .NET 6, but on .NET 7, the outcome is different:
- If HttpClient 1 calls first, it receives 400 Bad Request. When HttpClient 2 calls subsequently, it also receives 400 Bad Request, even having a client certificate.
- If HttpClient 2 calls first, it receives 200 OK. When HttpClient 1 calls subsequently, it also receives 200 OK, even not having a client certificate.
This problem happens only on Linux; on Windows, the behavior is correct, the same as in .NET 6. I did not test on MacOSX.
The website that I use to test client certificates is https://badssl.com/ (it has certificates for testing).
Code for how the HttpClients are being built: link
Reproduction Steps
Video below
Comportamento.HttpClient.ClientCertificate.Dotnet7.webm
Expected behavior
HttpClients with different HttpMessageHandlers should work independently, I believe
Actual behavior
.
Regression?
This problem does not happen in .NET 6
Known Workarounds
No response
Configuration
dotnet --info
.NET SDK:
Version: 7.0.101
Commit: bb24aafa11
Ambiente de runtime:
OS Name: arch
OS Version:
OS Platform: Linux
RID: arch-x64
Base Path: /home/alexandre/.dotnet/sdk/7.0.101/
Host:
Version: 7.0.1
Architecture: x64
Commit: 97203d38ba
.NET SDKs installed:
6.0.403 [/home/alexandre/.dotnet/sdk]
7.0.101 [/home/alexandre/.dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.11 [/home/alexandre/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.1 [/home/alexandre/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.11 [/home/alexandre/.dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.1 [/home/alexandre/.dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_ROOT [/home/alexandre/.dotnet/]
global.json file:
Not found
Other information
No response