add simple dsa key generator
[epoint] / dsakey / dsakey_test.go
1 package dsakey
2
3 import (
4         "crypto/openpgp"
5 //      "fmt"
6         "bytes"
7         "time"
8         "testing"
9 )
10
11 func testSignAndVerify(t *testing.T, priv *openpgp.Entity) {
12         msg := []byte("testing")
13         w := new(bytes.Buffer)
14         err := openpgp.DetachSign(w, priv, bytes.NewBuffer(msg))
15         if err != nil {
16                 t.Errorf("error signing: %s", err)
17                 return
18         }
19
20         _, err = openpgp.CheckDetachedSignature(openpgp.EntityList{priv}, bytes.NewBuffer(msg), w)
21         if err != nil {
22                 t.Errorf("Verify failed")
23         }
24 }
25
26 func TestKey(t *testing.T) {
27         key, err := GenKey()
28         if err != nil {
29                 t.Errorf("gen dsa key failed: %s", err)
30                 return
31         }
32         priv, err := NewEntity(key, time.Seconds(), "a", "b", "c")
33         if err != nil {
34                 t.Errorf("new entity failed: %s", err)
35         } else {
36                 testSignAndVerify(t, priv)
37         }
38 }