Junior — Middle
Ինչպես է կատարվում սերտիֆիկատների փոխանցումը HTTPS կապի հաստատման ժամանակ?
sobes.tech AI
Պատասխան AI-ից
Երբ հաստատվում է HTTPS կապը, տեղի է ունենում TLS-համբույր, որի ընթացքում սերվերը ուղարկում է իր վկայականը հաճախորդին: Այս վկայականը պարունակում է սերվերի հանրային բանալին և հաստատում նրա իսկությունը, որը ստորագրված է վկայականացման կենտրոնի (CA) կողմից: Հաճախորդը ստուգում է վկայականը, համոզվելու համար, որ այն վավեր է և համապատասխանում է սպասվող դոմենին:
Go-ում, HTTPS-ի հետ աշխատելու համար, օգտագործվում է crypto/tls փաթեթը: Կապի հաստատման ժամանակ, սերվերը ավտոմատ կերպով ուղարկում է իր վկայականը, եթե այն կոնֆիգուրացված է tls.Config-ում:
Օրինակ՝ HTTPS սերվերի կոնֆիգուրացիա Go-ում:
package main
import (
"crypto/tls"
"log"
"net/http"
)
func main() {
srv := &http.Server{
Addr: ":443",
TLSConfig: &tls.Config{
// Վկայականը և բանալին ավտոմատ բեռնվում են սերվերի մեկնարկի ժամանակ
},
}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello HTTPS"))
})
log.Fatal(srv.ListenAndServeTLS("server.crt", "server.key"))
}
Այստեղ, ListenAndServeTLS-ը ավտոմատ կերպով բեռնում է վկայականը և բանալին և TLS-համբույրի ժամանակ ուղարկում է վկայականը հաճախորդին։