Sobes.tech
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 руковања шаље сертификат клијенту.