diff --git a/cmd/main.go b/cmd/main.go index d17d58e..feb361e 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -7,7 +7,6 @@ import ( "crypto/x509" "embed" "encoding/pem" - "fmt" "github.com/Kugelschieber/migo/api" "github.com/Kugelschieber/migo/db" "github.com/go-chi/chi/v5" @@ -38,14 +37,8 @@ var ( func init() { generateRSAKeys() - jwtAuth = jwtauth.New("RS256", pubKey, loadRSAPrivateKey()) - _, tokenString, err := jwtAuth.Encode(map[string]interface{}{"test": 42}) - - if err != nil { - log.Fatalf("test: %v", err) - } - - fmt.Println(tokenString) + /*jwtAuth = jwtauth.New("RS256", loadRSAPrivateKey(), loadRSAPublicKey()) + _, tokenString, err := jwtAuth.Encode(map[string]interface{}{"test": 42})*/ } func generateRSAKeys() { @@ -57,7 +50,6 @@ func generateRSAKeys() { log.Fatalf("Error creating secrets directory: %v", err) } - filename := "jwt" key, err := rsa.GenerateKey(rand.Reader, 4096) if err != nil { @@ -78,32 +70,54 @@ func generateRSAKeys() { }, ) - if err := os.WriteFile("secrets/"+filename+".rsa", keyPEM, 0700); err != nil { + if err := os.WriteFile("secrets/jwt.rsa", keyPEM, 0700); err != nil { log.Fatalf("Error writing private RSA key: %v", err) } - if err := os.WriteFile("secrets/"+filename+".rsa.pub", pubPEM, 0755); err != nil { + if err := os.WriteFile("secrets/jwt.rsa.pub", pubPEM, 0755); err != nil { log.Fatalf("Error writing public RSA key: %v", err) } } -func loadRSAPrivateKey(path string) *rsa.PrivateKey { - data, err := os.ReadFile(path) +func loadRSAPublicKey() *rsa.PublicKey { + data, err := os.ReadFile("secrets/jwt.rsa.pub") if err != nil { - log.Fatalf("Error loading RSA key '%s': %v", path, err) + log.Fatalf("Error loading RSA key: %v", err) } block, _ := pem.Decode(data) if block == nil { - log.Fatalf("Error decoding RSA key '%s': %v", path, err) + log.Fatalf("Error decoding RSA key: %v", err) + } + + key, err := x509.ParsePKCS1PublicKey(block.Bytes) + + if err != nil { + log.Fatalf("Error parsing RSA key: %v", err) + } + + return key +} + +func loadRSAPrivateKey() *rsa.PrivateKey { + data, err := os.ReadFile("secrets/jwt.rsa") + + if err != nil { + log.Fatalf("Error loading RSA key: %v", err) + } + + block, _ := pem.Decode(data) + + if block == nil { + log.Fatalf("Error decoding RSA key: %v", err) } key, err := x509.ParsePKCS1PrivateKey(block.Bytes) if err != nil { - log.Fatalf("Error parsing RSA key '%s': %v", path, err) + log.Fatalf("Error parsing RSA key: %v", err) } return key