PcapPlusPlus  24.09
SSLCommon.h File Reference
#include <string>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  pcpp::ssl_tls_record_layer
 
struct  pcpp::ssl_tls_handshake_layer
 
struct  pcpp::ssl_tls_client_server_hello
 
struct  pcpp::ssl_tls_change_cipher_spec
 
struct  pcpp::ssl_tls_alert
 
class  pcpp::SSLVersion
 

Namespaces

 pcpp
 The main namespace for the PcapPlusPlus lib.
 

Enumerations

enum  pcpp::SSLRecordType { pcpp::SSL_CHANGE_CIPHER_SPEC = 20 , pcpp::SSL_ALERT = 21 , pcpp::SSL_HANDSHAKE = 22 , pcpp::SSL_APPLICATION_DATA = 23 }
 
enum  pcpp::SSLHandshakeType {
  pcpp::SSL_HELLO_REQUEST = 0 , pcpp::SSL_CLIENT_HELLO = 1 , pcpp::SSL_SERVER_HELLO = 2 , pcpp::SSL_NEW_SESSION_TICKET = 4 ,
  pcpp::SSL_END_OF_EARLY_DATE = 5 , pcpp::SSL_ENCRYPTED_EXTENSIONS = 8 , pcpp::SSL_CERTIFICATE = 11 , pcpp::SSL_SERVER_KEY_EXCHANGE = 12 ,
  pcpp::SSL_CERTIFICATE_REQUEST = 13 , pcpp::SSL_SERVER_DONE = 14 , pcpp::SSL_CERTIFICATE_VERIFY = 15 , pcpp::SSL_CLIENT_KEY_EXCHANGE = 16 ,
  pcpp::SSL_FINISHED = 20 , pcpp::SSL_KEY_UPDATE = 24 , pcpp::SSL_HANDSHAKE_UNKNOWN = 255
}
 
enum  pcpp::SSLAlertLevel { pcpp::SSL_ALERT_LEVEL_WARNING = 1 , pcpp::SSL_ALERT_LEVEL_FATAL = 2 , pcpp::SSL_ALERT_LEVEL_ENCRYPTED = 255 }
 
enum  pcpp::SSLAlertDescription {
  pcpp::SSL_ALERT_CLOSE_NOTIFY = 0 , pcpp::SSL_ALERT_UNEXPECTED_MESSAGE = 10 , pcpp::SSL_ALERT_BAD_RECORD_MAC = 20 , pcpp::SSL_ALERT_DECRYPTION_FAILED = 21 ,
  SSL_ALERT_RECORD_OVERFLOW = 22 , pcpp::SSL_ALERT_DECOMPRESSION_FAILURE = 30 , pcpp::SSL_ALERT_HANDSHAKE_FAILURE = 40 , pcpp::SSL_ALERT_NO_CERTIFICATE = 41 ,
  pcpp::SSL_ALERT_BAD_CERTIFICATE = 42 , pcpp::SSL_ALERT_UNSUPPORTED_CERTIFICATE = 43 , pcpp::SSL_ALERT_CERTIFICATE_REVOKED = 44 , pcpp::SSL_ALERT_CERTIFICATE_EXPIRED = 45 ,
  pcpp::SSL_ALERT_CERTIFICATE_UNKNOWN = 46 , pcpp::SSL_ALERT_ILLEGAL_PARAMETER = 47 , pcpp::SSL_ALERT_UNKNOWN_CA = 48 , pcpp::SSL_ALERT_ACCESS_DENIED = 49 ,
  pcpp::SSL_ALERT_DECODE_ERROR = 50 , pcpp::SSL_ALERT_DECRYPT_ERROR = 51 , pcpp::SSL_ALERT_EXPORT_RESTRICTION = 60 , pcpp::SSL_ALERT_PROTOCOL_VERSION = 70 ,
  pcpp::SSL_ALERT_INSUFFICIENT_SECURITY = 71 , pcpp::SSL_ALERT_INTERNAL_ERROR = 80 , pcpp::SSL_ALERT_USER_CANCELLED = 90 , pcpp::SSL_ALERT_NO_RENEGOTIATION = 100 ,
  pcpp::SSL_ALERT_UNSUPPORTED_EXTENSION = 110 , pcpp::SSL_ALERT_ENCRYPTED = 255
}
 
