Sobes.tech
Junior — Middle

Kaip vyksta sertifikatų perdavimas diegiant HTTPS ryšį?

sobes.tech AI

Atsakymas iš AI

Nuo HTTPS ryšio nustatymo metu vyksta TLS rankos paspaudimas, kurio metu serveris siunčia savo sertifikatą klientui. Šis sertifikatas apima serverio viešąjį raktą ir patvirtina jo autentiškumą, pasirašytą sertifikavimo centro (CA). Klientas patikrina sertifikatą, įsitikindamas, kad jis galioja ir atitinka tikėtą domeną.

Go kalboje, norint dirbti su HTTPS, naudojamas crypto/tls paketas. Prisijungimo metu serveris automatiškai siunčia savo sertifikatą, jei jis yra sukonfigūruotas tls.Config.

Pavyzdys, kaip sukonfigūruoti HTTPS serverį Go:

package main

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

func main() {
    srv := &http.Server{
        Addr: ":443",
        TLSConfig: &tls.Config{
            // Sertifikatas ir raktas automatiškai įkeliami serverio paleidimo metu
        },
    }

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

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

Čia, ListenAndServeTLS automatiškai įkelia sertifikatą ir raktą, ir TLS rankos paspaudimo metu siunčia sertifikatą klientui.