Sobes.tech
Junior — Middle

HTTPS bağlantısı kurarken sertifikaların iletimi nasıl gerçekleşir?

sobes.tech yapay zeka

AI'dan gelen yanıt

HTTPS bağlantısı kurulurken, TLS el sıkışması gerçekleşir ve bu süreçte sunucu, sertifikasını istemciye gönderir. Bu sertifika, sunucunun genel anahtarını içerir ve sertifika otoritesi (CA) tarafından imzalanmış olup, sunucunun gerçekliğini doğrular. İstemci, sertifikanın geçerli ve beklenen alan adına uygun olduğunu doğrulamak için kontrol eder.

Go dilinde, HTTPS ile çalışmak için crypto/tls paketi kullanılır. Bağlantı kurulurken, sunucu otomatik olarak tls.Config içinde yapılandırılmışsa sertifikasını gönderir.

Bir Go'da HTTPS sunucusu yapılandırma örneği:

package main

import (
    "crypto/tls"
    "log"
    "net/http"
)

func main() {
    srv := &http.Server{
        Addr: ":443",
        TLSConfig: &tls.Config{
            // Sertifika ve anahtar, sunucu başlatılırken otomatik yüklenir
        },
    }

    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte("Hello HTTPS"))
    })

    log.Fatal(srv.ListenAndServeTLS("server.crt", "server.key"))
}

Burada, ListenAndServeTLS otomatik olarak sertifikayı ve anahtarı yükler ve TLS el sıkışması sırasında sertifikayı istemciye gönderir.