tls_prot.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. #ifndef _TLS_PROT_H
  10. #define _TLS_PROT_H
  11. /*
  12. * TLS Record protocol: ContentType
  13. */
  14. enum {
  15. TLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20,
  16. TLS_RECORD_TYPE_ALERT = 21,
  17. TLS_RECORD_TYPE_HANDSHAKE = 22,
  18. TLS_RECORD_TYPE_DATA = 23,
  19. TLS_RECORD_TYPE_HEARTBEAT = 24,
  20. TLS_RECORD_TYPE_TLS12_CID = 25,
  21. TLS_RECORD_TYPE_ACK = 26,
  22. };
  23. /*
  24. * TLS Alert protocol: AlertLevel
  25. */
  26. enum {
  27. TLS_ALERT_LEVEL_WARNING = 1,
  28. TLS_ALERT_LEVEL_FATAL = 2,
  29. };
  30. /*
  31. * TLS Alert protocol: AlertDescription
  32. */
  33. enum {
  34. TLS_ALERT_DESC_CLOSE_NOTIFY = 0,
  35. TLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10,
  36. TLS_ALERT_DESC_BAD_RECORD_MAC = 20,
  37. TLS_ALERT_DESC_RECORD_OVERFLOW = 22,
  38. TLS_ALERT_DESC_HANDSHAKE_FAILURE = 40,
  39. TLS_ALERT_DESC_BAD_CERTIFICATE = 42,
  40. TLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43,
  41. TLS_ALERT_DESC_CERTIFICATE_REVOKED = 44,
  42. TLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45,
  43. TLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46,
  44. TLS_ALERT_DESC_ILLEGAL_PARAMETER = 47,
  45. TLS_ALERT_DESC_UNKNOWN_CA = 48,
  46. TLS_ALERT_DESC_ACCESS_DENIED = 49,
  47. TLS_ALERT_DESC_DECODE_ERROR = 50,
  48. TLS_ALERT_DESC_DECRYPT_ERROR = 51,
  49. TLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52,
  50. TLS_ALERT_DESC_PROTOCOL_VERSION = 70,
  51. TLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71,
  52. TLS_ALERT_DESC_INTERNAL_ERROR = 80,
  53. TLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86,
  54. TLS_ALERT_DESC_USER_CANCELED = 90,
  55. TLS_ALERT_DESC_MISSING_EXTENSION = 109,
  56. TLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110,
  57. TLS_ALERT_DESC_UNRECOGNIZED_NAME = 112,
  58. TLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113,
  59. TLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115,
  60. TLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116,
  61. TLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120,
  62. };
  63. #endif /* _TLS_PROT_H */