1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* 3 * Copyright (c) 2023, Oracle and/or its affiliates. 4 * 5 * TLS Protocol definitions 6 * 7 * From https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml 8 */ 9 10 #ifndef _TLS_PROT_H 11 #define _TLS_PROT_H 12 13 /* 14 * TLS Record protocol: ContentType 15 */ 16 enum { 17 TLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20, 18 TLS_RECORD_TYPE_ALERT = 21, 19 TLS_RECORD_TYPE_HANDSHAKE = 22, 20 TLS_RECORD_TYPE_DATA = 23, 21 TLS_RECORD_TYPE_HEARTBEAT = 24, 22 TLS_RECORD_TYPE_TLS12_CID = 25, 23 TLS_RECORD_TYPE_ACK = 26, 24 }; 25 26 /* 27 * TLS Alert protocol: AlertLevel 28 */ 29 enum { 30 TLS_ALERT_LEVEL_WARNING = 1, 31 TLS_ALERT_LEVEL_FATAL = 2, 32 }; 33 34 /* 35 * TLS Alert protocol: AlertDescription 36 */ 37 enum { 38 TLS_ALERT_DESC_CLOSE_NOTIFY = 0, 39 TLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10, 40 TLS_ALERT_DESC_BAD_RECORD_MAC = 20, 41 TLS_ALERT_DESC_RECORD_OVERFLOW = 22, 42 TLS_ALERT_DESC_HANDSHAKE_FAILURE = 40, 43 TLS_ALERT_DESC_BAD_CERTIFICATE = 42, 44 TLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43, 45 TLS_ALERT_DESC_CERTIFICATE_REVOKED = 44, 46 TLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45, 47 TLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46, 48 TLS_ALERT_DESC_ILLEGAL_PARAMETER = 47, 49 TLS_ALERT_DESC_UNKNOWN_CA = 48, 50 TLS_ALERT_DESC_ACCESS_DENIED = 49, 51 TLS_ALERT_DESC_DECODE_ERROR = 50, 52 TLS_ALERT_DESC_DECRYPT_ERROR = 51, 53 TLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52, 54 TLS_ALERT_DESC_PROTOCOL_VERSION = 70, 55 TLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71, 56 TLS_ALERT_DESC_INTERNAL_ERROR = 80, 57 TLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86, 58 TLS_ALERT_DESC_USER_CANCELED = 90, 59 TLS_ALERT_DESC_MISSING_EXTENSION = 109, 60 TLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110, 61 TLS_ALERT_DESC_UNRECOGNIZED_NAME = 112, 62 TLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113, 63 TLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115, 64 TLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116, 65 TLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120, 66 }; 67 68 #endif /* _TLS_PROT_H */ 69