Junior — Middle
HTTPS bağlantısı qurarkən sertifikatların ötürülməsi necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
HTTPS bağlantısının qurulması zamanı TLS əl sıxma prosesi baş verir və bu zaman server öz sertifikatını müştəriyə göndərir. Bu sertifikat serverin ictimai açarını ehtiva edir və onun etibarlılığını təsdiqləyir, sertifikatlaşdırma mərkəzi (CA) tərəfindən imzalanmışdır. Müştəri sertifikatın etibarlı və gözlənilən domenə uyğun olduğunu yoxlayır.
Go dilində, HTTPS ilə işləmək üçün crypto/tls paketi istifadə olunur. Bağlantı qurularkən, server avtomatik olaraq tls.Config daxilində konfiqurasiya edilibsə, sertifikatını göndərir.
Go-da HTTPS serverinin konfiqurasiyası nümunəsi:
package main
import (
"crypto/tls"
"log"
"net/http"
)
func main() {
srv := &http.Server{
Addr: ":443",
TLSConfig: &tls.Config{
// Sertifikat və açar server işə salınarkən avtomatik yüklənir
},
}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello HTTPS"))
})
log.Fatal(srv.ListenAndServeTLS("server.crt", "server.key"))
}
Burada, ListenAndServeTLS avtomatik olaraq sertifikat və açarı yükləyir və TLS əl sıxma zamanı sertifikatı müştəriyə göndərir.