Fixed generating RSA keys.

This commit is contained in:
2023-08-01 17:12:06 +02:00
committed by Marvin Blum
parent 22467bc3b4
commit 79af3538bc

View File

@@ -7,7 +7,6 @@ import (
"crypto/x509" "crypto/x509"
"embed" "embed"
"encoding/pem" "encoding/pem"
"fmt"
"github.com/Kugelschieber/migo/api" "github.com/Kugelschieber/migo/api"
"github.com/Kugelschieber/migo/db" "github.com/Kugelschieber/migo/db"
"github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5"
@@ -38,14 +37,8 @@ var (
func init() { func init() {
generateRSAKeys() generateRSAKeys()
jwtAuth = jwtauth.New("RS256", pubKey, loadRSAPrivateKey()) /*jwtAuth = jwtauth.New("RS256", loadRSAPrivateKey(), loadRSAPublicKey())
_, tokenString, err := jwtAuth.Encode(map[string]interface{}{"test": 42}) _, tokenString, err := jwtAuth.Encode(map[string]interface{}{"test": 42})*/
if err != nil {
log.Fatalf("test: %v", err)
}
fmt.Println(tokenString)
} }
func generateRSAKeys() { func generateRSAKeys() {
@@ -57,7 +50,6 @@ func generateRSAKeys() {
log.Fatalf("Error creating secrets directory: %v", err) log.Fatalf("Error creating secrets directory: %v", err)
} }
filename := "jwt"
key, err := rsa.GenerateKey(rand.Reader, 4096) key, err := rsa.GenerateKey(rand.Reader, 4096)
if err != nil { 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) 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) log.Fatalf("Error writing public RSA key: %v", err)
} }
} }
func loadRSAPrivateKey(path string) *rsa.PrivateKey { func loadRSAPublicKey() *rsa.PublicKey {
data, err := os.ReadFile(path) data, err := os.ReadFile("secrets/jwt.rsa.pub")
if err != nil { 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) block, _ := pem.Decode(data)
if block == nil { 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) key, err := x509.ParsePKCS1PrivateKey(block.Bytes)
if err != nil { if err != nil {
log.Fatalf("Error parsing RSA key '%s': %v", path, err) log.Fatalf("Error parsing RSA key: %v", err)
} }
return key return key