enum  pcpp::SSLKeyExchangeAlgorithm {
  pcpp::SSL_KEYX_NULL , pcpp::SSL_KEYX_RSA , pcpp::SSL_KEYX_DH , pcpp::SSL_KEYX_DHE ,
  pcpp::SSL_KEYX_ECDH , pcpp::SSL_KEYX_ECDHE , pcpp::SSL_KEYX_FORTEZZA , pcpp::SSL_KEYX_KRB5 ,
  pcpp::SSL_KEYX_PSK , pcpp::SSL_KEYX_GOST , pcpp::SSL_KEYX_SRP , pcpp::SSL_KEYX_PCT ,
  pcpp::SSL_KEYX_Unknown
}
 
enum  pcpp::SSLAuthenticationAlgorithm {
  pcpp::SSL_AUTH_NULL , pcpp::SSL_AUTH_RSA , pcpp::SSL_AUTH_DSS , pcpp::SSL_AUTH_anon ,
  pcpp::SSL_AUTH_KEA , pcpp::SSL_AUTH_KRB5 , pcpp::SSL_AUTH_PSK , pcpp::SSL_AUTH_ECDSA ,
  pcpp::SSL_AUTH_GOST , pcpp::SSL_AUTH_SHA , pcpp::SSL_AUTH_PCT , pcpp::SSL_AUTH_DHE ,
  pcpp::SSL_AUTH_Unknown
}
 
enum  pcpp::SSLSymetricEncryptionAlgorithm {
  pcpp::SSL_SYM_NULL , pcpp::SSL_SYM_RC4_40 , pcpp::SSL_SYM_RC4_128 , pcpp::SSL_SYM_RC2_CBC_40 ,
  pcpp::SSL_SYM_IDEA_CBC , pcpp::SSL_SYM_DES40_CBC , pcpp::SSL_SYM_DES_CBC , pcpp::SSL_SYM_3DES_EDE_CBC ,
  pcpp::SSL_SYM_FORTEZZA_CBC , pcpp::SSL_SYM_DES_CBC_40 , pcpp::SSL_SYM_AES_128_CBC , pcpp::SSL_SYM_AES_256_CBC ,
  pcpp::SSL_SYM_CAMELLIA_128_CBC , pcpp::SSL_SYM_CAMELLIA_128_GCM , pcpp::SSL_SYM_CAMELLIA_256_GCM , pcpp::SSL_SYM_RC4_56 ,
  pcpp::SSL_SYM_RC2_CBC_56 , pcpp::SSL_SYM_GOST28147 , pcpp::SSL_SYM_CAMELLIA_256_CBC , pcpp::SSL_SYM_SEED_CBC ,
  pcpp::SSL_SYM_AES_128 , pcpp::SSL_SYM_AES_256 , pcpp::SSL_SYM_AES_128_GCM , pcpp::SSL_SYM_AES_256_GCM ,
  pcpp::SSL_SYM_RC4_128_EXPORT40 , pcpp::SSL_SYM_RC2_CBC_128_CBC , pcpp::SSL_SYM_IDEA_128_CBC , pcpp::SSL_SYM_DES_64_CBC ,
  pcpp::SSL_SYM_DES_192_EDE3_CBC , pcpp::SSL_SYM_RC4_64 , pcpp::SSL_SYM_ARIA_128_CBC , pcpp::SSL_SYM_ARIA_256_CBC ,
  pcpp::SSL_SYM_ARIA_128_GCM , pcpp::SSL_SYM_ARIA_256_GCM , pcpp::SSL_SYM_CHACHA20_POLY1305 , pcpp::SSL_SYM_AES_128_CCM ,
  pcpp::SSL_SYM_AES_128_CCM_8 , pcpp::SSL_SYM_Unknown
}
 
enum  pcpp::SSLHashingAlgorithm {
  pcpp::SSL_HASH_NULL , pcpp::SSL_HASH_MD5 , pcpp::SSL_HASH_SHA , pcpp::SSL_HASH_SHA256 ,
  pcpp::SSL_HASH_GOST28147 , pcpp::SSL_HASH_GOSTR3411 , pcpp::SSL_HASH_SHA384 , pcpp::SSL_HASH_CCM ,
  pcpp::SSL_HASH_CCM_8 , pcpp::SSL_HASH_Unknown
}
 
