tls package

Submodules

tls._constructs module

tls.alert_message module

class tls.alert_message.Alert(level, description)

Bases: object

An object representing an Alert message.

description = Attribute(name='description', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse an Alert struct.

Parameters:bytes – the bytes representing the input.
Returns:Alert object.
level = Attribute(name='level', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))

tls.ciphersuites module

class tls.ciphersuites.CipherSuites

Bases: enum.Enum

TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19
TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 162
TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 163
TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = 49218
TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = 49238
TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = 49219
TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = 49239
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 68
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 189
TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49280
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 135
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 195
TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49281
TLS_DHE_DSS_WITH_DES_CBC_SHA = 18
TLS_DHE_DSS_WITH_SEED_CBC_SHA = 153
TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 143
TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 144
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178
TLS_DHE_PSK_WITH_AES_128_CCM = 49318
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170
TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 145
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179
TLS_DHE_PSK_WITH_AES_256_CCM = 49319
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171
TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = 49254
TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = 49260
TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = 49255
TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = 49261
TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49302
TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49296
TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49303
TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49297
TLS_DHE_PSK_WITH_NULL_SHA = 45
TLS_DHE_PSK_WITH_NULL_SHA256 = 180
TLS_DHE_PSK_WITH_NULL_SHA384 = 181
TLS_DHE_PSK_WITH_RC4_128_SHA = 142
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22
TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103
TLS_DHE_RSA_WITH_AES_128_CCM = 49310
TLS_DHE_RSA_WITH_AES_128_CCM_8 = 49314
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158
TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107
TLS_DHE_RSA_WITH_AES_256_CCM = 49311
TLS_DHE_RSA_WITH_AES_256_CCM_8 = 49315
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159
TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = 49220
TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = 49234
TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = 49221
TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = 49235
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 69
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 190
TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49276
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 136
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 196
TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49277
TLS_DHE_RSA_WITH_DES_CBC_SHA = 21
TLS_DHE_RSA_WITH_SEED_CBC_SHA = 154
TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11
TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13
TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 164
TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165
TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = 49214
TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = 49240
TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = 49215
TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = 49241
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 66
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 187
TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49282
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 133
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 193
TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49283
TLS_DH_DSS_WITH_DES_CBC_SHA = 12
TLS_DH_DSS_WITH_SEED_CBC_SHA = 151
TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14
TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16
TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 160
TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 161
TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = 49216
TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = 49236
TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = 49217
TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = 49237
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 67
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 188
TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49278
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 134
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 194
TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49279
TLS_DH_RSA_WITH_DES_CBC_SHA = 15
TLS_DH_RSA_WITH_SEED_CBC_SHA = 152
TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25
TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23
TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 27
TLS_DH_anon_WITH_AES_128_CBC_SHA = 52
TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 108
TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 166
TLS_DH_anon_WITH_AES_256_CBC_SHA = 58
TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 109
TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 167
TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 = 49222
TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 = 49242
TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 = 49223
TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 = 49243
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = 70
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = 191
TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = 49284
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = 137
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = 197
TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = 49285
TLS_DH_anon_WITH_DES_CBC_SHA = 26
TLS_DH_anon_WITH_RC4_128_MD5 = 24
TLS_DH_anon_WITH_SEED_CBC_SHA = 155
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 49160
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 49161
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 49187
TLS_ECDHE_ECDSA_WITH_AES_128_CCM = 49324
TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 49326
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 49162
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 49188
TLS_ECDHE_ECDSA_WITH_AES_256_CCM = 49325
TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = 49327
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196
TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = 49224
TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = 49244
TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = 49225
TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = 49245
TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49266
TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49286
TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49267
TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49287
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52244
TLS_ECDHE_ECDSA_WITH_NULL_SHA = 49158
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 49159
TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 49204
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 49205
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 49207
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 49206
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 49208
TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = 49264
TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = 49265
TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49306
TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49307
TLS_ECDHE_PSK_WITH_NULL_SHA = 49209
TLS_ECDHE_PSK_WITH_NULL_SHA256 = 49210
TLS_ECDHE_PSK_WITH_NULL_SHA384 = 49211
TLS_ECDHE_PSK_WITH_RC4_128_SHA = 49203
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 49170
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 49171
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 49191
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 49172
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 49192
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200
TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = 49228
TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = 49248
TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = 49229
TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = 49249
TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49270
TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49290
TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49271
TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49291
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52243
TLS_ECDHE_RSA_WITH_NULL_SHA = 49168
TLS_ECDHE_RSA_WITH_RC4_128_SHA = 49169
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 49155
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 49156
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 49189
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 49197
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 49157
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 49190
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 49198
TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = 49226
TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = 49246
TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = 49227
TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = 49247
TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49268
TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49288
TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49269
TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49289
TLS_ECDH_ECDSA_WITH_NULL_SHA = 49153
TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 49154
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 49165
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 49166
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 49193
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 49201
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 49167
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 49194
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 49202
TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = 49230
TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = 49250
TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = 49231
TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = 49251
TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49272
TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49292
TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49273
TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49293
TLS_ECDH_RSA_WITH_NULL_SHA = 49163
TLS_ECDH_RSA_WITH_RC4_128_SHA = 49164
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 49175
TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 49176
TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 49177
TLS_ECDH_anon_WITH_NULL_SHA = 49173
TLS_ECDH_anon_WITH_RC4_128_SHA = 49174
TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 = 41
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA = 38
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 = 42
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA = 39
TLS_KRB5_EXPORT_WITH_RC4_40_MD5 = 43
TLS_KRB5_EXPORT_WITH_RC4_40_SHA = 40
TLS_KRB5_WITH_3DES_EDE_CBC_MD5 = 35
TLS_KRB5_WITH_3DES_EDE_CBC_SHA = 31
TLS_KRB5_WITH_DES_CBC_MD5 = 34
TLS_KRB5_WITH_DES_CBC_SHA = 30
TLS_KRB5_WITH_IDEA_CBC_MD5 = 37
TLS_KRB5_WITH_IDEA_CBC_SHA = 33
TLS_KRB5_WITH_RC4_128_MD5 = 36
TLS_KRB5_WITH_RC4_128_SHA = 32
TLS_NULL_WITH_NULL_NULL = 0
TLS_PSK_DHE_WITH_AES_128_CCM_8 = 49322
TLS_PSK_DHE_WITH_AES_256_CCM_8 = 49323
TLS_PSK_WITH_3DES_EDE_CBC_SHA = 139
TLS_PSK_WITH_AES_128_CBC_SHA = 140
TLS_PSK_WITH_AES_128_CBC_SHA256 = 174
TLS_PSK_WITH_AES_128_CCM = 49316
TLS_PSK_WITH_AES_128_CCM_8 = 49320
TLS_PSK_WITH_AES_128_GCM_SHA256 = 168
TLS_PSK_WITH_AES_256_CBC_SHA = 141
TLS_PSK_WITH_AES_256_CBC_SHA384 = 175
TLS_PSK_WITH_AES_256_CCM = 49317
TLS_PSK_WITH_AES_256_CCM_8 = 49321
TLS_PSK_WITH_AES_256_GCM_SHA384 = 169
TLS_PSK_WITH_ARIA_128_CBC_SHA256 = 49252
TLS_PSK_WITH_ARIA_128_GCM_SHA256 = 49258
TLS_PSK_WITH_ARIA_256_CBC_SHA384 = 49253
TLS_PSK_WITH_ARIA_256_GCM_SHA384 = 49259
TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49300
TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49294
TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49301
TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49295
TLS_PSK_WITH_NULL_SHA = 44
TLS_PSK_WITH_NULL_SHA256 = 176
TLS_PSK_WITH_NULL_SHA384 = 177
TLS_PSK_WITH_RC4_128_SHA = 138
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 8
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6
TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 3
TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 147
TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 148
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172
TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 149
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173
TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = 49256
TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = 49262
TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = 49257
TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = 49263
TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49304
TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49298
TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49305
TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49299
TLS_RSA_PSK_WITH_NULL_SHA = 46
TLS_RSA_PSK_WITH_NULL_SHA256 = 184
TLS_RSA_PSK_WITH_NULL_SHA384 = 185
TLS_RSA_PSK_WITH_RC4_128_SHA = 146
TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10
TLS_RSA_WITH_AES_128_CBC_SHA = 47
TLS_RSA_WITH_AES_128_CBC_SHA256 = 60
TLS_RSA_WITH_AES_128_CCM = 49308
TLS_RSA_WITH_AES_128_CCM_8 = 49312
TLS_RSA_WITH_AES_128_GCM_SHA256 = 156
TLS_RSA_WITH_AES_256_CBC_SHA = 53
TLS_RSA_WITH_AES_256_CBC_SHA256 = 61
TLS_RSA_WITH_AES_256_CCM = 49309
TLS_RSA_WITH_AES_256_CCM_8 = 49313
TLS_RSA_WITH_AES_256_GCM_SHA384 = 157
TLS_RSA_WITH_ARIA_128_CBC_SHA256 = 49212
TLS_RSA_WITH_ARIA_128_GCM_SHA256 = 49232
TLS_RSA_WITH_ARIA_256_CBC_SHA384 = 49213
TLS_RSA_WITH_ARIA_256_GCM_SHA384 = 49233
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 65
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 186
TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49274
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 132
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 192
TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49275
TLS_RSA_WITH_DES_CBC_SHA = 9
TLS_RSA_WITH_IDEA_CBC_SHA = 7
TLS_RSA_WITH_NULL_MD5 = 1
TLS_RSA_WITH_NULL_SHA = 2
TLS_RSA_WITH_NULL_SHA256 = 59
TLS_RSA_WITH_RC4_128_MD5 = 4
TLS_RSA_WITH_RC4_128_SHA = 5
TLS_RSA_WITH_SEED_CBC_SHA = 150
TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 49180
TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 49183
TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 49186
TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 49179
TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 49182
TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 49185
TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 49178
TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 49181
TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 49184
tls.ciphersuites.select_preferred_ciphersuite(client_supported, server_supported)

