aboutsummaryrefslogtreecommitdiffstats
path: root/src/noise_types.go
diff options
context:
space:
mode:
authorMathias Hall-Andersen <mathias@hall-andersen.dk>2017-06-28 23:45:45 +0200
committerMathias Hall-Andersen <mathias@hall-andersen.dk>2017-06-28 23:45:45 +0200
commit1f0976a26c1d0a6b5eb2c0aa993f12d89f96eed2 (patch)
tree36771e8468214583a5c3f3441b36662c4108a58c /src/noise_types.go
parentImplemented MAC1/2 calculation (diff)
downloadwireguard-go-1f0976a26c1d0a6b5eb2c0aa993f12d89f96eed2.tar.xz
wireguard-go-1f0976a26c1d0a6b5eb2c0aa993f12d89f96eed2.zip
Work on UAPI
Cross-platform API (get operation) Handshake initiation creation process Outbound packet flow Fixes from code-review
Diffstat (limited to '')
-rw-r--r--src/noise_types.go17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/noise_types.go b/src/noise_types.go
index 5508f9a..5ebc130 100644
--- a/src/noise_types.go
+++ b/src/noise_types.go
@@ -3,18 +3,18 @@ package main
import (
"encoding/hex"
"errors"
+ "golang.org/x/crypto/chacha20poly1305"
)
const (
- NoisePublicKeySize = 32
- NoisePrivateKeySize = 32
- NoiseSymmetricKeySize = 32
+ NoisePublicKeySize = 32
+ NoisePrivateKeySize = 32
)
type (
NoisePublicKey [NoisePublicKeySize]byte
NoisePrivateKey [NoisePrivateKeySize]byte
- NoiseSymmetricKey [NoiseSymmetricKeySize]byte
+ NoiseSymmetricKey [chacha20poly1305.KeySize]byte
NoiseNonce uint64 // padded to 12-bytes
)
@@ -30,6 +30,15 @@ func loadExactHex(dst []byte, src string) error {
return nil
}
+func (key NoisePrivateKey) IsZero() bool {
+ for _, b := range key[:] {
+ if b != 0 {
+ return false
+ }
+ }
+ return true
+}
+
func (key *NoisePrivateKey) FromHex(src string) error {
return loadExactHex(key[:], src)
}