TsgcHTTP2Client › Özellikler › TLSOptions

TLSOptions Özellik

TLS üzerinden HTTP/2 için kullanılan sertifikaları, TLS sürümünü, ALPN, IOHandler ve diğer güvenli bağlantı ayrıntılarını yapılandırır.

Sözdizimi

property TLSOptions: TsgcTCPTLS_Options read FTLSOptions write SetTLSOptions;

Varsayılan Değer

—

Remarks

TLS True olduğunda kullanılır. Alt özellikler şunları içerir: RootCertFile, CertFile, KeyFile, Password, VerifyCertificate, VerifyDepth, Version (tlsUndefined'dan tls1_3'e kadar), ALPNProtocols ve IOHandler (iohOpenSSL, iohSChannel, iohNativeTLS, iohAndroidTLS veya iohAppleTLS). iohNativeTLS, sgcCrypto paketinin saf Object Pascal TLS 1.3 ve TLS 1.2 motorunu seçer; bu motor h2'yi OpenSSL gibi ALPN üzerinden müzakere eder ve hiçbir OpenSSL kütüphanesi yüklemez, bkz. Native TLS. Android'de iohAndroidTLS platformun yerel TLS'sini (javax.net.ssl.SSLEngine) kullanır ve iOS ile macOS'ta iohAppleTLS Apple yerel TLS'sini kullanır, böylece hiçbir OpenSSL kütüphanesinin dağıtılması gerekmez; yerel platform TLS'si Enterprise sürümünü gerektirir. HTTP/2, TLS handshake'i sırasında h2 protokolünü duyurmak için ALPN gerektirir; bileşen ALPN listesini otomatik olarak h2 ile doldurur ancak sunucu ek tanımlayıcılar bekliyorsa ALPNProtocols genişletilebilir. Müzakere edilen h2 protokolü her işleyiciden okunur, iohAndroidTLS ve iohAppleTLS dahil; bu nedenle HTTP/2 yerel Android ve Apple TLS üzerinden de çalışır. OpenSSL'e özgü ayarlar OpenSSL_Options altında ve SChannel'a özgü ayarlar SChannel_Options altında bulunur. HTTP/2 için TLS 1.2 veya üzeri önerilir.

Örnek


oHTTP2 := TsgcHTTP2Client.Create(nil);
oHTTP2.Host := 'http2.akamai.com';
oHTTP2.Port := 443;
oHTTP2.TLS := True;
oHTTP2.TLSOptions.Version := tls1_2;
oHTTP2.TLSOptions.VerifyCertificate := True;
oHTTP2.TLSOptions.RootCertFile := 'cacert.pem';

Özelliklere Dön