tls.exceptions module

exception tls.exceptions.TLSException

Bases: exceptions.Exception

This is the root exception from which all other exceptions inherit. Lower-level parsing code raises very specific exceptions that higher-level code can catch with this exception.

exception tls.exceptions.TLSValidationException

Bases: tls.exceptions.TLSException

exception tls.exceptions.UnsupportedCipherException

Bases: tls.exceptions.TLSException

exception tls.exceptions.UnsupportedExtensionException

Bases: tls.exceptions.TLSException

tls.hello_message module

class tls.hello_message.ClientHello(client_version, random, session_id, cipher_suites, compression_methods, extensions)

Bases: object

An object representing a ClientHello message.

allowed_extensions = frozenset([<ExtensionType.TRUSTED_CA_KEYS: 3>, <ExtensionType.TRUNCATED_HMAC: 4>, <ExtensionType.SERVER_NAME: 0>, <ExtensionType.SIGNATURE_ALGORITHMS: 13>, <ExtensionType.CLIENT_CERTIFICATE_URL: 2>, <ExtensionType.STATUS_REQUEST: 5>, <ExtensionType.MAX_FRAGMENT_LENGTH: 1>])
as_bytes()
cipher_suites = Attribute(name='cipher_suites', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
client_version = Attribute(name='client_version', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
compression_methods = Attribute(name='compression_methods', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
extensions = Attribute(name='extensions', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a ClientHello struct.

Parameters:bytes – the bytes representing the input.
Returns:ClientHello object.
random = Attribute(name='random', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
session_id = Attribute(name='session_id', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.hello_message.ProtocolVersion(major, minor)

Bases: object

An object representing a ProtocolVersion struct.

major = Attribute(name='major', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
minor = Attribute(name='minor', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.hello_message.Random(gmt_unix_time, random_bytes)

Bases: object

An object representing a Random struct.

gmt_unix_time = Attribute(name='gmt_unix_time', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
random_bytes = Attribute(name='random_bytes', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.hello_message.ServerHello(server_version, random, session_id, cipher_suite, compression_method, extensions)

Bases: object

An object representing a ServerHello message.

allowed_extensions = frozenset([<ExtensionType.TRUNCATED_HMAC: 4>])
as_bytes()
cipher_suite = Attribute(name='cipher_suite', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
compression_method = Attribute(name='compression_method', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
extensions = Attribute(name='extensions', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a ServerHello struct.

Parameters:bytes – the bytes representing the input.
Returns:ServerHello object.
random = Attribute(name='random', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
server_version = Attribute(name='server_version', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
session_id = Attribute(name='session_id', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.hello_message.ServerName(name_type, name)

Bases: object

An object representing a ServerName struct.

name = Attribute(name='name', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
name_type = Attribute(name='name_type', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))

tls.message module

class tls.message.ASN1Cert(asn1_cert)

Bases: object

An object representing ASN.1 Certificate

as_bytes()
asn1_cert = Attribute(name='asn1_cert', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.Certificate(certificate_list)

Bases: object

An object representing a Certificate struct.

as_bytes()
certificate_list = Attribute(name='certificate_list', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a Certificate struct.

Parameters:bytes – the bytes representing the input.
Returns:Certificate object.
class tls.message.CertificateRequest(certificate_types, supported_signature_algorithms, certificate_authorities)

Bases: object

An object representing a CertificateRequest struct.

as_bytes()
certificate_authorities = Attribute(name='certificate_authorities', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
certificate_types = Attribute(name='certificate_types', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a CertificateRequest struct.

Parameters:bytes – the bytes representing the input.
Returns:CertificateRequest object.
supported_signature_algorithms = Attribute(name='supported_signature_algorithms', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.CertificateStatus(status_type, response)

Bases: object

An object representing a CertificateStatus struct

as_bytes()
classmethod from_bytes(bytes)

Parse a CertificateStatus struct.

Parameters:bytes – bytes representing the input
Returns:CertificateStatus instance.
response = Attribute(name='response', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
status_type = Attribute(name='status_type', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.CertificateURL(type, url_and_hash_list)

Bases: object

An object representing a CertificateURL struct.

as_bytes()
classmethod from_bytes(bytes)

Parse a CertificateURL struct.

Parameters:bytes – the bytes representing the input.
Returns:CertificateURL object.
type = Attribute(name='type', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
url_and_hash_list = Attribute(name='url_and_hash_list', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.Finished(verify_data)

Bases: object

as_bytes()
verify_data = Attribute(name='verify_data', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.Handshake(msg_type, length, body)

Bases: object

An object representing a Handshake struct.

as_bytes()
body = Attribute(name='body', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a Handshake struct.

Parameters:bytes – the bytes representing the input.
Returns:Handshake object.
length = Attribute(name='length', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
msg_type = Attribute(name='msg_type', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.HelloRequest

Bases: object

An object representing a HelloRequest struct.

as_bytes()
class tls.message.PreMasterSecret(client_version, random)

Bases: object

An object representing a PreMasterSecret struct.

client_version = Attribute(name='client_version', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a PreMasterSecret struct.

Parameters:bytes – the bytes representing the input.
Returns:CertificateRequest object.
random = Attribute(name='random', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.ServerDHParams(dh_p, dh_g, dh_Ys)

Bases: object

An object representing a ServerDHParams struct.

dh_Ys = Attribute(name='dh_Ys', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
dh_g = Attribute(name='dh_g', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
dh_p = Attribute(name='dh_p', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a ServerDHParams struct.

Parameters:bytes – the bytes representing the input.
Returns:ServerDHParams object.
class tls.message.ServerHelloDone

Bases: object

An object representing a ServerHelloDone struct.

as_bytes()
class tls.message.SignatureAndHashAlgorithm(hash, signature)

Bases: object

An object representing a SignatureAndHashAlgorithm struct.

hash = Attribute(name='hash', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
signature = Attribute(name='signature', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.message.URLAndHash(url, padding, sha1_hash)

Bases: object

An object representing a URLAndHash struct.

padding = Attribute(name='padding', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
sha1_hash = Attribute(name='sha1_hash', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
url = Attribute(name='url', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))

tls.record module

class tls.record.ProtocolVersion(major, minor)

Bases: object

An object representing a ProtocolVersion struct.

major = Attribute(name='major', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
minor = Attribute(name='minor', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.record.TLSCiphertext(type, version, fragment)

Bases: object

An object representing a TLSCiphertext struct.

fragment = Attribute(name='fragment', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a TLSCiphertext struct.

Parameters:bytes – the bytes representing the input.
Returns:TLSCiphertext object.
type = Attribute(name='type', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
version = Attribute(name='version', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.record.TLSCompressed(type, version, fragment)

Bases: object

An object representing a TLSCompressed struct.

fragment = Attribute(name='fragment', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a TLSCompressed struct.

Parameters:bytes – the bytes representing the input.
Returns:TLSCompressed object.
type = Attribute(name='type', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
version = Attribute(name='version', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
class tls.record.TLSPlaintext(type, version, fragment)

Bases: object

An object representing a TLSPlaintext struct.

as_bytes()
fragment = Attribute(name='fragment', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
classmethod from_bytes(bytes)

Parse a TLSPlaintext struct.

Parameters:bytes – the bytes representing the input.
Returns:TLSPlaintext object.
type = Attribute(name='type', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))
version = Attribute(name='version', default=NOTHING, validator=None, repr=True, cmp=True, hash=None, init=True, convert=None, metadata=mappingproxy({}))

Module contents