...
1
2
3
4
5 package tls
6
7 import "strconv"
8
9 type alert uint8
10
11 const (
12
13 alertLevelWarning = 1
14 alertLevelError = 2
15 )
16
17 const (
18 alertCloseNotify alert = 0
19 alertUnexpectedMessage alert = 10
20 alertBadRecordMAC alert = 20
21 alertDecryptionFailed alert = 21
22 alertRecordOverflow alert = 22
23 alertDecompressionFailure alert = 30
24 alertHandshakeFailure alert = 40
25 alertBadCertificate alert = 42
26 alertUnsupportedCertificate alert = 43
27 alertCertificateRevoked alert = 44
28 alertCertificateExpired alert = 45
29 alertCertificateUnknown alert = 46
30 alertIllegalParameter alert = 47
31 alertUnknownCA alert = 48
32 alertAccessDenied alert = 49
33 alertDecodeError alert = 50
34 alertDecryptError alert = 51
35 alertProtocolVersion alert = 70
36 alertInsufficientSecurity alert = 71
37 alertInternalError alert = 80
38 alertInappropriateFallback alert = 86
39 alertUserCanceled alert = 90
40 alertNoRenegotiation alert = 100
41 alertNoApplicationProtocol alert = 120
42 )
43
44 var alertText = map[alert]string{
45 alertCloseNotify: "close notify",
46 alertUnexpectedMessage: "unexpected message",
47 alertBadRecordMAC: "bad record MAC",
48 alertDecryptionFailed: "decryption failed",
49 alertRecordOverflow: "record overflow",
50 alertDecompressionFailure: "decompression failure",
51 alertHandshakeFailure: "handshake failure",
52 alertBadCertificate: "bad certificate",
53 alertUnsupportedCertificate: "unsupported certificate",
54 alertCertificateRevoked: "revoked certificate",
55 alertCertificateExpired: "expired certificate",
56 alertCertificateUnknown: "unknown certificate",
57 alertIllegalParameter: "illegal parameter",
58 alertUnknownCA: "unknown certificate authority",
59 alertAccessDenied: "access denied",
60 alertDecodeError: "error decoding message",
61 alertDecryptError: "error decrypting message",
62 alertProtocolVersion: "protocol version not supported",
63 alertInsufficientSecurity: "insufficient security level",
64 alertInternalError: "internal error",
65 alertInappropriateFallback: "inappropriate fallback",
66 alertUserCanceled: "user canceled",
67 alertNoRenegotiation: "no renegotiation",
68 alertNoApplicationProtocol: "no application protocol",
69 }
70
71 func (e alert) String() string {
72 s, ok := alertText[e]
73 if ok {
74 return "tls: " + s
75 }
76 return "tls: alert(" + strconv.Itoa(int(e)) + ")"
77 }
78
79 func (e alert) Error() string {
80 return e.String()
81 }
82
View as plain text