summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--certs/certs.go6
-rw-r--r--certs/server.crt21
-rw-r--r--internal/client/gateway/gateway.go7
-rw-r--r--internal/server/server.go17
5 files changed, 39 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index e6a23da..b9e1d2a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,4 @@
-internal/server/certs/
-*.crt
+*.key
*.log
*.db
*.db-shm
diff --git a/certs/certs.go b/certs/certs.go
new file mode 100644
index 0000000..7fa8f54
--- /dev/null
+++ b/certs/certs.go
@@ -0,0 +1,6 @@
+package certs
+
+import _ "embed"
+
+//go:embed server.crt
+var CertPEM []byte
diff --git a/certs/server.crt b/certs/server.crt
new file mode 100644
index 0000000..caf2384
--- /dev/null
+++ b/certs/server.crt
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDbTCCAlWgAwIBAgIUZyvzq7LOxKqTttTRjChoJWOO4pYwDQYJKoZIhvcNAQEL
+BQAwOjEhMB8GCSqGSIb3DQEJARYSa3lyZW4yMjNAcHJvdG9uLm1lMRUwEwYDVQQD
+DAxreXJlbjIyMy5kZXYwHhcNMjQxMDA5MjE1NzQzWhcNMjUxMDA5MjE1NzQzWjA6
+MSEwHwYJKoZIhvcNAQkBFhJreXJlbjIyM0Bwcm90b24ubWUxFTATBgNVBAMMDGt5
+cmVuMjIzLmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK7hd+zT
+kqrn/8EhLEO0uMKKHgfoyczYWTlA9uPFADOsjdzXRLuR/Y3rK0PBE4u55xcjYZSf
+mzJmVHuv1rEFOt634YOoE2UwJd9V2M0p+cD716XIEDNPfVCUe77FoZoYaH1h8QF5
+Mrx2eDH5JZt690F05O39zYzbb7+RlChWlt1kBcmLEZ1GKJeXznbL6lLMh20deYX9
+7oemqYMqP9DFbFeHkubeZ20yQvKW9cOWae9M+IhE9dAa8fm5WdfiDoTdAHfbIawx
+r1OB4YqfXlXler9wAHfHWeCS0KgZCTdghF1h6wtYlwyQZcUuv+dHN7SP7zVo8pOD
+b7NUqjFAMGlNgf0CAwEAAaNrMGkwCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwMAYD
+VR0RBCkwJ4IJbG9jYWxob3N0ggsqLmxvY2FsaG9zdIINZWtvLmxvY2FsaG9zdDAd
+BgNVHQ4EFgQUf32SXO976zgO0K/wlgWdyT3EPzcwDQYJKoZIhvcNAQELBQADggEB
+AHVMGCkaZv5eIOQwevfrsEJQo3dNG34om8wBVGS5iQyho0VJZpKZSiQ16yv4x2kc
+UICfVEFcfO/7/hRlA5yLWE/wpeqCgTSgtQ74gvc8D6H26wCznSPj9MIRWxYhSmPM
+YO+7UKqyvFoaKiW4OkqJvCRzrpwr/lbXcGpD47UqT5gRvjJ91ULCHIUt8qDUS6+8
+mEGJAe/xFkiJ6zT0bThlqMaCA4v5g9tHGXzooIZ+YSgTvlWhAM6mVwt34l2rDSOw
+4YNGUJXKCoGpy8U0NteIOOs6HhaslJpKe1mSSxmMQcgBcaf6yBT08mYfQPSsaeOk
+OSoncuVBnT64liAtShpsgTc=
+-----END CERTIFICATE-----
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)
}