Sobes.tech
Junior — Middle

Πώς πραγματοποιείται η μεταφορά πιστοποιητικών κατά τη διάρκεια της εγκατάστασης της σύνδεσης HTTPS;

sobes.tech AI

Απάντηση από AI

Κατά τη διάρκεια της εγκατάστασης μιας σύνδεσης HTTPS, πραγματοποιείται το TLS handshake, κατά το οποίο ο διακομιστής στέλνει το πιστοποιητικό του στον πελάτη. Αυτό το πιστοποιητικό περιέχει το δημόσιο κλειδί του διακομιστή και επιβεβαιώνει την αυθεντικότητά του, υπογεγραμμένο από μια αρχή πιστοποίησης (CA). Ο πελάτης ελέγχει το πιστοποιητικό για να βεβαιωθεί ότι είναι έγκυρο και ότι ταιριάζει με τον αναμενόμενο τομέα.

Στη γλώσσα Go, χρησιμοποιείται το πακέτο crypto/tls για εργασία με HTTPS. Κατά την εγκατάσταση της σύνδεσης, ο διακομιστής στέλνει αυτόματα το πιστοποιητικό του αν έχει ρυθμιστεί στο 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 handshake, στέλνει το πιστοποιητικό στον πελάτη.