introduce the IETF QUIC encryption levels

This commit is contained in:
Marten Seemann
2018-08-21 15:01:33 +07:00
parent d2a52a1433
commit 454a01b2a0
2 changed files with 18 additions and 1 deletions

View File

@@ -7,22 +7,36 @@ type EncryptionLevel int
const (
// EncryptionUnspecified is a not specified encryption level
EncryptionUnspecified EncryptionLevel = iota
// EncryptionUnencrypted is not encrypted
// EncryptionUnencrypted is not encrypted, for gQUIC
EncryptionUnencrypted
// EncryptionInitial is the Initial encryption level
EncryptionInitial
// EncryptionSecure is encrypted, but not forward secure
EncryptionSecure
// EncryptionHandshake is the Handshake encryption level
EncryptionHandshake
// EncryptionForwardSecure is forward secure
EncryptionForwardSecure
// Encryption1RTT is the 1-RTT encryption level
Encryption1RTT
)
func (e EncryptionLevel) String() string {
switch e {
// gQUIC
case EncryptionUnencrypted:
return "unencrypted"
case EncryptionSecure:
return "encrypted (not forward-secure)"
case EncryptionForwardSecure:
return "forward-secure"
// IETF QUIC
case EncryptionInitial:
return "Initial"
case EncryptionHandshake:
return "Handshake"
case Encryption1RTT:
return "1-RTT"
}
return "unknown"
}

View File

@@ -11,5 +11,8 @@ var _ = Describe("Encryption Level", func() {
Expect(EncryptionUnencrypted.String()).To(Equal("unencrypted"))
Expect(EncryptionSecure.String()).To(Equal("encrypted (not forward-secure)"))
Expect(EncryptionForwardSecure.String()).To(Equal("forward-secure"))
Expect(EncryptionInitial.String()).To(Equal("Initial"))
Expect(EncryptionHandshake.String()).To(Equal("Handshake"))
Expect(Encryption1RTT.String()).To(Equal("1-RTT"))
})
})