Heim >Backend-Entwicklung >Golang >Warum erhalte ich beim GoDaddy-SSL-Zertifikat in Go die Fehlermeldung „Unvollständige Zertifikatskette'?

Warum erhalte ich beim GoDaddy-SSL-Zertifikat in Go die Fehlermeldung „Unvollständige Zertifikatskette'?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 08:46:30324Durchsuche

Why Am I Getting an

SSL-Problem: Unvollständige Zertifikatskette mit dem Zertifikat von GoDaddy

Beim Einrichten eines HTTPS-Webservers mit den SSL-Zertifikaten von GoDaddy kann der Fehler auftreten „Die Zertifikatskette dieses Servers ist unvollständig.“ Dies kann durch eine Fehlkonfiguration in Ihrem Go-Code verursacht werden.

Lösung:

Um dieses Problem zu beheben, stellen Sie sicher, dass die in ListenAndServeTLS() verwendete Zertifikatdatei das vollständige enthält Zertifikatskette. Dazu gehören das Serverzertifikat, Zwischenzertifikate (falls vorhanden) und das Root-CA-Zertifikat.

In Ihrem Code laden Sie derzeit die Hauptzertifikatdatei und den privaten Schlüssel, aber Ihnen fehlt die Bundle-Datei , die normalerweise die Zwischenzertifikate enthält.

Ersetzen Sie die folgende Zeile:

err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")

durch diese:

cert, err := tls.LoadX509KeyPair("cert/myalcoholist.pem","cert/myalcoholist.key")
if err != nil {
    log.Fatalf("server: loadkeys: %s", err)
}
pem, err := ioutil.ReadFile("cert/cert/sf_bundle-g2-g1.crt")
if err != nil {
    log.Fatalf("Failed to read client certificate authority: %v", err)
}
if !certpool.AppendCertsFromPEM(pem) {
    log.Fatalf("Can't parse client certificate authority")
}
tlsConfig := &tls.Config{
    ClientCAs:    certpool,
    Certificates: []tls.Certificate{cert},
}
srv := &http.Server{
    Addr: "myalcoholist.com:443",
    Handler: n,
    ReadTimeout: time.Duration(5) * time.Second,
    WriteTimeout: time.Duration(5) * time.Second,
    TLSConfig: tlsConfig,
}
err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")

Dadurch wird die vollständige Zertifikatskette geladen und konfiguriert TLSConfig entsprechend.

Zusätzliche Tipps:

  • Erwägen Sie die Festlegung von Cipher Suites in Ihrer TLSConfig für mehr Sicherheit.
  • Nachdem Sie die Änderungen vorgenommen haben, testen Sie erneut Ihr SSL-Zertifikat über https://www.ssllabs.com, um die Verbesserung der Zertifikatsstufe zu überprüfen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim GoDaddy-SSL-Zertifikat in Go die Fehlermeldung „Unvollständige Zertifikatskette'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn