utls/dicttls/hpke_aead_identifiers.go
Gaukas Wang b4de442d02
feat: add GREASEEncryptedClientHelloExtension (#266)
* dicttls: update ECH-related entries

* wip: GREASE ECH extension

* new: GREASE ECH extension

* fix: GREASE ECH Read must succeed with io.EOF

* new: GREASE ECH multiple payload len

* new: parse ECH in EncryptedExtensions

* fix: ECHConfig Length always 0

* new: GREASE ECH parrots

* new: (*Config).ECHConfigs

Add (*Config).ECHConfigs for future full ECH extension.

* new: add GREASE ECH example

Add an incomplete example of using GREASE ECH extension (Chrome 120 parrot).

* fix: invalid httpGetOverConn call

fix a problem in old example where httpGetOverConn was called with uTlsConn.HandshakeState.ServerHello.AlpnProtocol, which will not be populated in case TLS 1.3 is used.

* new: possible InnerClientHello length
2023-12-13 19:50:50 -07:00

19 lines
580 B
Go

package dicttls
// source: https://www.iana.org/assignments/hpke/hpke.xhtml
// last updated: December 2023
const (
AEAD_AES_128_GCM uint16 = 0x0001 // NIST Special Publication 800-38D
AEAD_AES_256_GCM uint16 = 0x0002 // NIST Special Publication 800-38D
AEAD_CHACHA20_POLY1305 uint16 = 0x0003 // RFC 8439
AEAD_EXPORT_ONLY uint16 = 0xFFFF // RFC 9180
)
var DictAEADIdentifierValueIndexed = map[uint16]string{
0x0000: "Reserved", // RFC 9180
0x0001: "AES-128-GCM",
0x0002: "AES-256-GCM",
0x0003: "ChaCha20Poly1305",
0xFFFF: "Export-only", // RFC 9180
}