sgcWebSockets 2022.8.0 sürümünden itibaren DTLS over UDP, Sunucu ve İstemci UDP bileşenleri tarafından desteklenmektedir. Bu, artık UDP kullanarak şifreli mesajlar gönderebileceğiniz anlamına gelir (TLS üzerinden çalışan WebSocket veya HTTP protokolü gibi).
Wikipedia'dan: Datagram Transport Layer Security (DTLS), datagram tabanlı uygulamalara güvenlik sağlayan bir iletişim protokolüdür ve bu uygulamaların gizli dinlemeyi, kurcalamayı veya mesaj sahteciliğini önleyecek şekilde tasarlanmış[1][2] bir biçimde iletişim kurmasına olanak tanır. DTLS protokolü, akış odaklı Transport Layer Security (TLS) protokolüne dayanır ve benzer güvenlik garantileri sağlamayı amaçlar.
Yapılandırma
Yapılandırma diğer bileşenlere çok benzer. Dosya sertifikası, özel anahtar, sertifika doğrulaması gibi DTLS seçeneklerini yapılandırabileceğiniz DTLSOptions adlı yeni bir özellik vardır. DTLS'yi etkinleştirmek için, sunucu başlamadan önce veya bir istemciden sunucuya mesaj göndermeden önce DTLS özelliğini True olarak ayarlamanız yeterlidir.
Sertifika PEM biçiminde olmalıdır, bu nedenle sertifika farklı bir biçimdeyse önce PEM'e dönüştürün.
DTLS, openSSL 1.1+ gerektirir; bu nedenle RAD Studio ile birlikte gelen varsayılan Indy sürümü şu anda bunu desteklemez. Yalnızca sgcWebSockets Enterprise sürümü DTLS'yi destekler (çünkü bu sürüm, openSSL 1.1 ve 3.0'ı destekleyen özel bir indy sürümüyle gelir).
Sunucu
// ... server
server := TsgcUDPServer.Create(nil);
server.Port := StrToInt(txtDefaultPort.Text);
server.Bindings.Clear;
With server.Bindings.Add do
begin
IP := '127.0.0.1';
Port := 5430;
end;
// ... dtls
server.DTLS := True;
server.DTLSOptions.CertFile := 'certificate.pem';
server.DTLSOptions.KeyFile := 'privatekey.pem';
// ... active
server.Active := True;
İstemci
// ... client
client.Host := '127.0.0.1';
client.Port := 5430;
client.DTLS := True;
client.DTLSOptions.CertFile := 'certificate.pem';
client.DTLSOptions.KeyFile := 'privatekey.pem';
client.WriteData('Hello from sgcWebSockets!!!');
Demo
Aşağıda, sgcWebSockets kütüphanesini kullanarak windows üzerinde nasıl çalıştığını gösteren bir DTLS over UDP demosuna bağlantı bulabilirsiniz.
