summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-01-07 17:21:02 +0200
committerKyren223 <Kyren223@proton.me>2025-01-07 17:21:02 +0200
commit06a15e6c7019e4dbe82ecf9044a5e58849b65861 (patch)
tree2a2398e148c1f3cb889d9654f34e0b4d294ae9ca /internal
parent740bb376209ff3c0590b67d5d1b9b54806ae3557 (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.go7
-rw-r--r--internal/server/server.go17
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)
}