Sobes.tech
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-համբույրի ժամանակ ուղարկում է վկայականը հաճախորդին։