forked from quic-go/quic-go
18 lines
830 B
Go
18 lines
830 B
Go
package handshake
|
|
|
|
import "github.com/lucas-clemente/quic-go/protocol"
|
|
|
|
// CryptoSetup is a crypto setup
|
|
type CryptoSetup interface {
|
|
HandleCryptoStream() error
|
|
Open(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) ([]byte, protocol.EncryptionLevel, error)
|
|
Seal(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) ([]byte, protocol.EncryptionLevel)
|
|
SealWith(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte, forceEncryptionLevel protocol.EncryptionLevel) ([]byte, protocol.EncryptionLevel, error)
|
|
LockForSealing()
|
|
UnlockForSealing()
|
|
HandshakeComplete() bool
|
|
// TODO: clean up this interface
|
|
DiversificationNonce() []byte // only needed for cryptoSetupServer
|
|
SetDiversificationNonce([]byte) error // only needed for cryptoSetupClient
|
|
}
|