Botan
1.11.15
|
00001 /* 00002 * SSL/TLS Protocol Constants 00003 * (C) 2004-2010 Jack Lloyd 00004 * 00005 * Botan is released under the Simplified BSD License (see license.txt) 00006 */ 00007 00008 #ifndef BOTAN_TLS_PROTOCOL_MAGIC_H__ 00009 #define BOTAN_TLS_PROTOCOL_MAGIC_H__ 00010 00011 namespace Botan { 00012 00013 namespace TLS { 00014 00015 /** 00016 * Protocol Constants for SSL/TLS 00017 */ 00018 enum Size_Limits { 00019 TLS_HEADER_SIZE = 5, 00020 DTLS_HEADER_SIZE = TLS_HEADER_SIZE + 8, 00021 00022 MAX_PLAINTEXT_SIZE = 16*1024, 00023 MAX_COMPRESSED_SIZE = MAX_PLAINTEXT_SIZE + 1024, 00024 MAX_CIPHERTEXT_SIZE = MAX_COMPRESSED_SIZE + 1024, 00025 }; 00026 00027 enum Connection_Side { CLIENT = 1, SERVER = 2 }; 00028 00029 enum Record_Type { 00030 CHANGE_CIPHER_SPEC = 20, 00031 ALERT = 21, 00032 HANDSHAKE = 22, 00033 APPLICATION_DATA = 23, 00034 HEARTBEAT = 24, 00035 00036 NO_RECORD = 256 00037 }; 00038 00039 enum Handshake_Type { 00040 HELLO_REQUEST = 0, 00041 CLIENT_HELLO = 1, 00042 SERVER_HELLO = 2, 00043 HELLO_VERIFY_REQUEST = 3, 00044 NEW_SESSION_TICKET = 4, // RFC 5077 00045 CERTIFICATE = 11, 00046 SERVER_KEX = 12, 00047 CERTIFICATE_REQUEST = 13, 00048 SERVER_HELLO_DONE = 14, 00049 CERTIFICATE_VERIFY = 15, 00050 CLIENT_KEX = 16, 00051 FINISHED = 20, 00052 00053 CERTIFICATE_URL = 21, 00054 CERTIFICATE_STATUS = 22, 00055 00056 NEXT_PROTOCOL = 67, 00057 00058 HANDSHAKE_CCS = 254, // Not a wire value 00059 HANDSHAKE_NONE = 255 // Null value 00060 }; 00061 00062 enum Compression_Method { 00063 NO_COMPRESSION = 0x00, 00064 DEFLATE_COMPRESSION = 0x01 00065 }; 00066 00067 } 00068 00069 } 00070 00071 #endif