Requisição de Web API com Certificado

Bom dia Daniel,

Consegui subir o arquivo do certificado digital para o servidor. Tentei adaptar o código para o padrão que tu forneceu no tópico:

Obter um Token OAuth 2.0 com C#

Cheguei nisso adicionando a parte do certificado:

using System;
using System.IO;
using System.Reflection;
using System.Net;
using System.Net.Http;
using System.Security.Cryptography.X509Certificates;
using Newtonsoft.Json;

string tokenEndpoint = "XXXXX";
string clientId = "XXXXX";
string clientSecret = "XXXXX";
string grantType = "client_credentials";
string certificatePath = @"XXXXX";
string certificatePassword = "XXXXX";

// Carregue o certificado digital
X509Certificate2 certificate = new X509Certificate2(certificatePath, certificatePassword);

// Configurar o HttpClientHandler com o certificado
HttpClientHandler handler = new HttpClientHandler();
handler.ClientCertificates.Add(certificate);

using (HttpClient client = new HttpClient(handler))
{
    // Crie os parâmetros do form-data
    var formData = new FormUrlEncodedContent(new[]
    {
        new KeyValuePair<string, string>("grant_type", grantType),
        new KeyValuePair<string, string>("client_id", clientId),
        new KeyValuePair<string, string>("client_secret", clientSecret),
    }); 

    // Faça a solicitação POST para o endpoint do tokena
    var response = client.PostAsync(tokenEndpoint, formData).Result;

    // Garanta que a solicitação foi bem-sucedida
    response.EnsureSuccessStatusCode();

    // Leia o resultado da requisição
    var result = response.Content.ReadAsStringAsync().Result;
    
    // Deserialize o JSON usando a biblioteca NewtonSoft usando "dynamic"
    var tokenResult = JsonConvert.DeserializeObject<dynamic>(result);

    // Preencha a variável com o valor da propriedade "access_token" do JSON.
    Variables["token"].Value = (string)tokenResult.access_token;
}

Quando realizo a chamado estou tendo o seguinte erro:

image

Removendo a parte do handler do certificado, a requisição “funciona” retornando o status 403 de forbidden:

image

Eu testei o path no servidor onde o certificado está e consigo listar os arquivos da pasta, então imagino que não seja um problema de acesso.

O código funciona localmente na minha máquina então pensei que pudesse ser alguma especificidade do latromi no tratamento desse handler.

Consegue me auxiliar com alguma indicação?