Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
.NET Core membawa banyak peningkatan serta melanggar perubahan pada cara SslStream kerjanya. Perubahan terpenting yang terkait dengan keamanan jaringan adalah bahwa ServicePointManager kelas sebagian besar telah usang dan hanya memengaruhi antarmuka warisan WebRequest .
Untuk setiap SslStream instans, Anda harus mengonfigurasi protokol TLS yang diizinkan dan panggilan balik validasi sertifikat secara terpisah melalui SslServerAuthenticationOptions atau SslClientAuthenticationOptions. Untuk mengonfigurasi opsi keamanan jaringan yang digunakan dalam HTTPS di HttpClient, Anda perlu mengonfigurasi opsi keamanan di handler yang mendasar. Handler default yang digunakan oleh HttpClient adalah SocketsHttpHandler, yang memiliki SslOptions properti yang menerima SslClientAuthenticationOptions.
Pertimbangkan contoh berikut yang menunjukkan cara membuat HttpClient dengan panggilan balik validasi sertifikat kustom:
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
}
});
Tabel berikut ini memperlihatkan cara memigrasikan properti individual ServicePointManager yang terkait dengan TLS.
| API Sumber | Target API (Antarmuka Pemrograman Aplikasi) |
|---|---|
| CheckCertificateRevocationList | Tentukan konfigurasi X509RevocationMode yang tepat pada SslClientAuthenticationOptions.CertificateRevocationCheckMode. |
| EncryptionPolicy | Gunakan SslClientAuthenticationOptions.EncryptionPolicy. |
| SecurityProtocol | Gunakan SslClientAuthenticationOptions.EnabledSslProtocols. |
| ServerCertificateValidationCallback | Gunakan SslClientAuthenticationOptions.RemoteCertificateValidationCallback. |