Sobes.tech
Junior — Middle

Hogyan történik a tanúsítványok átadása HTTPS-kapcsolat létesítése során?

sobes.tech MI

Válasz az MI-től

HTTPS-kapcsolat létesítése során TLS-kézfogás történik, amely során a szerver elküldi a kliensnek a tanúsítványát. Ez a tanúsítvány tartalmazza a szerver nyilvános kulcsát, és igazolja a hitelességét, aláírva egy hitelesítésszolgáltató (CA) által. A kliens ellenőrzi a tanúsítványt, hogy érvényes-e, és megfelel-e a várt domainnek.

Go nyelvben a crypto/tls csomagot használják HTTPS-sel való munkához. A kapcsolat létesítésekor a szerver automatikusan elküldi a tanúsítványát, ha az a tls.Config-ben van konfigurálva.

Példa egy HTTPS szerver konfigurálására Go-ban:

package main

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

func main() {
    srv := &http.Server{
        Addr: ":443",
        TLSConfig: &tls.Config{
            // A tanúsítvány és a kulcs automatikusan betöltődik a szerver indításakor
        },
    }

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

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

Itt a ListenAndServeTLS automatikusan betölti a tanúsítványt és a kulcsot, és a TLS-kézfogás során elküldi a tanúsítványt a kliensnek.