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.