Files
go2rtc/pkg/hap/ed25519/ed25519.go
2023-07-23 22:22:36 +03:00

25 lines
494 B
Go

package ed25519
import (
"crypto/ed25519"
"errors"
)
var ErrInvalidParams = errors.New("ed25519: invalid params")
func ValidateSignature(key, data, signature []byte) bool {
if len(key) != ed25519.PublicKeySize || len(signature) != ed25519.SignatureSize {
return false
}
return ed25519.Verify(key, data, signature)
}
func Signature(key, data []byte) ([]byte, error) {
if len(key) != ed25519.PrivateKeySize {
return nil, ErrInvalidParams
}
return ed25519.Sign(key, data), nil
}