Return error type when parsing keys to differentiate between public/private error

This commit is contained in:
Magnus Åhall 2025-06-09 09:00:30 +02:00
parent 06a6738a80
commit 9a5bab8524

19
pkg.go
View file

@ -38,6 +38,15 @@ type Manager struct {
Initialized bool
}
type KeyError struct {
Err error
KeyType string // PUBLIC or PRIVATE
}
func (kerr KeyError) Error() string {
return fmt.Sprintf("%s [%s]", kerr.Err.Error(), kerr.KeyType)
}
func NewManager(keyType KeyType, private, public string, expireDays int) (mngr Manager, err error) { // {{{
var errPriv, errPub error
mngr.KeyType = keyType
@ -61,12 +70,18 @@ func NewManager(keyType KeyType, private, public string, expireDays int) (mngr M
}
if errPriv != nil {
err = errPriv
err = KeyError{
errPriv,
"PRIVATE",
}
return
}
if errPub != nil {
err = errPub
err = KeyError {
errPub,
"PUBLIC",
}
return
}