Ich versuche, einen TLS-Server zu konfigurieren, um ein Zertifikat Kette bei Verbindung zurückzugeben.Wie baut man eine tls.Certficate-Kette in Go?
Ich mag ein tls.Config mit einer Zertifikatskette erstellen:
// Certificates contains one or more certificate chains // to present to the other side of the connection. // Server configurations must include at least one certificate // or else set GetCertificate. Certificates []Certificate
Unter der Annahme, meine Kette root -> inter -> server
ist, kann ich jedes Zertifikat unabhängig laden, und eine Liste verwenden, aber nur servercert wird an den SSL-Client gesendet.
Ich mache etwas entlang der Linien von:
root, err := tls.LoadX509KeyPair("root.crt", "root.key")
inter, err := tls.LoadX509KeyPair("inter.crt", "inter.key")
server, err := tls.LoadX509KeyPair("server.crt", "server.key")
config := tls.Config{
Certificates : []tls.Certificates{root, inter, server}
}
config.BuildNameFromCertificates()
Bin ich offensichtlich etwas fehlt? Ist die Bestellung wichtig?
Die Reihenfolge ist wichtig; versuch: '[] tls.Certificates {server, inter, root}'. –