utls/dicttls/hpke_kdf_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

24 lines
534 B
Go

package dicttls
// source: https://www.iana.org/assignments/hpke/hpke.xhtml
// last updated: December 2023
const (
HKDF_SHA256 uint16 = 0x0001
HKDF_SHA384 uint16 = 0x0002
HKDF_SHA512 uint16 = 0x0003
)
var DictKDFIdentifierValueIndexed = map[uint16]string{
0x0000: "Reserved", // RFC 9180
0x0001: "HKDF_SHA256",
0x0002: "HKDF_SHA384",
0x0003: "HKDF_SHA512",
}
var DictKDFIdentifierNameIndexed = map[string]uint16{
"Reserved": 0x0000, // RFC 9180
"HKDF_SHA256": 0x0001,
"HKDF_SHA384": 0x0002,
"HKDF_SHA512": 0x0003,
}