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.