Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Platforma .NET Core wprowadziła wiele ulepszeń, a także istotne zmiany wpływające na sposób działania SslStream. Najważniejszą zmianą związaną z zabezpieczeniami sieci jest to, że ServicePointManager klasa została w większości przestarzała i ma wpływ tylko na starszy WebRequest interfejs.
Dla każdego SslStream wystąpienia należy skonfigurować dozwolone protokoły TLS i wywołania zwrotne weryfikacji certyfikatu oddzielnie za pośrednictwem metody SslServerAuthenticationOptions lub SslClientAuthenticationOptions. Aby skonfigurować opcje zabezpieczeń sieci używane w protokole HTTPS w programie HttpClient, należy skonfigurować opcje zabezpieczeń w podstawowej procedurze obsługi. Domyślna procedura obsługi używana przez HttpClient to SocketsHttpHandler, która ma właściwość SslOptions akceptującą SslClientAuthenticationOptions.
Rozważmy następujący przykład, który pokazuje, jak utworzyć obiekt HttpClient z niestandardowym wywołaniem zwrotnym weryfikacji certyfikatu:
bool CustomCertificateValidator(
object sender,
X509Certificate? certificate,
X509Chain? chain,
SslPolicyErrors sslPolicyErrors)
{
// TODO: Always returns false.
// Need to implement certificate evaluation logic.
return false;
}
HttpClient httpClient = new(
new SocketsHttpHandler
{
SslOptions =
{
RemoteCertificateValidationCallback = CustomCertificateValidator
}
});
W poniższej tabeli przedstawiono sposób migrowania poszczególnych ServicePointManager właściwości związanych z protokołem TLS.
| Źródłowy interfejs API | Docelowy interfejs API |
|---|---|
| CheckCertificateRevocationList | Ustaw odpowiednie X509RevocationMode na SslClientAuthenticationOptions.CertificateRevocationCheckMode. |
| EncryptionPolicy | Użyj SslClientAuthenticationOptions.EncryptionPolicy. |
| SecurityProtocol | Użyj SslClientAuthenticationOptions.EnabledSslProtocols. |
| ServerCertificateValidationCallback | Użyj SslClientAuthenticationOptions.RemoteCertificateValidationCallback. |