Files
LINUX-AETHERFORGE/internal/forge/keys.go
drjones 3678b199d0
Some checks failed
Test / test (push) Has been cancelled
Initial commit: AetherForge Linux (forge-mesh) v0.1.0-dev
2026-07-04 09:31:23 +00:00

20 lines
449 B
Go

package forge
import (
"crypto/ed25519"
"encoding/hex"
"fmt"
)
// ParsePublicKeyHex decodes a hex-encoded ed25519 public key.
func ParsePublicKeyHex(hexKey string) (ed25519.PublicKey, error) {
raw, err := hex.DecodeString(hexKey)
if err != nil {
return nil, fmt.Errorf("decode pubkey: %w", err)
}
if len(raw) != ed25519.PublicKeySize {
return nil, fmt.Errorf("invalid pubkey size %d", len(raw))
}
return ed25519.PublicKey(raw), nil
}