Проблема: C# (.net 9.0) Аутентификация клиента не сбои с цепочкой сертификацииC#

Место общения программистов C#
Ответить
Anonymous
 Проблема: C# (.net 9.0) Аутентификация клиента не сбои с цепочкой сертификации

Сообщение Anonymous »

При выполнении аутентификации клиента с использованием цепочки сертификатов в C# (.net 9.0) сервер (Apache /PHP) возвращает следующую ошибку: < /p>

ssl_client_verif Сертификат: < /p>

Код: Выделить всё

SSLCACertificateFile "conf/ssl.crt/testrootca-crt.pem"
< /code>
Однако при использовании эквивалентного клиента Java или Python сервер успешно проверяет сертификат, а PHP отчеты: < /p>

ssl_client_verify: успех < /p>
< /blockquote>
Так проблема, кажется, возникает только с c -#.... .............. .... ........ ..... ...... ................... ............... ................. -. /> Где проблема может лежать в реализации .NET или обработке цепочки сертификатов?string certpath = "C:\\Austausch\\SSLneu2\\client-chain.p12";
// client-chain.p12 enthält das Client-Zertifikat und den Client-Private-Key
// und das Intermediate-CA Zertifikat

byte[] rawCert = File.ReadAllBytes(certpath);
X509Certificate2Collection certificateCollection = X509CertificateLoader.LoadPkcs12Collection(
rawCert,
"David",
X509KeyStorageFlags.Exportable);

var handler = new HttpClientHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ClientCertificates.AddRange(certificateCollection);

// hier dann der HTTPS Aufruf:
using HttpClient client = new HttpClient(handler);
string url = "https://localhost/mbbsim/test4.php?params=dotnet";

try
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();

string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
…
Я попробовал несколько вариантов кода и спросить Chatgpt и Claude Sonnet4 для решений, но ничего не сработало

Подробнее здесь: https://stackoverflow.com/questions/797 ... cate-chain
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»