33 lines
639 B
Go
33 lines
639 B
Go
package token
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
|
|
"aidanwoods.dev/go-paseto"
|
|
)
|
|
|
|
const (
|
|
devPrivateKeyFile = "development_privatekey.asc"
|
|
)
|
|
|
|
func GenerateKeyPair() (err error) {
|
|
secretKey := paseto.NewV4AsymmetricSecretKey()
|
|
|
|
if err = os.WriteFile(devPrivateKeyFile, []byte(secretKey.ExportHex()), 0666); err != nil {
|
|
log.Fatalf("could not create development_privatekey.asc: %v", err)
|
|
return err
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
func GetPrivateKey() (paseto.V4AsymmetricSecretKey, error) {
|
|
f, err := os.ReadFile(devPrivateKeyFile)
|
|
if err != nil {
|
|
return paseto.V4AsymmetricSecretKey{}, err
|
|
}
|
|
|
|
return paseto.NewV4AsymmetricSecretKeyFromHex(string(f))
|
|
}
|