aboutsummaryrefslogtreecommitdiffstats
path: root/key
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2025-04-18 15:46:22 -0400
committerSam Anthony <sam@samanthony.xyz>2025-04-18 15:46:22 -0400
commitf6f220563e84804ba916beae8e8a21de3c4092e6 (patch)
tree6b79ba1340ff4b43e3a6576a9b7e776bf416df14 /key
parent13b531b353a486b9f5e3a266380abf795a5f1b4f (diff)
downloadhose-f6f220563e84804ba916beae8e8a21de3c4092e6.zip
implement saltpack.BoxPublicKey
Diffstat (limited to 'key')
-rw-r--r--key/box.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/key/box.go b/key/box.go
index 51bc3ff..a93c11a 100644
--- a/key/box.go
+++ b/key/box.go
@@ -4,6 +4,8 @@ import (
"bytes"
"encoding/hex"
"fmt"
+ "github.com/keybase/saltpack"
+ "github.com/keybase/saltpack/basic"
)
// BoxPublicKey is a public NaCl box key.
@@ -67,3 +69,20 @@ func decodeBoxKey(buf []byte) ([32]byte, error) {
}
return key, nil
}
+
+func (key BoxPublicKey) ToKID() []byte {
+ return key[:]
+}
+
+func (key BoxPublicKey) CreateEphemeralKey() (saltpack.BoxSecretKey, error) {
+ return basic.EphemeralKeyCreator{}.CreateEphemeralKey()
+}
+
+func (key BoxPublicKey) ToRawBoxKeyPointer() *saltpack.RawBoxKey {
+ raw := saltpack.RawBoxKey(key)
+ return &raw
+}
+
+func (key BoxPublicKey) HideIdentity() bool {
+ return false
+}