aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/admin/server.go')
-rw-r--r--internal/admin/server.go37
1 files changed, 2 insertions, 35 deletions
diff --git a/internal/admin/server.go b/internal/admin/server.go
index 800cfa1..9819924 100644
--- a/internal/admin/server.go
+++ b/internal/admin/server.go
@@ -7,11 +7,8 @@ import (
"bytes"
"crypto/hmac"
"crypto/rand"
- "crypto/rsa"
"crypto/sha256"
"crypto/tls"
- "crypto/x509"
- "crypto/x509/pkix"
"embed"
"encoding/hex"
"encoding/json"
@@ -21,7 +18,6 @@ import (
"io"
"io/fs"
"log"
- "math/big"
"net"
"net/http"
"os"
@@ -36,6 +32,7 @@ import (
"thehouseoficarus/internal/item"
"thehouseoficarus/internal/object"
"thehouseoficarus/internal/player"
+ "thehouseoficarus/internal/tlscert"
"thehouseoficarus/internal/world"
)
@@ -832,37 +829,7 @@ func loadOrGenerateCert(cfg *config.Config) (tls.Certificate, error) {
}
func generateSelfSignedCert() (tls.Certificate, error) {
- key, err := rsa.GenerateKey(rand.Reader, 2048)
- if err != nil {
- return tls.Certificate{}, fmt.Errorf("rsa key generation: %w", err)
- }
- serial, err := rand.Int(rand.Reader, new(big.Int).Lsh(big.NewInt(1), 128))
- if err != nil {
- return tls.Certificate{}, fmt.Errorf("serial number: %w", err)
- }
- now := time.Now()
- tmpl := &x509.Certificate{
- SerialNumber: serial,
- Subject: pkix.Name{
- CommonName: "THOI Admin Self-Signed Certificate",
- },
- NotBefore: now.Add(-1 * time.Hour),
- NotAfter: now.Add(365 * 24 * time.Hour),
- KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
- ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
- BasicConstraintsValid: true,
- IsCA: true,
- DNSNames: []string{"localhost"},
- IPAddresses: []net.IP{net.ParseIP("127.0.0.1"), net.ParseIP("::1")},
- }
- certDER, err := x509.CreateCertificate(rand.Reader, tmpl, tmpl, &key.PublicKey, key)
- if err != nil {
- return tls.Certificate{}, fmt.Errorf("x509 creation: %w", err)
- }
- return tls.Certificate{
- Certificate: [][]byte{certDER},
- PrivateKey: key,
- }, nil
+ return tlscert.SelfSigned("THOI Admin Self-Signed Certificate")
}
func writeJSON(w http.ResponseWriter, data any) {