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"
"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