6 #ifndef _INC_SSLTypes_H
7 #define _INC_SSLTypes_H
12 #include "../GrayLibBase.h"
13 #include "../Hash/cHashCode.h"
14 #include "../Key/cKeyBase.h"
105 #define CIPHERSUITEDEF(a,b,c,d,e,f,g,h,i) a = b,
107 #undef CIPHERSUITEDEF
274 static const size_t k_PSK_Size_Max = 32;
275 static const size_t k_MAC_Size_Max = 48;
276 static const size_t k_Number_Size_Max = 1024;
280 static const size_t k_Content_Size_Max = 16384;
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
SSL_SIG_TYPE
Definition: SSLTypes.h:132
@ SSL_SIG_RSA
Definition: SSLTypes.h:137
@ SSL_SIG_ECDSA
Definition: SSLTypes.h:138
@ SSL_SIG_ANON
Definition: SSLTypes.h:136
TLS_EXT_TYPE
Definition: SSLTypes.h:192
@ TLS_EXT_status_request
Definition: SSLTypes.h:200
@ TLS_EXT_TruncatedHMAC
Definition: SSLTypes.h:199
@ TLS_EXT_server_name
Definition: SSLTypes.h:196
@ TLS_EXT_MaxFragmentLength
Definition: SSLTypes.h:197
@ TLS_EXT_ExtendedMasterSecret
Definition: SSLTypes.h:210
@ TLS_EXT_signature_algorithms
signature_algorithms
Definition: SSLTypes.h:205
@ TLS_EXT_SessionTicket
session ticket extension "SessionTicket TLS"
Definition: SSLTypes.h:211
@ TLS_EXT_ALPN
application_layer_protocol_negotiation. // RFC 7301 Application Layer Protocol Negotiation.
Definition: SSLTypes.h:207
@ TLS_EXT_ec_point_formats
ec_point_formats
Definition: SSLTypes.h:203
@ TLS_EXT_supported_groups
supported_groups renamed from "elliptic_curves")
Definition: SSLTypes.h:202
@ TLS_EXT_EncryptThenMac
Definition: SSLTypes.h:209
@ TLS_EXT_renegotiation_info
Definition: SSLTypes.h:213
SSL_MAX_FRAG_TYPE
Definition: SSLTypes.h:170
@ SSL_MAX_FRAG_LEN_NONE
don't use this extension
Definition: SSLTypes.h:183
@ SSL_MAX_FRAG_LEN_512
MaxFragmentLength 2^9.
Definition: SSLTypes.h:184
@ SSL_MAX_FRAG_LEN_1024
MaxFragmentLength 2^10.
Definition: SSLTypes.h:185
@ SSL_MAX_FRAG_LEN_4096
MaxFragmentLength 2^12.
Definition: SSLTypes.h:187
@ SSL_MAX_FRAG_LEN_2048
MaxFragmentLength 2^11.
Definition: SSLTypes.h:186
@ SSL_MAX_FRAG_LEN_QTY
first invalid value. Max Must be <= 16384
Definition: SSLTypes.h:188
SSL_MSG_TYPE
Definition: SSLTypes.h:45
@ SSL_MSG_APPLICATION_DATA
0x17 = any application defined data.
Definition: SSLTypes.h:54
@ SSL_MSG_UNK
Definition: SSLTypes.h:50
@ SSL_MSG_ALERT
0x15 = closing or some error.
Definition: SSLTypes.h:52
@ SSL_MSG_V2
Weird first byte of v2 ClientHello.
Definition: SSLTypes.h:56
@ SSL_MSG_CHANGE_CIPHER_SPEC
0x14 = switch to the negotiated encryption.
Definition: SSLTypes.h:51
@ SSL_MSG_HANDSHAKE
0x16 = get this first. SSL3_RT_HANDSHAKE. negotiate the channel. SSL_HAND_TYPE
Definition: SSLTypes.h:53
BYTE SSL_KeyEx_t
Definition: SSLTypes.h:129
SSL_ALERT_TYPE
Definition: SSLTypes.h:235
@ SSL_ALERT_SSL3_BAD_RECORD_MAC
Definition: SSLTypes.h:240
@ SSL_ALERT_SSL3_ILLEGAL_PARAMETER
Definition: SSLTypes.h:251
@ SSL_ALERT_TLS1_ACCESS_DENIED
Definition: SSLTypes.h:253
@ SSL_ALERT_TLS1_DECRYPTION_FAILED
Definition: SSLTypes.h:241
@ SSL_ALERT_UNRECOGNIZED_NAME
Definition: SSLTypes.h:264
@ SSL_ALERT_TLS1_USER_CANCELLED
Definition: SSLTypes.h:261
@ SSL_ALERT_TLS1_PROTOCOL_VERSION
Definition: SSLTypes.h:257
@ SSL_ALERT_SSL3_UNEXPECTED_MESSAGE
Definition: SSLTypes.h:239
@ SSL_ALERT_SSL3_CLOSE_NOTIFY
Definition: SSLTypes.h:238
@ SSL_ALERT_SSL3_HANDSHAKE_FAILURE
Definition: SSLTypes.h:244
@ SSL_ALERT_SSL3_DECOMPRESSION_FAILURE
Definition: SSLTypes.h:243
@ SSL_ALERT_INAPROPRIATE_FALLBACK
Definition: SSLTypes.h:260
@ SSL_ALERT_TLS1_EXPORT_RESTRICTION
Definition: SSLTypes.h:256
@ SSL_ALERT_SSL3_CERTIFICATE_REVOKED
Definition: SSLTypes.h:248
@ SSL_ALERT_SSL3_NO_CERTIFICATE
Definition: SSLTypes.h:245
@ SSL_ALERT_NO_APPLICATION_PROTOCOL
Definition: SSLTypes.h:266
@ SSL_ALERT_TLS1_UNKNOWN_CA
Definition: SSLTypes.h:252
@ SSL_ALERT_SSL3_CERTIFICATE_UNKNOWN
Definition: SSLTypes.h:250
@ SSL_ALERT_SSL3_BAD_CERTIFICATE
Definition: SSLTypes.h:246
@ SSL_ALERT_TLS1_DECRYPT_ERROR
Definition: SSLTypes.h:255
@ SSL_ALERT_UNKNOWN_PSK_IDENTITY
Definition: SSLTypes.h:265
@ SSL_ALERT_TLS1_INSUFFICIENT_SECURITY
Definition: SSLTypes.h:258
@ SSL_ALERT_TLS1_RECORD_OVERFLOW
Definition: SSLTypes.h:242
@ SSL_ALERT_UNSUPPORTED_EXT
Definition: SSLTypes.h:263
@ SSL_ALERT_SSL3_CERTIFICATE_EXPIRED
Definition: SSLTypes.h:249
@ SSL_ALERT_TLS1_DECODE_ERROR
Definition: SSLTypes.h:254
@ SSL_ALERT_TLS1_INTERNAL_ERROR
Definition: SSLTypes.h:259
@ SSL_ALERT_TLS1_NO_RENEGOTIATION
Definition: SSLTypes.h:262
@ SSL_ALERT_SSL3_UNSUPPORTED_CERTIFICATE
Definition: SSLTypes.h:247
SSL_KeyExchange_TYPE
Definition: SSLTypes.h:113
@ SSL_KeyExchange_RSA_PSK
DHE = Diffie–Hellman key exchange http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange ....
Definition: SSLTypes.h:124
@ SSL_KeyExchange_ECDHE_RSA
Definition: SSLTypes.h:120
@ SSL_KeyExchange_ECDH_ECDSA
Definition: SSLTypes.h:127
@ SSL_KeyExchange_ECDHE_PSK
Definition: SSLTypes.h:125
@ SSL_KeyExchange_ECDHE_ECDSA
Definition: SSLTypes.h:121
@ SSL_KeyExchange_NONE
Definition: SSLTypes.h:117
@ SSL_KeyExchange_ECDH_RSA
Definition: SSLTypes.h:126
@ SSL_KeyExchange_DHE_RSA
Definition: SSLTypes.h:119
@ SSL_KeyExchange_RSA
Definition: SSLTypes.h:118
@ SSL_KeyExchange_PSK
Definition: SSLTypes.h:122
@ SSL_KeyExchange_DHE_PSK
Definition: SSLTypes.h:123
SSL_CERT_TYPE
Definition: SSLTypes.h:142
@ SSL_CERT_TYPE_ECDSA_SIGN
Definition: SSLTypes.h:148
@ SSL_CERT_NULL
Definition: SSLTypes.h:146
@ SSL_CERT_TYPE_RSA_SIGN
Definition: SSLTypes.h:147
SSL_COMPRESS_TYPE
Definition: SSLTypes.h:79
@ SSL_COMPRESS_DEFLATE
USE_ZLIB.
Definition: SSLTypes.h:83
@ SSL_COMPRESS_NULL
Definition: SSLTypes.h:82
BYTE SSL_Compress_t
Definition: SSLTypes.h:85
SSL_VERSION_TYPE
Definition: SSLTypes.h:66
@ SSL_VER_TLS_1_0
TLS v1.0 = tls1 = 0x0301.
Definition: SSLTypes.h:71
@ SSL_VERSION_NULL
Definition: SSLTypes.h:69
@ SSL_VERSION_SUPPORT_MAX
Definition: SSLTypes.h:74
@ SSL_VER_SSL_3
SSL v3.0 = ssl3 = 0x0300.
Definition: SSLTypes.h:70
@ SSL_VER_TLS_1_1
TLS v1.1 = tls1_1 = 0x0302.
Definition: SSLTypes.h:72
@ SSL_VERSION_QTY
Definition: SSLTypes.h:75
@ SSL_VER_TLS_1_2
TLS v1.2 = tls1_2 = 0x0303.
Definition: SSLTypes.h:73
TLS_ECP_PF_t
Definition: SSLTypes.h:217
@ TLS_ECP_PF_COMPRESSED
Compressed point format.
Definition: SSLTypes.h:223
@ TLS_ECP_PF_UNCOMPRESSED
Uncompressed point format.
Definition: SSLTypes.h:222
SSL_HAND_TYPE
Definition: SSLTypes.h:152
@ SSL_HAND_CertificateRequest
Definition: SSLTypes.h:162
@ SSL_HAND_ClientHello
Sent from client to server. Challenge to the server. cSSLMsgHandHello.
Definition: SSLTypes.h:157
@ SSL_HAND_CertificateVerify
Definition: SSLTypes.h:164
@ SSL_HAND_ServerKeyExchange
Definition: SSLTypes.h:161
@ SSL_HAND_Certificate
both directions.
Definition: SSLTypes.h:160
@ SSL_HAND_ServerHello
sent from server back to client. cSSLMsgHandHello
Definition: SSLTypes.h:158
@ SSL_HAND_ServerHelloDone
SSL3_MT_SERVER_DONE.
Definition: SSLTypes.h:163
@ SSL_HAND_NEW_SESSION_TICKET
Definition: SSLTypes.h:159
@ SSL_HAND_Finished
Definition: SSLTypes.h:166
@ SSL_HAND_ClientKeyExchange
Definition: SSLTypes.h:165
@ SSL_HAND_HelloRequest
Server can send this to the client.
Definition: SSLTypes.h:156
SSL_VERSION_MAJOR_TYPE
Version as Major, minor byte order. 0x300=SSL 3.0, 0x301=TLS 1.0, 0x303=TLS 1.2.
Definition: SSLTypes.h:62
@ SSL_VERSION_MAJOR_BYTE
Definition: SSLTypes.h:63
SSL_STATE_TYPE
Definition: SSLTypes.h:20
@ SSL_Unknown
Definition: SSLTypes.h:24
@ SSL_CLIENT_FINISHED
Definition: SSLTypes.h:35
@ SSL_ServerHello_DONE
Definition: SSLTypes.h:30
@ SSL_SERVER_CERTIFICATE
Definition: SSLTypes.h:27
@ SSL_CLIENT_KEY_EXCHANGE
Definition: SSLTypes.h:32
@ SSL_SERVER_KEY_EXCHANGE
Definition: SSLTypes.h:28
@ SSL_HANDSHAKE_WRAPUP
Definition: SSLTypes.h:39
@ SSL_SERVER_CHANGE_CIPHER_SPEC
Definition: SSLTypes.h:36
@ SSL_FLUSH_BUFFERS
Definition: SSLTypes.h:38
@ SSL_CERTIFICATE_VERIFY
Definition: SSLTypes.h:33
@ SSL_CLIENT_CERTIFICATE
Definition: SSLTypes.h:31
@ SSL_ServerHello
Definition: SSLTypes.h:26
@ SSL_CERTIFICATE_REQUEST
Definition: SSLTypes.h:29
@ SSL_CLIENT_CHANGE_CIPHER_SPEC
Definition: SSLTypes.h:34
@ SSL_ClientHello
Definition: SSLTypes.h:25
@ SSL_SERVER_FINISHED
Definition: SSLTypes.h:37
@ SSL_HANDSHAKE_COMPLETE
Definition: SSLTypes.h:40
WORD SSL_CipherSuite_t
SSL_CipherSuite_TYPE stored as 2 bytes.
Definition: SSLTypes.h:110
SSL_CipherSuite_TYPE
Definition: SSLTypes.h:88
@ SSL_EMPTY_RENEGOTIATION_INFO
Indicate no suite selected yet.
Definition: SSLTypes.h:102
@ SSL_FALLBACK_SCSV
draft-ietf-tls-downgrade-scsv-00
Definition: SSLTypes.h:103
@ TLS_NULL_WITH_NULL_NULL
Definition: SSLTypes.h:100
SSL_ALERT_LEVEL_TYPE
Definition: SSLTypes.h:227
@ SSL_ALERT_LEVEL_WARNING
Definition: SSLTypes.h:230
@ SSL_ALERT_LEVEL_FATAL
Definition: SSLTypes.h:231
Definition: SSLTypes.h:270