PcapPlusPlus  20.08+
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 ,
  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