Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SSLTypes.h File Reference

Go to the source code of this file.

Classes

struct  GrayLib::cSSL
 

Namespaces

 GrayLib
 

Macros

#define CIPHERSUITEDEF(a, b, c, d, e, f, g, h, i)   a = b,
 

Typedefs

typedef BYTE GrayLib::SSL_Compress_t
 
typedef WORD GrayLib::SSL_CipherSuite_t
 SSL_CipherSuite_TYPE stored as 2 bytes. More...
 
typedef BYTE GrayLib::SSL_KeyEx_t
 

Enumerations

enum  GrayLib::SSL_STATE_TYPE {
  GrayLib::SSL_Unknown = 0 , GrayLib::SSL_ClientHello , GrayLib::SSL_ServerHello , GrayLib::SSL_SERVER_CERTIFICATE ,
  GrayLib::SSL_SERVER_KEY_EXCHANGE , GrayLib::SSL_CERTIFICATE_REQUEST , GrayLib::SSL_ServerHello_DONE , GrayLib::SSL_CLIENT_CERTIFICATE ,
  GrayLib::SSL_CLIENT_KEY_EXCHANGE , GrayLib::SSL_CERTIFICATE_VERIFY , GrayLib::SSL_CLIENT_CHANGE_CIPHER_SPEC , GrayLib::SSL_CLIENT_FINISHED ,
  GrayLib::SSL_SERVER_CHANGE_CIPHER_SPEC , GrayLib::SSL_SERVER_FINISHED , GrayLib::SSL_FLUSH_BUFFERS , GrayLib::SSL_HANDSHAKE_WRAPUP ,
  GrayLib::SSL_HANDSHAKE_COMPLETE
}
 
enum  GrayLib::SSL_MSG_TYPE {
  GrayLib::SSL_MSG_UNK = 0 , GrayLib::SSL_MSG_CHANGE_CIPHER_SPEC = 20 , GrayLib::SSL_MSG_ALERT = 21 , GrayLib::SSL_MSG_HANDSHAKE = 22 ,
  GrayLib::SSL_MSG_APPLICATION_DATA = 23 , GrayLib::SSL_MSG_V2 = 0x80
}
 
enum  GrayLib::SSL_VERSION_MAJOR_TYPE { GrayLib::SSL_VERSION_MAJOR_BYTE = 3 }
 Version as Major, minor byte order. 0x300=SSL 3.0, 0x301=TLS 1.0, 0x303=TLS 1.2. More...
 
enum  GrayLib::SSL_VERSION_TYPE {
  GrayLib::SSL_VERSION_NULL = -1 , GrayLib::SSL_VER_SSL_3 = 0 , GrayLib::SSL_VER_TLS_1_0 = 1 , GrayLib::SSL_VER_TLS_1_1 = 2 ,
  GrayLib::SSL_VER_TLS_1_2 = 3 , GrayLib::SSL_VERSION_SUPPORT_MAX = SSL_VER_TLS_1_2 , GrayLib::SSL_VERSION_QTY = 4
}
 
enum  GrayLib::SSL_COMPRESS_TYPE { GrayLib::SSL_COMPRESS_NULL = 0 , GrayLib::SSL_COMPRESS_DEFLATE = 1 }
 
enum  GrayLib::SSL_CipherSuite_TYPE { GrayLib::TLS_NULL_WITH_NULL_NULL = 0 , GrayLib::SSL_EMPTY_RENEGOTIATION_INFO = 0xFF , GrayLib::SSL_FALLBACK_SCSV = 0x5600 }
 
enum  GrayLib::SSL_KeyExchange_TYPE {
  GrayLib::SSL_KeyExchange_NONE = 0 , GrayLib::SSL_KeyExchange_RSA , GrayLib::SSL_KeyExchange_DHE_RSA , GrayLib::SSL_KeyExchange_ECDHE_RSA ,
  GrayLib::SSL_KeyExchange_ECDHE_ECDSA , GrayLib::SSL_KeyExchange_PSK , GrayLib::SSL_KeyExchange_DHE_PSK , GrayLib::SSL_KeyExchange_RSA_PSK ,
  GrayLib::SSL_KeyExchange_ECDHE_PSK , GrayLib::SSL_KeyExchange_ECDH_RSA , GrayLib::SSL_KeyExchange_ECDH_ECDSA
}
 
enum  GrayLib::SSL_SIG_TYPE { GrayLib::SSL_SIG_ANON = 0 , GrayLib::SSL_SIG_RSA = 1 , GrayLib::SSL_SIG_ECDSA = 3 }
 
enum  GrayLib::SSL_CERT_TYPE { GrayLib::SSL_CERT_NULL = 0 , GrayLib::SSL_CERT_TYPE_RSA_SIGN = 1 , GrayLib::SSL_CERT_TYPE_ECDSA_SIGN = 64 }
 
enum  GrayLib::SSL_HAND_TYPE {
  GrayLib::SSL_HAND_HelloRequest = 0 , GrayLib::SSL_HAND_ClientHello = 1 , GrayLib::SSL_HAND_ServerHello = 2 , GrayLib::SSL_HAND_NEW_SESSION_TICKET = 4 ,
  GrayLib::SSL_HAND_Certificate = 11 , GrayLib::SSL_HAND_ServerKeyExchange = 12 , GrayLib::SSL_HAND_CertificateRequest = 13 , GrayLib::SSL_HAND_ServerHelloDone = 14 ,
  GrayLib::SSL_HAND_CertificateVerify = 15 , GrayLib::SSL_HAND_ClientKeyExchange = 16 , GrayLib::SSL_HAND_Finished = 20
}
 
