aboutsummaryrefslogtreecommitdiff
path: root/key/enc.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-07-19 00:10:12 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-07-19 00:10:12 +0200
commit016194f41c6267e84f513e9895456f414651b3ad (patch)
tree4b3d6056ffe9ea6b03afb9db99a8cfdc3eed8765 /key/enc.go
parente322c768df439cf34049dd62c4c0b6d3e2c1112b (diff)
Add Public method
Diffstat (limited to 'key/enc.go')
-rw-r--r--key/enc.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/key/enc.go b/key/enc.go
index 2283b07..f36192d 100644
--- a/key/enc.go
+++ b/key/enc.go
@@ -17,6 +17,13 @@ type Enc struct {
Key [ed25519.PrivateKeySize]byte
}
+func (v *Enc) Public() *Pub {
+ key := ed25519.PrivateKey(v.Key[:]).Public().(ed25519.PublicKey)
+ pub := &Pub{PKAlg: pkAlg, KeyNum: v.KeyNum}
+ copy(pub.Key[:], key)
+ return pub
+}
+
func (v *Enc) Sign(message []byte) *Sig {
sig := &Sig{PKAlg: v.PKAlg, KeyNum: v.KeyNum}
copy(sig.Sig[:], ed25519.Sign(ed25519.PrivateKey(v.Key[:]), message))