mirror of
https://github.com/Kugelschieber/migo.git
synced 2026-01-18 06:40:29 +00:00
Fixed generating RSA keys.
This commit is contained in:
48
cmd/main.go
48
cmd/main.go
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user