enum  GrayLib::SSL_MAX_FRAG_TYPE {
  GrayLib::SSL_MAX_FRAG_LEN_NONE = 0 , GrayLib::SSL_MAX_FRAG_LEN_512 = 1 , GrayLib::SSL_MAX_FRAG_LEN_1024 = 2 , GrayLib::SSL_MAX_FRAG_LEN_2048 = 3 ,
  GrayLib::SSL_MAX_FRAG_LEN_4096 = 4 , GrayLib::SSL_MAX_FRAG_LEN_QTY = 5
}
 
enum  GrayLib::TLS_EXT_TYPE {
  GrayLib::TLS_EXT_server_name = 0 , GrayLib::TLS_EXT_MaxFragmentLength = 1 , GrayLib::TLS_EXT_TruncatedHMAC = 4 , GrayLib::TLS_EXT_status_request = 5 ,
  GrayLib::TLS_EXT_supported_groups = 10 , GrayLib::TLS_EXT_ec_point_formats = 11 , GrayLib::TLS_EXT_signature_algorithms = 13 , GrayLib::TLS_EXT_ALPN = 16 ,
  GrayLib::TLS_EXT_EncryptThenMac = 22 , GrayLib::TLS_EXT_ExtendedMasterSecret = 23 , GrayLib::TLS_EXT_SessionTicket = 35 , GrayLib::TLS_EXT_renegotiation_info = 0xFF01
}
 
enum  GrayLib::TLS_ECP_PF_t { GrayLib::TLS_ECP_PF_UNCOMPRESSED = 0 , GrayLib::TLS_ECP_PF_COMPRESSED = 1 }
 
enum  GrayLib::SSL_ALERT_LEVEL_TYPE { GrayLib::SSL_ALERT_LEVEL_WARNING = 1 , GrayLib::SSL_ALERT_LEVEL_FATAL = 2 }
 
enum  GrayLib::SSL_ALERT_TYPE {
  GrayLib::SSL_ALERT_SSL3_CLOSE_NOTIFY = 0 , GrayLib::SSL_ALERT_SSL3_UNEXPECTED_MESSAGE = 10 , GrayLib::SSL_ALERT_SSL3_BAD_RECORD_MAC = 20 , GrayLib::SSL_ALERT_TLS1_DECRYPTION_FAILED = 21 ,
  GrayLib::SSL_ALERT_TLS1_RECORD_OVERFLOW = 22 , GrayLib::SSL_ALERT_SSL3_DECOMPRESSION_FAILURE = 30 , GrayLib::SSL_ALERT_SSL3_HANDSHAKE_FAILURE = 40 , GrayLib::SSL_ALERT_SSL3_NO_CERTIFICATE = 41 ,
  GrayLib::SSL_ALERT_SSL3_BAD_CERTIFICATE = 42 , GrayLib::SSL_ALERT_SSL3_UNSUPPORTED_CERTIFICATE = 43 , GrayLib::SSL_ALERT_SSL3_CERTIFICATE_REVOKED = 44 , GrayLib::SSL_ALERT_SSL3_CERTIFICATE_EXPIRED = 45 ,
  GrayLib::SSL_ALERT_SSL3_CERTIFICATE_UNKNOWN = 46 , GrayLib::SSL_ALERT_SSL3_ILLEGAL_PARAMETER = 47 , GrayLib::SSL_ALERT_TLS1_UNKNOWN_CA = 48 , GrayLib::SSL_ALERT_TLS1_ACCESS_DENIED = 49 ,
  GrayLib::SSL_ALERT_TLS1_DECODE_ERROR = 50 , GrayLib::SSL_ALERT_TLS1_DECRYPT_ERROR = 51 , GrayLib::SSL_ALERT_TLS1_EXPORT_RESTRICTION = 60 , GrayLib::SSL_ALERT_TLS1_PROTOCOL_VERSION = 70 ,
  GrayLib::SSL_ALERT_TLS1_INSUFFICIENT_SECURITY = 71 , GrayLib::SSL_ALERT_TLS1_INTERNAL_ERROR = 80 , GrayLib::SSL_ALERT_INAPROPRIATE_FALLBACK = 86 , GrayLib::SSL_ALERT_TLS1_USER_CANCELLED = 90 ,
  GrayLib::SSL_ALERT_TLS1_NO_RENEGOTIATION = 100 , GrayLib::SSL_ALERT_UNSUPPORTED_EXT = 110 , GrayLib::SSL_ALERT_UNRECOGNIZED_NAME = 112 , GrayLib::SSL_ALERT_UNKNOWN_PSK_IDENTITY = 115 ,
  GrayLib::SSL_ALERT_NO_APPLICATION_PROTOCOL = 120
}
 

Detailed Description

Macro Definition Documentation

◆ CIPHERSUITEDEF

#define CIPHERSUITEDEF (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
 
)    a = b,