-
Notifications
You must be signed in to change notification settings - Fork 12
/
grease.go
65 lines (62 loc) · 1.71 KB
/
grease.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package createch
import "github.com/tumi8/goscanner/tls"
var greaseValue uint16 = 0x0a0a
var Grease = tls.ClientHelloPreset{
Ciphers: []uint16{
tls.TLS_AES_128_GCM_SHA256,
tls.TLS_AES_256_GCM_SHA384,
tls.TLS_CHACHA20_POLY1305_SHA256,
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
tls.TLS_RSA_WITH_AES_128_GCM_SHA256,
tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
tls.TLS_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_RSA_WITH_AES_256_CBC_SHA,
greaseValue,
},
CompressionMethods: []byte{compressionNone},
RenegotiationInfo: true,
Renegotiation: tls.RenegotiateOnceAsClient,
SignatureAlgorithms: []tls.SignatureScheme{
tls.ECDSAWithP256AndSHA256,
tls.PSSWithSHA256,
tls.PKCS1WithSHA256,
tls.ECDSAWithP384AndSHA384,
tls.PSSWithSHA384,
tls.PKCS1WithSHA384,
tls.PSSWithSHA512,
tls.PKCS1WithSHA512,
tls.SignatureScheme(greaseValue),
},
StatusRequest: true,
Sct: true,
SessionTicket: true,
Alpn: []string{"h2", "http/1.1"},
EcPointFormats: []uint8{0},
PskKeyExchangeModes: []uint8{
1, //pskModeDHE
},
SupportedVersions: []uint16{
tls.VersionTLS13,
tls.VersionTLS12,
tls.VersionTLS11,
tls.VersionTLS10,
greaseValue,
},
SupportedGroups: []tls.CurveID{
tls.CurveID(greaseValue),
tls.X25519,
tls.CurveP256,
tls.CurveP384,
},
Version: tls.VersionTLS12,
GreaseExtension: greaseValue,
ReversedExtensionOrder: false,
KeyShares: 2,
}