func BenchmarkSign(b *testing.B) { blob := []byte("7d16f1d0b95310a7bc557747fc4f20fcd41c1c5095ae42f189df") keyDB := keys.NewKeyDB() var sigService = api.NewEdDSASigningService(keyDB) key, _ := sigService.CreateKey() privkey, _ := keyDB.GetKey(key.KeyInfo.KeyID) signer := api.NewEd25519Signer(privkey) sigRequest := &pb.SignatureRequest{KeyID: key.KeyInfo.KeyID, Content: blob} for n := 0; n < b.N; n++ { _, _ = signer.Sign(sigRequest) } }
func TestSign(t *testing.T) { var zero zeroReader public, private, _ := ed25519.GenerateKey(zero) blob := []byte("test message") directSig := ed25519.Sign(private, blob) directSigHex := hex.EncodeToString(directSig[:]) key := data.NewPrivateKey(data.ED25519Key, public[:], private[:]) signer := api.NewEd25519Signer(key) sigRequest := &pb.SignatureRequest{KeyID: &pb.KeyID{ID: key.ID()}, Content: blob} sig, err := signer.Sign(sigRequest) assert.Nil(t, err) signatureHex := fmt.Sprintf("%x", sig.Content) assert.Equal(t, directSigHex, signatureHex) assert.Equal(t, sig.KeyInfo.KeyID.ID, key.ID()) }