enum  pcpp::SSLExtensionType {
  pcpp::SSL_EXT_SERVER_NAME = 0 , pcpp::SSL_EXT_MAX_FRAGMENT_LENGTH = 1 , pcpp::SSL_EXT_CLIENT_CERTIFICATE_URL = 2 , pcpp::SSL_EXT_TRUSTED_CA_KEYS = 3 ,
  pcpp::SSL_EXT_TRUNCATED_HMAC = 4 , pcpp::SSL_EXT_STATUS_REQUEST = 5 , pcpp::SSL_EXT_USER_MAPPING = 6 , pcpp::SSL_EXT_CLIENT_AUTHZ = 7 ,
  pcpp::SSL_EXT_SERVER_AUTHZ = 8 , pcpp::SSL_EXT_CERT_TYPE = 9 , pcpp::SSL_EXT_SUPPORTED_GROUPS = 10 , pcpp::SSL_EXT_EC_POINT_FORMATS = 11 ,
  pcpp::SSL_EXT_SRP = 12 , pcpp::SSL_EXT_SIGNATURE_ALGORITHMS = 13 , pcpp::SSL_EXT_USE_SRTP = 14 , pcpp::SSL_EXT_HEARTBEAT = 15 ,
  pcpp::SSL_EXT_APPLICATION_LAYER_PROTOCOL_NEGOTIATION = 16 , pcpp::SSL_EXT_STATUS_REQUEST_V2 = 17 , pcpp::SSL_EXT_SIGNED_CERTIFICATE_TIMESTAMP = 18 , pcpp::SSL_EXT_CLIENT_CERTIFICATE_TYPE = 19 ,
  pcpp::SSL_EXT_SERVER_CERTIFICATE_TYPE = 20 , pcpp::SSL_EXT_PADDING = 21 , pcpp::SSL_EXT_ENCRYPT_THEN_MAC = 22 , pcpp::SSL_EXT_EXTENDED_MASTER_SECRET = 23 ,
  pcpp::SSL_EXT_TOKEN_BINDING = 24 , pcpp::SSL_EXT_SESSIONTICKET_TLS = 35 , pcpp::SSL_EXT_PRE_SHARED_KEY = 41 , pcpp::SSL_EXT_EARLY_DATA = 42 ,
  pcpp::SSL_EXT_SUPPORTED_VERSIONS = 43 , pcpp::SSL_EXT_COOKIE = 44 , pcpp::SSL_EXT_PSK_KEY_EXCHANGE_MODES = 45 , pcpp::SSL_EXT_CERTIFICATE_AUTHORITIES = 47 ,
  pcpp::SSL_EXT_OLD_FILTERS = 48 , pcpp::SSL_EXT_POST_HANDSHAKE_AUTH = 49 , pcpp::SSL_EXT_SIGNATURE_ALGORITHM_CERT = 50 , pcpp::SSL_EXT_KEY_SHARE = 51 ,
  pcpp::SSL_EXT_RENEGOTIATION_INFO = 65281 , pcpp::SSL_EXT_Unknown
}
 
enum  pcpp::SSLClientCertificateType {
  pcpp::SSL_CCT_RSA_SIGN = 1 , pcpp::SSL_CCT_DSS_SIGN = 2 , pcpp::SSL_CCT_RSA_FIXED_DH = 3 , pcpp::SSL_CCT_DSS_FIXED_DH = 4 ,
  pcpp::SSL_CCT_RSA_EPHEMERAL_DH_RESERVED = 5 , pcpp::SSL_CCT_DSS_EPHEMERAL_DH_RESERVED = 6 , pcpp::SSL_CCT_FORTEZZA_DMS_RESERVED = 20 , pcpp::SSL_CCT_ECDSA_SIGN = 64 ,
  pcpp::SSL_CCT_RSA_FIXED_ECDH = 65 , pcpp::SSL_CCT_ECDSA_FIXED_ECDH = 66 , pcpp::SSL_CCT_UNKNOWN
}
 

Detailed Description

See detailed explanation of the TLS/SSL protocol support in PcapPlusPlus in SSLLayer.h