diff options
Diffstat (limited to 'src/keypair.go')
-rw-r--r-- | src/keypair.go | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/keypair.go b/src/keypair.go deleted file mode 100644 index 283cb92..0000000 --- a/src/keypair.go +++ /dev/null @@ -1,44 +0,0 @@ -package main - -import ( - "crypto/cipher" - "sync" - "time" -) - -/* Due to limitations in Go and /x/crypto there is currently - * no way to ensure that key material is securely ereased in memory. - * - * Since this may harm the forward secrecy property, - * we plan to resolve this issue; whenever Go allows us to do so. - */ - -type KeyPair struct { - send cipher.AEAD - receive cipher.AEAD - replayFilter ReplayFilter - sendNonce uint64 - isInitiator bool - created time.Time - localIndex uint32 - remoteIndex uint32 -} - -type KeyPairs struct { - mutex sync.RWMutex - current *KeyPair - previous *KeyPair - next *KeyPair // not yet "confirmed by transport" -} - -func (kp *KeyPairs) Current() *KeyPair { - kp.mutex.RLock() - defer kp.mutex.RUnlock() - return kp.current -} - -func (device *Device) DeleteKeyPair(key *KeyPair) { - if key != nil { - device.indices.Delete(key.localIndex) - } -} |