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 для решений, но ничего не сработало
При выполнении аутентификации клиента с использованием цепочки сертификатов в C# (.net 9.0) сервер (Apache /PHP) возвращает следующую ошибку: < /p>
ssl_client_verif Сертификат: < /p> [code]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
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";
string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } … [/code] Я попробовал несколько вариантов кода и спросить Chatgpt и Claude Sonnet4 для решений, но ничего не сработало