wireguard: implement UnmarshalText for PrivateKey and PublicKey

Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
2023-09-01 19:54:36 +00:00
parent a928ab8880
commit 7c811d7813
+22
View File
@@ -51,6 +51,28 @@ func (pub PublicKey) String() string {
}
}
// UnmarshalText loads the value from base64
func (key *PrivateKey) UnmarshalText(b []byte) error {
v, err := PrivateKeyFromBase64(string(b))
if err != nil {
return err
}
*key = v
return nil
}
// UnmarshalText loads the value from base64
func (pub *PublicKey) UnmarshalText(b []byte) error {
v, err := PublicKeyFromBase64(string(b))
if err != nil {
return err
}
*pub = v
return nil
}
// MarshalJSON encodes the key for JSON, omitting empty.
func (key PrivateKey) MarshalJSON() ([]byte, error) {
return encodeKeyJSON(key.String())