diff options
author | Rasmus Dahlberg <rasmus.dahlberg@kau.se> | 2021-06-05 13:13:50 +0200 |
---|---|---|
committer | Rasmus Dahlberg <rasmus.dahlberg@kau.se> | 2021-06-05 13:13:50 +0200 |
commit | 7772c87c837aaf66e39b487b0bc011f3e70bfd60 (patch) | |
tree | 296e12564474f83a02e936dee985366b3fe466db | |
parent | 38e228dd5aec0bf641dd096acf90aa8c6ad3234c (diff) |
added a simple mock signer
-rw-r--r-- | mocks/crypto.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mocks/crypto.go b/mocks/crypto.go new file mode 100644 index 0000000..87c883a --- /dev/null +++ b/mocks/crypto.go @@ -0,0 +1,23 @@ +package mocks + +import ( + "crypto" + "crypto/ed25519" + "io" +) + +// TestSign implements the signer interface. It can be used to mock an Ed25519 +// signer that always return the same public key, signature, and error. +type TestSigner struct { + PublicKey *[ed25519.PublicKeySize]byte + Signature *[ed25519.SignatureSize]byte + Error error +} + +func (ts *TestSigner) Public() crypto.PublicKey { + return ed25519.PublicKey(ts.PublicKey[:]) +} + +func (ts *TestSigner) Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) { + return ts.Signature[:], ts.Error +} |