Junior — Middle
Kako se vrši prenos sertifikata tokom uspostavljanja HTTPS veze?
sobes.tech АИ
Одговор од АИ
Tokom uspostavljanja HTTPS veze, dešava se TLS rukovanje, tokom kojeg server šalje svoj sertifikat klijentu. Ovaj sertifikat sadrži javni ključ servera i potvrđuje njegovu autentičnost, potpisan od strane sertifikacionog centra (CA). Klijent proverava sertifikat kako bi se uverio da je važeći i da odgovara očekivanoj domeni.
U Go jeziku, za rad sa HTTPS koristi se paket crypto/tls. Prilikom uspostavljanja veze, server automatski šalje svoj sertifikat ako je konfigurisan u tls.Config.
Primer konfiguracije HTTPS servera u Go:
package main
import (
"crypto/tls"
"log"
"net/http"
)
func main() {
srv := &http.Server{
Addr: ":443",
TLSConfig: &tls.Config{
// Sertifikat i ključ se automatski učitavaju pri pokretanju servera
},
}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello HTTPS"))
})
log.Fatal(srv.ListenAndServeTLS("server.crt", "server.key"))
}
Овде, ListenAndServeTLS аутоматски учита сертификат и кључ и током TLS руковања шаље сертификат клијенту.