keypair err mgt + shorturl random improve

This commit is contained in:
ycc
2026-02-02 15:11:41 +01:00
parent f8537aad6d
commit f498cfad1e
23 changed files with 778 additions and 1052 deletions

View File

@@ -2,6 +2,7 @@ package meowlib
import (
"encoding/base64"
"fmt"
"time"
"github.com/ProtonMail/gopenpgp/v2/crypto"
@@ -18,24 +19,24 @@ type KeyPair struct {
type KeysArray []KeyPair
func NewKeyPair() KeyPair {
func NewKeyPair() (*KeyPair, error) { // Return error!
var kp KeyPair
keys, err := crypto.GenerateKey("name", "mail", "x25519", 0)
if err != nil {
log.Error().Msg("Key generation failed")
return nil, fmt.Errorf("key generation failed: %w", err)
}
kp.Generated = time.Now()
pub, err := keys.GetArmoredPublicKey()
if err != nil {
log.Error().Msg("Public key extraction failed")
return nil, fmt.Errorf("failed to get public key: %w", err)
}
kp.Public = base64.StdEncoding.EncodeToString([]byte(pub))
priv, err := keys.Armor()
if err != nil {
log.Error().Msg("Private key extraction failed")
return nil, fmt.Errorf("failed to armor private key: %w", err)
}
kp.Public = base64.StdEncoding.EncodeToString([]byte(pub))
kp.Private = base64.StdEncoding.EncodeToString([]byte(priv))
return kp
kp.Generated = time.Now()
return &kp, nil
}
func (Kp *KeyPair) GetCryptoKeyObject() *crypto.Key {