diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-01-07 17:21:02 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-01-07 17:21:02 +0200 |
| commit | 06a15e6c7019e4dbe82ecf9044a5e58849b65861 (patch) | |
| tree | 2a2398e148c1f3cb889d9654f34e0b4d294ae9ca /internal | |
| parent | 740bb376209ff3c0590b67d5d1b9b54806ae3557 (diff) | |
Refactored to better embed the certifcates and also made sure to read at
runtime the server.key instead of containing it in the server's
executable using go embed
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/client/gateway/gateway.go | 7 | ||||
| -rw-r--r-- | internal/server/server.go | 17 |
2 files changed, 11 insertions, 13 deletions
diff --git a/internal/client/gateway/gateway.go b/internal/client/gateway/gateway.go index a8f4241..9709968 100644 --- a/internal/client/gateway/gateway.go +++ b/internal/client/gateway/gateway.go @@ -5,7 +5,6 @@ import ( "crypto/ed25519" "crypto/tls" "crypto/x509" - _ "embed" "encoding/binary" "errors" "log" @@ -15,15 +14,13 @@ import ( tea "github.com/charmbracelet/bubbletea" + "github.com/kyren223/eko/certs" "github.com/kyren223/eko/internal/client/ui" "github.com/kyren223/eko/internal/packet" "github.com/kyren223/eko/pkg/assert" "github.com/kyren223/eko/pkg/snowflake" ) -//go:embed server.crt -var certPEM []byte - var ( tlsConfig *tls.Config @@ -42,7 +39,7 @@ type ( func init() { certPool := x509.NewCertPool() - if !certPool.AppendCertsFromPEM(certPEM) { + if !certPool.AppendCertsFromPEM(certs.CertPEM) { log.Fatalln("failed to append server certificate") } diff --git a/internal/server/server.go b/internal/server/server.go index f510821..253cef3 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -5,17 +5,18 @@ import ( "crypto/ed25519" "crypto/rand" "crypto/tls" - _ "embed" "encoding/binary" "errors" "fmt" "io" "log" "net" + "os" "strconv" "sync" "time" + "github.com/kyren223/eko/certs" "github.com/kyren223/eko/internal/packet" "github.com/kyren223/eko/internal/server/api" "github.com/kyren223/eko/internal/server/session" @@ -23,19 +24,19 @@ import ( "github.com/kyren223/eko/pkg/snowflake" ) -//go:embed certs/server.crt -var certPEM []byte - -//go:embed certs/server.key -var keyPEM []byte - var ( nodeId int64 = 0 tlsConfig *tls.Config ) func init() { - cert, err := tls.X509KeyPair(certPEM, keyPEM) + path := "certs/server.key" + keyPEM, err := os.ReadFile(path) + if err != nil { + log.Fatalln("failed to read certificate key from", path) + } + + cert, err := tls.X509KeyPair(certs.CertPEM, keyPEM) if err != nil { log.Fatalln("error loading certificate:", err) } |
