Best Python code snippet using playwright-python
_cipher_suites.py
Source:_cipher_suites.py
1# coding: utf-82from __future__ import unicode_literals, division, absolute_import, print_function3__all__ = [4 'CIPHER_SUITE_MAP',5]6CIPHER_SUITE_MAP = {7 b'\x00\x00': 'TLS_NULL_WITH_NULL_NULL',8 b'\x00\x01': 'TLS_RSA_WITH_NULL_MD5',9 b'\x00\x02': 'TLS_RSA_WITH_NULL_SHA',10 b'\x00\x03': 'TLS_RSA_EXPORT_WITH_RC4_40_MD5',11 b'\x00\x04': 'TLS_RSA_WITH_RC4_128_MD5',12 b'\x00\x05': 'TLS_RSA_WITH_RC4_128_SHA',13 b'\x00\x06': 'TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5',14 b'\x00\x07': 'TLS_RSA_WITH_IDEA_CBC_SHA',15 b'\x00\x08': 'TLS_RSA_EXPORT_WITH_DES40_CBC_SHA',16 b'\x00\x09': 'TLS_RSA_WITH_DES_CBC_SHA',17 b'\x00\x0A': 'TLS_RSA_WITH_3DES_EDE_CBC_SHA',18 b'\x00\x0B': 'TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA',19 b'\x00\x0C': 'TLS_DH_DSS_WITH_DES_CBC_SHA',20 b'\x00\x0D': 'TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA',21 b'\x00\x0E': 'TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA',22 b'\x00\x0F': 'TLS_DH_RSA_WITH_DES_CBC_SHA',23 b'\x00\x10': 'TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA',24 b'\x00\x11': 'TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA',25 b'\x00\x12': 'TLS_DHE_DSS_WITH_DES_CBC_SHA',26 b'\x00\x13': 'TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA',27 b'\x00\x14': 'TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA',28 b'\x00\x15': 'TLS_DHE_RSA_WITH_DES_CBC_SHA',29 b'\x00\x16': 'TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA',30 b'\x00\x17': 'TLS_DH_anon_EXPORT_WITH_RC4_40_MD5',31 b'\x00\x18': 'TLS_DH_anon_WITH_RC4_128_MD5',32 b'\x00\x19': 'TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA',33 b'\x00\x1A': 'TLS_DH_anon_WITH_DES_CBC_SHA',34 b'\x00\x1B': 'TLS_DH_anon_WITH_3DES_EDE_CBC_SHA',35 b'\x00\x1E': 'TLS_KRB5_WITH_DES_CBC_SHA',36 b'\x00\x1F': 'TLS_KRB5_WITH_3DES_EDE_CBC_SHA',37 b'\x00\x20': 'TLS_KRB5_WITH_RC4_128_SHA',38 b'\x00\x21': 'TLS_KRB5_WITH_IDEA_CBC_SHA',39 b'\x00\x22': 'TLS_KRB5_WITH_DES_CBC_MD5',40 b'\x00\x23': 'TLS_KRB5_WITH_3DES_EDE_CBC_MD5',41 b'\x00\x24': 'TLS_KRB5_WITH_RC4_128_MD5',42 b'\x00\x25': 'TLS_KRB5_WITH_IDEA_CBC_MD5',43 b'\x00\x26': 'TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA',44 b'\x00\x27': 'TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA',45 b'\x00\x28': 'TLS_KRB5_EXPORT_WITH_RC4_40_SHA',46 b'\x00\x29': 'TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5',47 b'\x00\x2A': 'TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5',48 b'\x00\x2B': 'TLS_KRB5_EXPORT_WITH_RC4_40_MD5',49 b'\x00\x2C': 'TLS_PSK_WITH_NULL_SHA',50 b'\x00\x2D': 'TLS_DHE_PSK_WITH_NULL_SHA',51 b'\x00\x2E': 'TLS_RSA_PSK_WITH_NULL_SHA',52 b'\x00\x2F': 'TLS_RSA_WITH_AES_128_CBC_SHA',53 b'\x00\x30': 'TLS_DH_DSS_WITH_AES_128_CBC_SHA',54 b'\x00\x31': 'TLS_DH_RSA_WITH_AES_128_CBC_SHA',55 b'\x00\x32': 'TLS_DHE_DSS_WITH_AES_128_CBC_SHA',56 b'\x00\x33': 'TLS_DHE_RSA_WITH_AES_128_CBC_SHA',57 b'\x00\x34': 'TLS_DH_anon_WITH_AES_128_CBC_SHA',58 b'\x00\x35': 'TLS_RSA_WITH_AES_256_CBC_SHA',59 b'\x00\x36': 'TLS_DH_DSS_WITH_AES_256_CBC_SHA',60 b'\x00\x37': 'TLS_DH_RSA_WITH_AES_256_CBC_SHA',61 b'\x00\x38': 'TLS_DHE_DSS_WITH_AES_256_CBC_SHA',62 b'\x00\x39': 'TLS_DHE_RSA_WITH_AES_256_CBC_SHA',63 b'\x00\x3A': 'TLS_DH_anon_WITH_AES_256_CBC_SHA',64 b'\x00\x3B': 'TLS_RSA_WITH_NULL_SHA256',65 b'\x00\x3C': 'TLS_RSA_WITH_AES_128_CBC_SHA256',66 b'\x00\x3D': 'TLS_RSA_WITH_AES_256_CBC_SHA256',67 b'\x00\x3E': 'TLS_DH_DSS_WITH_AES_128_CBC_SHA256',68 b'\x00\x3F': 'TLS_DH_RSA_WITH_AES_128_CBC_SHA256',69 b'\x00\x40': 'TLS_DHE_DSS_WITH_AES_128_CBC_SHA256',70 b'\x00\x41': 'TLS_RSA_WITH_CAMELLIA_128_CBC_SHA',71 b'\x00\x42': 'TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA',72 b'\x00\x43': 'TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA',73 b'\x00\x44': 'TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA',74 b'\x00\x45': 'TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA',75 b'\x00\x46': 'TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA',76 b'\x00\x67': 'TLS_DHE_RSA_WITH_AES_128_CBC_SHA256',77 b'\x00\x68': 'TLS_DH_DSS_WITH_AES_256_CBC_SHA256',78 b'\x00\x69': 'TLS_DH_RSA_WITH_AES_256_CBC_SHA256',79 b'\x00\x6A': 'TLS_DHE_DSS_WITH_AES_256_CBC_SHA256',80 b'\x00\x6B': 'TLS_DHE_RSA_WITH_AES_256_CBC_SHA256',81 b'\x00\x6C': 'TLS_DH_anon_WITH_AES_128_CBC_SHA256',82 b'\x00\x6D': 'TLS_DH_anon_WITH_AES_256_CBC_SHA256',83 b'\x00\x84': 'TLS_RSA_WITH_CAMELLIA_256_CBC_SHA',84 b'\x00\x85': 'TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA',85 b'\x00\x86': 'TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA',86 b'\x00\x87': 'TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA',87 b'\x00\x88': 'TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA',88 b'\x00\x89': 'TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA',89 b'\x00\x8A': 'TLS_PSK_WITH_RC4_128_SHA',90 b'\x00\x8B': 'TLS_PSK_WITH_3DES_EDE_CBC_SHA',91 b'\x00\x8C': 'TLS_PSK_WITH_AES_128_CBC_SHA',92 b'\x00\x8D': 'TLS_PSK_WITH_AES_256_CBC_SHA',93 b'\x00\x8E': 'TLS_DHE_PSK_WITH_RC4_128_SHA',94 b'\x00\x8F': 'TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA',95 b'\x00\x90': 'TLS_DHE_PSK_WITH_AES_128_CBC_SHA',96 b'\x00\x91': 'TLS_DHE_PSK_WITH_AES_256_CBC_SHA',97 b'\x00\x92': 'TLS_RSA_PSK_WITH_RC4_128_SHA',98 b'\x00\x93': 'TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA',99 b'\x00\x94': 'TLS_RSA_PSK_WITH_AES_128_CBC_SHA',100 b'\x00\x95': 'TLS_RSA_PSK_WITH_AES_256_CBC_SHA',101 b'\x00\x96': 'TLS_RSA_WITH_SEED_CBC_SHA',102 b'\x00\x97': 'TLS_DH_DSS_WITH_SEED_CBC_SHA',103 b'\x00\x98': 'TLS_DH_RSA_WITH_SEED_CBC_SHA',104 b'\x00\x99': 'TLS_DHE_DSS_WITH_SEED_CBC_SHA',105 b'\x00\x9A': 'TLS_DHE_RSA_WITH_SEED_CBC_SHA',106 b'\x00\x9B': 'TLS_DH_anon_WITH_SEED_CBC_SHA',107 b'\x00\x9C': 'TLS_RSA_WITH_AES_128_GCM_SHA256',108 b'\x00\x9D': 'TLS_RSA_WITH_AES_256_GCM_SHA384',109 b'\x00\x9E': 'TLS_DHE_RSA_WITH_AES_128_GCM_SHA256',110 b'\x00\x9F': 'TLS_DHE_RSA_WITH_AES_256_GCM_SHA384',111 b'\x00\xA0': 'TLS_DH_RSA_WITH_AES_128_GCM_SHA256',112 b'\x00\xA1': 'TLS_DH_RSA_WITH_AES_256_GCM_SHA384',113 b'\x00\xA2': 'TLS_DHE_DSS_WITH_AES_128_GCM_SHA256',114 b'\x00\xA3': 'TLS_DHE_DSS_WITH_AES_256_GCM_SHA384',115 b'\x00\xA4': 'TLS_DH_DSS_WITH_AES_128_GCM_SHA256',116 b'\x00\xA5': 'TLS_DH_DSS_WITH_AES_256_GCM_SHA384',117 b'\x00\xA6': 'TLS_DH_anon_WITH_AES_128_GCM_SHA256',118 b'\x00\xA7': 'TLS_DH_anon_WITH_AES_256_GCM_SHA384',119 b'\x00\xA8': 'TLS_PSK_WITH_AES_128_GCM_SHA256',120 b'\x00\xA9': 'TLS_PSK_WITH_AES_256_GCM_SHA384',121 b'\x00\xAA': 'TLS_DHE_PSK_WITH_AES_128_GCM_SHA256',122 b'\x00\xAB': 'TLS_DHE_PSK_WITH_AES_256_GCM_SHA384',123 b'\x00\xAC': 'TLS_RSA_PSK_WITH_AES_128_GCM_SHA256',124 b'\x00\xAD': 'TLS_RSA_PSK_WITH_AES_256_GCM_SHA384',125 b'\x00\xAE': 'TLS_PSK_WITH_AES_128_CBC_SHA256',126 b'\x00\xAF': 'TLS_PSK_WITH_AES_256_CBC_SHA384',127 b'\x00\xB0': 'TLS_PSK_WITH_NULL_SHA256',128 b'\x00\xB1': 'TLS_PSK_WITH_NULL_SHA384',129 b'\x00\xB2': 'TLS_DHE_PSK_WITH_AES_128_CBC_SHA256',130 b'\x00\xB3': 'TLS_DHE_PSK_WITH_AES_256_CBC_SHA384',131 b'\x00\xB4': 'TLS_DHE_PSK_WITH_NULL_SHA256',132 b'\x00\xB5': 'TLS_DHE_PSK_WITH_NULL_SHA384',133 b'\x00\xB6': 'TLS_RSA_PSK_WITH_AES_128_CBC_SHA256',134 b'\x00\xB7': 'TLS_RSA_PSK_WITH_AES_256_CBC_SHA384',135 b'\x00\xB8': 'TLS_RSA_PSK_WITH_NULL_SHA256',136 b'\x00\xB9': 'TLS_RSA_PSK_WITH_NULL_SHA384',137 b'\x00\xBA': 'TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256',138 b'\x00\xBB': 'TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256',139 b'\x00\xBC': 'TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256',140 b'\x00\xBD': 'TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256',141 b'\x00\xBE': 'TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256',142 b'\x00\xBF': 'TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256',143 b'\x00\xC0': 'TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256',144 b'\x00\xC1': 'TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256',145 b'\x00\xC2': 'TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256',146 b'\x00\xC3': 'TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256',147 b'\x00\xC4': 'TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256',148 b'\x00\xC5': 'TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256',149 b'\x00\xFF': 'TLS_EMPTY_RENEGOTIATION_INFO_SCSV',150 b'\x13\x01': 'TLS_AES_128_GCM_SHA256',151 b'\x13\x02': 'TLS_AES_256_GCM_SHA384',152 b'\x13\x03': 'TLS_CHACHA20_POLY1305_SHA256',153 b'\x13\x04': 'TLS_AES_128_CCM_SHA256',154 b'\x13\x05': 'TLS_AES_128_CCM_8_SHA256',155 b'\xC0\x01': 'TLS_ECDH_ECDSA_WITH_NULL_SHA',156 b'\xC0\x02': 'TLS_ECDH_ECDSA_WITH_RC4_128_SHA',157 b'\xC0\x03': 'TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA',158 b'\xC0\x04': 'TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA',159 b'\xC0\x05': 'TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA',160 b'\xC0\x06': 'TLS_ECDHE_ECDSA_WITH_NULL_SHA',161 b'\xC0\x07': 'TLS_ECDHE_ECDSA_WITH_RC4_128_SHA',162 b'\xC0\x08': 'TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA',163 b'\xC0\x09': 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA',164 b'\xC0\x0A': 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA',165 b'\xC0\x0B': 'TLS_ECDH_RSA_WITH_NULL_SHA',166 b'\xC0\x0C': 'TLS_ECDH_RSA_WITH_RC4_128_SHA',167 b'\xC0\x0D': 'TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA',168 b'\xC0\x0E': 'TLS_ECDH_RSA_WITH_AES_128_CBC_SHA',169 b'\xC0\x0F': 'TLS_ECDH_RSA_WITH_AES_256_CBC_SHA',170 b'\xC0\x10': 'TLS_ECDHE_RSA_WITH_NULL_SHA',171 b'\xC0\x11': 'TLS_ECDHE_RSA_WITH_RC4_128_SHA',172 b'\xC0\x12': 'TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA',173 b'\xC0\x13': 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA',174 b'\xC0\x14': 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA',175 b'\xC0\x15': 'TLS_ECDH_anon_WITH_NULL_SHA',176 b'\xC0\x16': 'TLS_ECDH_anon_WITH_RC4_128_SHA',177 b'\xC0\x17': 'TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA',178 b'\xC0\x18': 'TLS_ECDH_anon_WITH_AES_128_CBC_SHA',179 b'\xC0\x19': 'TLS_ECDH_anon_WITH_AES_256_CBC_SHA',180 b'\xC0\x1A': 'TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA',181 b'\xC0\x1B': 'TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA',182 b'\xC0\x1C': 'TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA',183 b'\xC0\x1D': 'TLS_SRP_SHA_WITH_AES_128_CBC_SHA',184 b'\xC0\x1E': 'TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA',185 b'\xC0\x1F': 'TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA',186 b'\xC0\x20': 'TLS_SRP_SHA_WITH_AES_256_CBC_SHA',187 b'\xC0\x21': 'TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA',188 b'\xC0\x22': 'TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA',189 b'\xC0\x23': 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256',190 b'\xC0\x24': 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384',191 b'\xC0\x25': 'TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256',192 b'\xC0\x26': 'TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384',193 b'\xC0\x27': 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256',194 b'\xC0\x28': 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384',195 b'\xC0\x29': 'TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256',196 b'\xC0\x2A': 'TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384',197 b'\xC0\x2B': 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256',198 b'\xC0\x2C': 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',199 b'\xC0\x2D': 'TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256',200 b'\xC0\x2E': 'TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384',201 b'\xC0\x2F': 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',202 b'\xC0\x30': 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',203 b'\xC0\x31': 'TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256',204 b'\xC0\x32': 'TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384',205 b'\xC0\x33': 'TLS_ECDHE_PSK_WITH_RC4_128_SHA',206 b'\xC0\x34': 'TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA',207 b'\xC0\x35': 'TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA',208 b'\xC0\x36': 'TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA',209 b'\xC0\x37': 'TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256',210 b'\xC0\x38': 'TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384',211 b'\xC0\x39': 'TLS_ECDHE_PSK_WITH_NULL_SHA',212 b'\xC0\x3A': 'TLS_ECDHE_PSK_WITH_NULL_SHA256',213 b'\xC0\x3B': 'TLS_ECDHE_PSK_WITH_NULL_SHA384',214 b'\xC0\x3C': 'TLS_RSA_WITH_ARIA_128_CBC_SHA256',215 b'\xC0\x3D': 'TLS_RSA_WITH_ARIA_256_CBC_SHA384',216 b'\xC0\x3E': 'TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256',217 b'\xC0\x3F': 'TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384',218 b'\xC0\x40': 'TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256',219 b'\xC0\x41': 'TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384',220 b'\xC0\x42': 'TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256',221 b'\xC0\x43': 'TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384',222 b'\xC0\x44': 'TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256',223 b'\xC0\x45': 'TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384',224 b'\xC0\x46': 'TLS_DH_anon_WITH_ARIA_128_CBC_SHA256',225 b'\xC0\x47': 'TLS_DH_anon_WITH_ARIA_256_CBC_SHA384',226 b'\xC0\x48': 'TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256',227 b'\xC0\x49': 'TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384',228 b'\xC0\x4A': 'TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256',229 b'\xC0\x4B': 'TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384',230 b'\xC0\x4C': 'TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256',231 b'\xC0\x4D': 'TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384',232 b'\xC0\x4E': 'TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256',233 b'\xC0\x4F': 'TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384',234 b'\xC0\x50': 'TLS_RSA_WITH_ARIA_128_GCM_SHA256',235 b'\xC0\x51': 'TLS_RSA_WITH_ARIA_256_GCM_SHA384',236 b'\xC0\x52': 'TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256',237 b'\xC0\x53': 'TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384',238 b'\xC0\x54': 'TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256',239 b'\xC0\x55': 'TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384',240 b'\xC0\x56': 'TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256',241 b'\xC0\x57': 'TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384',242 b'\xC0\x58': 'TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256',243 b'\xC0\x59': 'TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384',244 b'\xC0\x5A': 'TLS_DH_anon_WITH_ARIA_128_GCM_SHA256',245 b'\xC0\x5B': 'TLS_DH_anon_WITH_ARIA_256_GCM_SHA384',246 b'\xC0\x5C': 'TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256',247 b'\xC0\x5D': 'TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384',248 b'\xC0\x5E': 'TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256',249 b'\xC0\x5F': 'TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384',250 b'\xC0\x60': 'TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256',251 b'\xC0\x61': 'TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384',252 b'\xC0\x62': 'TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256',253 b'\xC0\x63': 'TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384',254 b'\xC0\x64': 'TLS_PSK_WITH_ARIA_128_CBC_SHA256',255 b'\xC0\x65': 'TLS_PSK_WITH_ARIA_256_CBC_SHA384',256 b'\xC0\x66': 'TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256',257 b'\xC0\x67': 'TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384',258 b'\xC0\x68': 'TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256',259 b'\xC0\x69': 'TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384',260 b'\xC0\x6A': 'TLS_PSK_WITH_ARIA_128_GCM_SHA256',261 b'\xC0\x6B': 'TLS_PSK_WITH_ARIA_256_GCM_SHA384',262 b'\xC0\x6C': 'TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256',263 b'\xC0\x6D': 'TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384',264 b'\xC0\x6E': 'TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256',265 b'\xC0\x6F': 'TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384',266 b'\xC0\x70': 'TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256',267 b'\xC0\x71': 'TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384',268 b'\xC0\x72': 'TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256',269 b'\xC0\x73': 'TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384',270 b'\xC0\x74': 'TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256',271 b'\xC0\x75': 'TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384',272 b'\xC0\x76': 'TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256',273 b'\xC0\x77': 'TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384',274 b'\xC0\x78': 'TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256',275 b'\xC0\x79': 'TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384',276 b'\xC0\x7A': 'TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256',277 b'\xC0\x7B': 'TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384',278 b'\xC0\x7C': 'TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256',279 b'\xC0\x7D': 'TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384',280 b'\xC0\x7E': 'TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256',281 b'\xC0\x7F': 'TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384',282 b'\xC0\x80': 'TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256',283 b'\xC0\x81': 'TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384',284 b'\xC0\x82': 'TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256',285 b'\xC0\x83': 'TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384',286 b'\xC0\x84': 'TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256',287 b'\xC0\x85': 'TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384',288 b'\xC0\x86': 'TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256',289 b'\xC0\x87': 'TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384',290 b'\xC0\x88': 'TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256',291 b'\xC0\x89': 'TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384',292 b'\xC0\x8A': 'TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256',293 b'\xC0\x8B': 'TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384',294 b'\xC0\x8C': 'TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256',295 b'\xC0\x8D': 'TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384',296 b'\xC0\x8E': 'TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256',297 b'\xC0\x8F': 'TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384',298 b'\xC0\x90': 'TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256',299 b'\xC0\x91': 'TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384',300 b'\xC0\x92': 'TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256',301 b'\xC0\x93': 'TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384',302 b'\xC0\x94': 'TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256',303 b'\xC0\x95': 'TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384',304 b'\xC0\x96': 'TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256',305 b'\xC0\x97': 'TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384',306 b'\xC0\x98': 'TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256',307 b'\xC0\x99': 'TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384',308 b'\xC0\x9A': 'TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256',309 b'\xC0\x9B': 'TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384',310 b'\xC0\x9C': 'TLS_RSA_WITH_AES_128_CCM',311 b'\xC0\x9D': 'TLS_RSA_WITH_AES_256_CCM',312 b'\xC0\x9E': 'TLS_DHE_RSA_WITH_AES_128_CCM',313 b'\xC0\x9F': 'TLS_DHE_RSA_WITH_AES_256_CCM',314 b'\xC0\xA0': 'TLS_RSA_WITH_AES_128_CCM_8',315 b'\xC0\xA1': 'TLS_RSA_WITH_AES_256_CCM_8',316 b'\xC0\xA2': 'TLS_DHE_RSA_WITH_AES_128_CCM_8',317 b'\xC0\xA3': 'TLS_DHE_RSA_WITH_AES_256_CCM_8',318 b'\xC0\xA4': 'TLS_PSK_WITH_AES_128_CCM',319 b'\xC0\xA5': 'TLS_PSK_WITH_AES_256_CCM',320 b'\xC0\xA6': 'TLS_DHE_PSK_WITH_AES_128_CCM',321 b'\xC0\xA7': 'TLS_DHE_PSK_WITH_AES_256_CCM',322 b'\xC0\xA8': 'TLS_PSK_WITH_AES_128_CCM_8',323 b'\xC0\xA9': 'TLS_PSK_WITH_AES_256_CCM_8',324 b'\xC0\xAA': 'TLS_PSK_DHE_WITH_AES_128_CCM_8',325 b'\xC0\xAB': 'TLS_PSK_DHE_WITH_AES_256_CCM_8',326 b'\xCC\xA8': 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256',327 b'\xCC\xA9': 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256',328 b'\xCC\xAA': 'TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256',329 b'\xCC\xAB': 'TLS_PSK_WITH_CHACHA20_POLY1305_SHA256',330 b'\xCC\xAC': 'TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256',331 b'\xCC\xAD': 'TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256',332 b'\xCC\xAE': 'TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256',...
mkcipherlist.py
Source:mkcipherlist.py
1#!/usr/bin/env python2# -*- coding: utf-8 -*-3# This script read cipher suite list csv file [1] and prints out id4# and name of black listed cipher suites. The output is used by5# src/ssl.cc.6#7# [1] http://www.iana.org/assignments/tls-parameters/tls-parameters-4.csv8# [2] http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml9from __future__ import unicode_literals10import re11import sys12import csv13# From RFC 754014blacklist = [15 'TLS_NULL_WITH_NULL_NULL',16 'TLS_RSA_WITH_NULL_MD5',17 'TLS_RSA_WITH_NULL_SHA',18 'TLS_RSA_EXPORT_WITH_RC4_40_MD5',19 'TLS_RSA_WITH_RC4_128_MD5',20 'TLS_RSA_WITH_RC4_128_SHA',21 'TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5',22 'TLS_RSA_WITH_IDEA_CBC_SHA',23 'TLS_RSA_EXPORT_WITH_DES40_CBC_SHA',24 'TLS_RSA_WITH_DES_CBC_SHA',25 'TLS_RSA_WITH_3DES_EDE_CBC_SHA',26 'TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA',27 'TLS_DH_DSS_WITH_DES_CBC_SHA',28 'TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA',29 'TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA',30 'TLS_DH_RSA_WITH_DES_CBC_SHA',31 'TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA',32 'TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA',33 'TLS_DHE_DSS_WITH_DES_CBC_SHA',34 'TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA',35 'TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA',36 'TLS_DHE_RSA_WITH_DES_CBC_SHA',37 'TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA',38 'TLS_DH_anon_EXPORT_WITH_RC4_40_MD5',39 'TLS_DH_anon_WITH_RC4_128_MD5',40 'TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA',41 'TLS_DH_anon_WITH_DES_CBC_SHA',42 'TLS_DH_anon_WITH_3DES_EDE_CBC_SHA',43 'TLS_KRB5_WITH_DES_CBC_SHA',44 'TLS_KRB5_WITH_3DES_EDE_CBC_SHA',45 'TLS_KRB5_WITH_RC4_128_SHA',46 'TLS_KRB5_WITH_IDEA_CBC_SHA',47 'TLS_KRB5_WITH_DES_CBC_MD5',48 'TLS_KRB5_WITH_3DES_EDE_CBC_MD5',49 'TLS_KRB5_WITH_RC4_128_MD5',50 'TLS_KRB5_WITH_IDEA_CBC_MD5',51 'TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA',52 'TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA',53 'TLS_KRB5_EXPORT_WITH_RC4_40_SHA',54 'TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5',55 'TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5',56 'TLS_KRB5_EXPORT_WITH_RC4_40_MD5',57 'TLS_PSK_WITH_NULL_SHA',58 'TLS_DHE_PSK_WITH_NULL_SHA',59 'TLS_RSA_PSK_WITH_NULL_SHA',60 'TLS_RSA_WITH_AES_128_CBC_SHA',61 'TLS_DH_DSS_WITH_AES_128_CBC_SHA',62 'TLS_DH_RSA_WITH_AES_128_CBC_SHA',63 'TLS_DHE_DSS_WITH_AES_128_CBC_SHA',64 'TLS_DHE_RSA_WITH_AES_128_CBC_SHA',65 'TLS_DH_anon_WITH_AES_128_CBC_SHA',66 'TLS_RSA_WITH_AES_256_CBC_SHA',67 'TLS_DH_DSS_WITH_AES_256_CBC_SHA',68 'TLS_DH_RSA_WITH_AES_256_CBC_SHA',69 'TLS_DHE_DSS_WITH_AES_256_CBC_SHA',70 'TLS_DHE_RSA_WITH_AES_256_CBC_SHA',71 'TLS_DH_anon_WITH_AES_256_CBC_SHA',72 'TLS_RSA_WITH_NULL_SHA256',73 'TLS_RSA_WITH_AES_128_CBC_SHA256',74 'TLS_RSA_WITH_AES_256_CBC_SHA256',75 'TLS_DH_DSS_WITH_AES_128_CBC_SHA256',76 'TLS_DH_RSA_WITH_AES_128_CBC_SHA256',77 'TLS_DHE_DSS_WITH_AES_128_CBC_SHA256',78 'TLS_RSA_WITH_CAMELLIA_128_CBC_SHA',79 'TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA',80 'TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA',81 'TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA',82 'TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA',83 'TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA',84 'TLS_DHE_RSA_WITH_AES_128_CBC_SHA256',85 'TLS_DH_DSS_WITH_AES_256_CBC_SHA256',86 'TLS_DH_RSA_WITH_AES_256_CBC_SHA256',87 'TLS_DHE_DSS_WITH_AES_256_CBC_SHA256',88 'TLS_DHE_RSA_WITH_AES_256_CBC_SHA256',89 'TLS_DH_anon_WITH_AES_128_CBC_SHA256',90 'TLS_DH_anon_WITH_AES_256_CBC_SHA256',91 'TLS_RSA_WITH_CAMELLIA_256_CBC_SHA',92 'TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA',93 'TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA',94 'TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA',95 'TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA',96 'TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA',97 'TLS_PSK_WITH_RC4_128_SHA',98 'TLS_PSK_WITH_3DES_EDE_CBC_SHA',99 'TLS_PSK_WITH_AES_128_CBC_SHA',100 'TLS_PSK_WITH_AES_256_CBC_SHA',101 'TLS_DHE_PSK_WITH_RC4_128_SHA',102 'TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA',103 'TLS_DHE_PSK_WITH_AES_128_CBC_SHA',104 'TLS_DHE_PSK_WITH_AES_256_CBC_SHA',105 'TLS_RSA_PSK_WITH_RC4_128_SHA',106 'TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA',107 'TLS_RSA_PSK_WITH_AES_128_CBC_SHA',108 'TLS_RSA_PSK_WITH_AES_256_CBC_SHA',109 'TLS_RSA_WITH_SEED_CBC_SHA',110 'TLS_DH_DSS_WITH_SEED_CBC_SHA',111 'TLS_DH_RSA_WITH_SEED_CBC_SHA',112 'TLS_DHE_DSS_WITH_SEED_CBC_SHA',113 'TLS_DHE_RSA_WITH_SEED_CBC_SHA',114 'TLS_DH_anon_WITH_SEED_CBC_SHA',115 'TLS_RSA_WITH_AES_128_GCM_SHA256',116 'TLS_RSA_WITH_AES_256_GCM_SHA384',117 'TLS_DH_RSA_WITH_AES_128_GCM_SHA256',118 'TLS_DH_RSA_WITH_AES_256_GCM_SHA384',119 'TLS_DH_DSS_WITH_AES_128_GCM_SHA256',120 'TLS_DH_DSS_WITH_AES_256_GCM_SHA384',121 'TLS_DH_anon_WITH_AES_128_GCM_SHA256',122 'TLS_DH_anon_WITH_AES_256_GCM_SHA384',123 'TLS_PSK_WITH_AES_128_GCM_SHA256',124 'TLS_PSK_WITH_AES_256_GCM_SHA384',125 'TLS_RSA_PSK_WITH_AES_128_GCM_SHA256',126 'TLS_RSA_PSK_WITH_AES_256_GCM_SHA384',127 'TLS_PSK_WITH_AES_128_CBC_SHA256',128 'TLS_PSK_WITH_AES_256_CBC_SHA384',129 'TLS_PSK_WITH_NULL_SHA256',130 'TLS_PSK_WITH_NULL_SHA384',131 'TLS_DHE_PSK_WITH_AES_128_CBC_SHA256',132 'TLS_DHE_PSK_WITH_AES_256_CBC_SHA384',133 'TLS_DHE_PSK_WITH_NULL_SHA256',134 'TLS_DHE_PSK_WITH_NULL_SHA384',135 'TLS_RSA_PSK_WITH_AES_128_CBC_SHA256',136 'TLS_RSA_PSK_WITH_AES_256_CBC_SHA384',137 'TLS_RSA_PSK_WITH_NULL_SHA256',138 'TLS_RSA_PSK_WITH_NULL_SHA384',139 'TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256',140 'TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256',141 'TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256',142 'TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256',143 'TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256',144 'TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256',145 'TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256',146 'TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256',147 'TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256',148 'TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256',149 'TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256',150 'TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256',151 'TLS_EMPTY_RENEGOTIATION_INFO_SCSV',152 'TLS_ECDH_ECDSA_WITH_NULL_SHA',153 'TLS_ECDH_ECDSA_WITH_RC4_128_SHA',154 'TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA',155 'TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA',156 'TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA',157 'TLS_ECDHE_ECDSA_WITH_NULL_SHA',158 'TLS_ECDHE_ECDSA_WITH_RC4_128_SHA',159 'TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA',160 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA',161 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA',162 'TLS_ECDH_RSA_WITH_NULL_SHA',163 'TLS_ECDH_RSA_WITH_RC4_128_SHA',164 'TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA',165 'TLS_ECDH_RSA_WITH_AES_128_CBC_SHA',166 'TLS_ECDH_RSA_WITH_AES_256_CBC_SHA',167 'TLS_ECDHE_RSA_WITH_NULL_SHA',168 'TLS_ECDHE_RSA_WITH_RC4_128_SHA',169 'TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA',170 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA',171 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA',172 'TLS_ECDH_anon_WITH_NULL_SHA',173 'TLS_ECDH_anon_WITH_RC4_128_SHA',174 'TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA',175 'TLS_ECDH_anon_WITH_AES_128_CBC_SHA',176 'TLS_ECDH_anon_WITH_AES_256_CBC_SHA',177 'TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA',178 'TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA',179 'TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA',180 'TLS_SRP_SHA_WITH_AES_128_CBC_SHA',181 'TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA',182 'TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA',183 'TLS_SRP_SHA_WITH_AES_256_CBC_SHA',184 'TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA',185 'TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA',186 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256',187 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384',188 'TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256',189 'TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384',190 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256',191 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384',192 'TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256',193 'TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384',194 'TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256',195 'TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384',196 'TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256',197 'TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384',198 'TLS_ECDHE_PSK_WITH_RC4_128_SHA',199 'TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA',200 'TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA',201 'TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA',202 'TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256',203 'TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384',204 'TLS_ECDHE_PSK_WITH_NULL_SHA',205 'TLS_ECDHE_PSK_WITH_NULL_SHA256',206 'TLS_ECDHE_PSK_WITH_NULL_SHA384',207 'TLS_RSA_WITH_ARIA_128_CBC_SHA256',208 'TLS_RSA_WITH_ARIA_256_CBC_SHA384',209 'TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256',210 'TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384',211 'TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256',212 'TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384',213 'TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256',214 'TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384',215 'TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256',216 'TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384',217 'TLS_DH_anon_WITH_ARIA_128_CBC_SHA256',218 'TLS_DH_anon_WITH_ARIA_256_CBC_SHA384',219 'TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256',220 'TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384',221 'TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256',222 'TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384',223 'TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256',224 'TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384',225 'TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256',226 'TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384',227 'TLS_RSA_WITH_ARIA_128_GCM_SHA256',228 'TLS_RSA_WITH_ARIA_256_GCM_SHA384',229 'TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256',230 'TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384',231 'TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256',232 'TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384',233 'TLS_DH_anon_WITH_ARIA_128_GCM_SHA256',234 'TLS_DH_anon_WITH_ARIA_256_GCM_SHA384',235 'TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256',236 'TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384',237 'TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256',238 'TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384',239 'TLS_PSK_WITH_ARIA_128_CBC_SHA256',240 'TLS_PSK_WITH_ARIA_256_CBC_SHA384',241 'TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256',242 'TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384',243 'TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256',244 'TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384',245 'TLS_PSK_WITH_ARIA_128_GCM_SHA256',246 'TLS_PSK_WITH_ARIA_256_GCM_SHA384',247 'TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256',248 'TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384',249 'TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256',250 'TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384',251 'TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256',252 'TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384',253 'TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256',254 'TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384',255 'TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256',256 'TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384',257 'TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256',258 'TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384',259 'TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256',260 'TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384',261 'TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256',262 'TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384',263 'TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256',264 'TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384',265 'TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256',266 'TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384',267 'TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256',268 'TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384',269 'TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256',270 'TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384',271 'TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256',272 'TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384',273 'TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256',274 'TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384',275 'TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256',276 'TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384',277 'TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256',278 'TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384',279 'TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256',280 'TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384',281 'TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256',282 'TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384',283 'TLS_RSA_WITH_AES_128_CCM',284 'TLS_RSA_WITH_AES_256_CCM',285 'TLS_RSA_WITH_AES_128_CCM_8',286 'TLS_RSA_WITH_AES_256_CCM_8',287 'TLS_PSK_WITH_AES_128_CCM',288 'TLS_PSK_WITH_AES_256_CCM',289 'TLS_PSK_WITH_AES_128_CCM_8',290 'TLS_PSK_WITH_AES_256_CCM_8',291]292ciphers = []293found = set()294for hl, name, _, _ in csv.reader(sys.stdin):295 if name not in blacklist:296 continue297 found.add(name)298 high, low = hl.split(',')299 id = high + low[2:] + 'u'300 ciphers.append((id, name))301print '''\302enum {'''303for id, name in ciphers:304 print '{} = {},'.format(name, id)305print '''\306};307'''308for id, name in ciphers:309 print '''\310case {}:'''.format(name)311if len(found) != len(blacklist):312 print '{} found out of {}; not all cipher was found: {}'.format(313 len(found), len(blacklist),...
tls.py
Source:tls.py
1#!/usr/bin/python32# Runs SSLyze on the TLS endpoints of a box and outputs3# the results so we can inspect the settings and compare4# against a known good version in tls_results.txt.5#6# Make sure you have SSLyze available:7# wget https://github.com/nabla-c0d3/sslyze/releases/download/release-0.11/sslyze-0_11-linux64.zip8# unzip sslyze-0_11-linux64.zip9#10# Then run:11#12# python3 tls.py yourservername13#14# If you are on a residential network that blocks outbound15# port 25 connections, then you can proxy the connections16# through some other host you can ssh into (maybe the box17# itself?):18#19# python3 --proxy user@ssh_host yourservername20#21# (This will launch "ssh -N -L10023:yourservername:testport user@ssh_host"22# to create a tunnel.)23import sys, subprocess, re, time, json, csv, io, urllib.request24######################################################################25# PARSE COMMAND LINE26proxy = None27args = list(sys.argv[1:])28while len(args) > 0:29 if args[0] == "--proxy":30 args.pop(0)31 proxy = args.pop(0)32 break33if len(args) == 0:34 print("Usage: python3 tls.py [--proxy ssh_host] hostname")35 sys.exit(0)36host = args[0]37######################################################################38SSLYZE = "sslyze-0_11-linux64/sslyze/sslyze.py"39common_opts = ["--sslv2", "--sslv3", "--tlsv1", "--tlsv1_1", "--tlsv1_2", "--reneg", "--resum",40 "--hide_rejected_ciphers", "--compression", "--heartbleed"]41# Recommendations from Mozilla as of May 20, 2015 at42# https://wiki.mozilla.org/Security/Server_Side_TLS.43#44# The 'modern' ciphers support Firefox 27, Chrome 22, IE 11,45# Opera 14, Safari 7, Android 4.4, Java 8. Assumes TLSv1.1,46# TLSv1.2 only, though we may also be allowing TLSv3.47#48# The 'intermediate' ciphers support Firefox 1, Chrome 1, IE 7,49# Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7.50# Assumes TLSv1, TLSv1.1, TLSv1.2.51#52# The 'old' ciphers bring compatibility back to Win XP IE 6.53MOZILLA_CIPHERS_MODERN = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK"54MOZILLA_CIPHERS_INTERMEDIATE = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"55MOZILLA_CIPHERS_OLD = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"56######################################################################57def sslyze(opts, port, ok_ciphers):58 # Print header.59 header = ("PORT %d" % port)60 print(header)61 print("-" * (len(header)))62 # What ciphers should we expect?63 ok_ciphers = subprocess.check_output(["openssl", "ciphers", ok_ciphers]).decode("utf8").strip().split(":")64 # Form the SSLyze connection string.65 connection_string = host + ":" + str(port)66 # Proxy via SSH.67 proxy_proc = None68 if proxy:69 connection_string = "localhost:10023"70 proxy_proc = subprocess.Popen(["ssh", "-N", "-L10023:%s:%d" % (host, port), proxy])71 time.sleep(3)72 try:73 # Execute SSLyze.74 out = subprocess.check_output([SSLYZE] + common_opts + opts + [connection_string])75 out = out.decode("utf8")76 # Trim output to make better for storing in git.77 if "SCAN RESULTS FOR" not in out:78 # Failed. Just output the error.79 out = re.sub("[\w\W]*CHECKING HOST\(S\) AVAILABILITY\n\s*-+\n", "", out) # chop off header that shows the host we queried80 out = re.sub("[\w\W]*SCAN RESULTS FOR.*\n\s*-+\n", "", out) # chop off header that shows the host we queried81 out = re.sub("SCAN COMPLETED IN .*", "", out)82 out = out.rstrip(" \n-") + "\n"83 # Print.84 print(out)85 # Pull out the accepted ciphers list for each SSL/TLS protocol86 # version outputted.87 accepted_ciphers = set()88 for ciphers in re.findall(" Accepted:([\w\W]*?)\n *\n", out):89 accepted_ciphers |= set(re.findall("\n\s*(\S*)", ciphers))90 # Compare to what Mozilla recommends, for a given modernness-level.91 print(" Should Not Offer: " + (", ".join(sorted(accepted_ciphers-set(ok_ciphers))) or "(none -- good)"))92 print(" Could Also Offer: " + (", ".join(sorted(set(ok_ciphers)-accepted_ciphers)) or "(none -- good)"))93 # What clients does that mean we support on this protocol?94 supported_clients = { }95 for cipher in accepted_ciphers:96 if cipher in cipher_clients:97 for client in cipher_clients[cipher]:98 supported_clients[client] = supported_clients.get(client, 0) + 199 print(" Supported Clients: " + (", ".join(sorted(supported_clients.keys(), key = lambda client : -supported_clients[client]))))100 # Blank line.101 print()102 finally:103 if proxy_proc:104 proxy_proc.terminate()105 try:106 proxy_proc.wait(5)107 except TimeoutExpired:108 proxy_proc.kill()109# Get a list of OpenSSL cipher names.110cipher_names = { }111for cipher in csv.DictReader(io.StringIO(urllib.request.urlopen("https://raw.githubusercontent.com/mail-in-a-box/user-agent-tls-capabilities/master/cipher_names.csv").read().decode("utf8"))):112 # not sure why there are some multi-line values, use first line:113 cipher["OpenSSL"] = cipher["OpenSSL"].split("\n")[0]114 cipher_names[cipher["IANA"]] = cipher["OpenSSL"]115# Get a list of what clients support what ciphers, using OpenSSL cipher names.116client_compatibility = json.loads(urllib.request.urlopen("https://raw.githubusercontent.com/mail-in-a-box/user-agent-tls-capabilities/master/clients.json").read().decode("utf8"))117cipher_clients = { }118for client in client_compatibility:119 if len(set(client['protocols']) & set(["TLS 1.0", "TLS 1.1", "TLS 1.2"])) == 0: continue # does not support TLS120 for cipher in client['ciphers']:121 cipher_clients.setdefault(cipher_names.get(cipher), set()).add("/".join(x for x in [client['client']['name'], client['client']['version'], client['client']['platform']] if x))122# Run SSLyze on various ports.123# SMTP124sslyze(["--starttls=smtp"], 25, MOZILLA_CIPHERS_OLD)125# SMTP Submission126sslyze(["--starttls=smtp"], 587, MOZILLA_CIPHERS_MODERN)127# HTTPS128sslyze(["--http_get", "--chrome_sha1", "--hsts"], 443, MOZILLA_CIPHERS_INTERMEDIATE)129# IMAP130sslyze([], 993, MOZILLA_CIPHERS_MODERN)131# POP3...
cryptutil.py
Source:cryptutil.py
...46 return sha1_module.new(s).digest()47if sha256_module is not None:48 def hmacSha256(key, text):49 return hmac.new(key, text, sha256_module).digest()50 def sha256(s):51 return sha256_module.new(s).digest()52 SHA256_AVAILABLE = True53else:54 _no_sha256 = NotImplementedError(55 'Use Python 2.5, install pycrypto or install hashlib to use SHA256')56 def hmacSha256(unused_key, unused_text):57 raise _no_sha25658 def sha256(s):59 raise _no_sha25660 SHA256_AVAILABLE = False61try:62 from Crypto.Util.number import long_to_bytes, bytes_to_long63except ImportError:64 import pickle65 try:66 # Check Python compatiblity by raising an exception on import67 # if the needed functionality is not present. Present in68 # Python >= 2.369 pickle.encode_long70 pickle.decode_long71 except AttributeError:72 raise ImportError(...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!