📄 yassl_types.hpp
字号:
// Valid client certificate request types from page 27enum ClientCertificateType { rsa_sign = 1, dss_sign = 2, rsa_fixed_dh = 3, dss_fixed_dh = 4, rsa_ephemeral_dh = 5, dss_ephemeral_dh = 6, fortezza_kea_cert = 20};// Supported Ciphers from page 43enum BulkCipherAlgorithm { cipher_null, rc4, rc2, des, triple_des, // leading 3 (3des) not valid identifier des40, idea, aes};// Supported Message Authentication Codes from page 43enum MACAlgorithm { no_mac, md5, sha, rmd};// Certificate file Typeenum CertType { Cert = 0, PrivateKey, CA };// all Cipher Suites from pages 41/42const Cipher SSL_NULL_WITH_NULL_NULL = 0; // { 0x00, 0x00 }const Cipher SSL_RSA_WITH_NULL_MD5 = 1; // { 0x00, 0x01 }const Cipher SSL_RSA_WITH_NULL_SHA = 2; // { 0x00, 0x02 }const Cipher SSL_RSA_EXPORT_WITH_RC4_40_MD5 = 3; // { 0x00, 0x03 }const Cipher SSL_RSA_WITH_RC4_128_MD5 = 4; // { 0x00, 0x04 }const Cipher SSL_RSA_WITH_RC4_128_SHA = 5; // { 0x00, 0x05 }const Cipher SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6; // { 0x00, 0x06 }const Cipher SSL_RSA_WITH_IDEA_CBC_SHA = 7; // { 0x00, 0x07 }const Cipher SSL_RSA_EXPORT_WITH_DES40_CBC_SHA = 8; // { 0x00, 0x08 }const Cipher SSL_RSA_WITH_DES_CBC_SHA = 9; // { 0x00, 0x09 }const Cipher SSL_RSA_WITH_3DES_EDE_CBC_SHA = 10; // { 0x00, 0x0A }const Cipher SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11; // { 0x00, 0x0B }const Cipher SSL_DH_DSS_WITH_DES_CBC_SHA = 12; // { 0x00, 0x0C }const Cipher SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // { 0x00, 0x0D }const Cipher SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14; // { 0x00, 0x0E }const Cipher SSL_DH_RSA_WITH_DES_CBC_SHA = 15; // { 0x00, 0x0F }const Cipher SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // { 0x00, 0x10 }const Cipher SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17; // { 0x00, 0x11 }const Cipher SSL_DHE_DSS_WITH_DES_CBC_SHA = 18; // { 0x00, 0x12 }const Cipher SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // { 0x00, 0x13 }const Cipher SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20; // { 0x00, 0x14 }const Cipher SSL_DHE_RSA_WITH_DES_CBC_SHA = 21; // { 0x00, 0x15 }const Cipher SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // { 0x00, 0x16 }const Cipher SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23; // { 0x00, 0x17 }const Cipher SSL_DH_anon_WITH_RC4_128_MD5 = 24; // { 0x00, 0x18 }const Cipher SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25; // { 0x00, 0x19 }const Cipher SSL_DH_anon_WITH_DES_CBC_SHA = 26; // { 0x00, 0x1A }const Cipher SSL_DH_anon_WITH_3DES_EDE_CBC_SHA = 27; // { 0x00, 0x1B }const Cipher SSL_FORTEZZA_KEA_WITH_NULL_SHA = 28; // { 0x00, 0x1C }const Cipher SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA = 29; // { 0x00, 0x1D }const Cipher SSL_FORTEZZA_KEA_WITH_RC4_128_SHA = 30; // { 0x00, 0x1E }// .. to 0x2B uses Kerberos Authentication// TLS AES extensionsconst Cipher TLS_RSA_WITH_AES_128_CBC_SHA = 47; // { 0x00, 0x2F }const Cipher TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // { 0x00, 0x30 }const Cipher TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // { 0x00, 0x31 }const Cipher TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // { 0x00, 0x32 }const Cipher TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // { 0x00, 0x33 }const Cipher TLS_DH_anon_WITH_AES_128_CBC_SHA = 52; // { 0x00, 0x34 }const Cipher TLS_RSA_WITH_AES_256_CBC_SHA = 53; // { 0x00, 0x35 }const Cipher TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // { 0x00, 0x36 }const Cipher TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // { 0x00, 0x37 }const Cipher TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // { 0x00, 0x38 }const Cipher TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // { 0x00, 0x39 }const Cipher TLS_DH_anon_WITH_AES_256_CBC_SHA = 58; // { 0x00, 0x3A }// OpenPGP extensionsconst Cipher TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD160 = 114; // { 0x00, 0x72 };const Cipher TLS_DHE_DSS_WITH_AES_128_CBC_RMD160 = 115; // { 0x00, 0x73 };const Cipher TLS_DHE_DSS_WITH_AES_256_CBC_RMD160 = 116; // { 0x00, 0x74 };const Cipher TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD160 = 119; // { 0x00, 0x77 };const Cipher TLS_DHE_RSA_WITH_AES_128_CBC_RMD160 = 120; // { 0x00, 0x78 };const Cipher TLS_DHE_RSA_WITH_AES_256_CBC_RMD160 = 121; // { 0x00, 0x79 };const Cipher TLS_RSA_WITH_3DES_EDE_CBC_RMD160 = 124; // { 0x00, 0x7C };const Cipher TLS_RSA_WITH_AES_128_CBC_RMD160 = 125; // { 0x00, 0x7D };const Cipher TLS_RSA_WITH_AES_256_CBC_RMD160 = 126; // { 0x00, 0x7E };const char* const null_str = "";const char* const cipher_names[128] ={ null_str, // SSL_NULL_WITH_NULL_NULL = 0 null_str, // SSL_RSA_WITH_NULL_MD5 = 1 null_str, // SSL_RSA_WITH_NULL_SHA = 2 null_str, // SSL_RSA_EXPORT_WITH_RC4_40_MD5 = 3 "RC4-MD5", // SSL_RSA_WITH_RC4_128_MD5 = 4 "RC4-SHA", // SSL_RSA_WITH_RC4_128_SHA = 5 null_str, // SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6 null_str, // SSL_RSA_WITH_IDEA_CBC_SHA = 7 null_str, // SSL_RSA_EXPORT_WITH_DES40_CBC_SHA = 8 "DES-CBC-SHA", // SSL_RSA_WITH_DES_CBC_SHA = 9 "DES-CBC3-SHA", // SSL_RSA_WITH_3DES_EDE_CBC_SHA = 10 null_str, // SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11 null_str, // SSL_DH_DSS_WITH_DES_CBC_SHA = 12 null_str, // SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13 null_str, // SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14 null_str, // SSL_DH_RSA_WITH_DES_CBC_SHA = 15 null_str, // SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16 null_str, // SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17 "EDH-DSS-DES-CBC-SHA", // SSL_DHE_DSS_WITH_DES_CBC_SHA = 18 "EDH-DSS-DES-CBC3-SHA", // SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19 null_str, // SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20 "EDH-RSA-DES-CBC-SHA", // SSL_DHE_RSA_WITH_DES_CBC_SHA = 21 "EDH-RSA-DES-CBC3-SHA", // SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22 null_str, // SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23 null_str, // SSL_DH_anon_WITH_RC4_128_MD5 = 24 null_str, // SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25 null_str, // SSL_DH_anon_WITH_DES_CBC_SHA = 26 null_str, // SSL_DH_anon_WITH_3DES_EDE_CBC_SHA = 27 null_str, // SSL_FORTEZZA_KEA_WITH_NULL_SHA = 28 null_str, // SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA = 29 null_str, // SSL_FORTEZZA_KEA_WITH_RC4_128_SHA = 30 null_str, null_str, null_str, null_str, null_str, // 31 - 35 null_str, null_str, null_str, null_str, null_str, // 36 - 40 null_str, null_str, null_str, null_str, null_str, // 41 - 45 null_str, // 46 // TLS AES extensions "AES128-SHA", // TLS_RSA_WITH_AES_128_CBC_SHA = 47 null_str, // TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48 null_str, // TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49 "DHE-DSS-AES128-SHA", // TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50 "DHE-RSA-AES128-SHA", // TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51 null_str, // TLS_DH_anon_WITH_AES_128_CBC_SHA = 52 "AES256-SHA", // TLS_RSA_WITH_AES_256_CBC_SHA = 53 null_str, // TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54 null_str, // TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55 "DHE-DSS-AES256-SHA", // TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56 "DHE-RSA-AES256-SHA", // TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57 null_str, // TLS_DH_anon_WITH_AES_256_CBC_SHA = 58 null_str, // 59 null_str, // 60 null_str, null_str, null_str, null_str, null_str, // 61 - 65 null_str, null_str, null_str, null_str, null_str, // 66 - 70 null_str, null_str, null_str, null_str, null_str, // 71 - 75 null_str, null_str, null_str, null_str, null_str, // 76 - 80 null_str, null_str, null_str, null_str, null_str, // 81 - 85 null_str, null_str, null_str, null_str, null_str, // 86 - 90 null_str, null_str, null_str, null_str, null_str, // 91 - 95 null_str, null_str, null_str, null_str, null_str, // 96 - 100 null_str, null_str, null_str, null_str, null_str, // 101 - 105 null_str, null_str, null_str, null_str, null_str, // 106 - 110 null_str, null_str, null_str, // 111 - 113 "DHE-DSS-DES-CBC3-RMD", // TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD160 = 114 "DHE-DSS-AES128-RMD", // TLS_DHE_DSS_WITH_AES_128_CBC_RMD160 = 115 "DHE-DSS-AES256-RMD", // TLS_DHE_DSS_WITH_AES_256_CBC_RMD160 = 116 null_str, // 117 null_str, // 118 "DHE-RSA-DES-CBC3-RMD", // TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD160 = 119 "DHE-RSA-AES128-RMD", // TLS_DHE_RSA_WITH_AES_128_CBC_RMD160 = 120 "DHE-RSA-AES256-RMD", // TLS_DHE_RSA_WITH_AES_256_CBC_RMD160 = 121 null_str, // 122 null_str, // 123 "DES-CBC3-RMD", // TLS_RSA_WITH_3DES_EDE_CBC_RMD160 = 124 "AES128-RMD", // TLS_RSA_WITH_AES_128_CBC_RMD160 = 125 "AES256-RMD", // TLS_RSA_WITH_AES_256_CBC_RMD160 = 126 null_str // 127};// fill with MD5 pad size since biggest requiredconst opaque PAD1[PAD_MD5] = { 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36 };const opaque PAD2[PAD_MD5] = { 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c };const opaque client[SIZEOF_SENDER] = { 0x43, 0x4C, 0x4E, 0x54 };const opaque server[SIZEOF_SENDER] = { 0x53, 0x52, 0x56, 0x52 };const opaque tls_client[FINISHED_LABEL_SZ + 1] = "client finished";const opaque tls_server[FINISHED_LABEL_SZ + 1] = "server finished";const opaque master_label[MASTER_LABEL_SZ + 1] = "master secret";const opaque key_label [KEY_LABEL_SZ + 1] = "key expansion";} // naemspace#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96/* gcc 2.96 bails out because of two declarations of byte: yaSSL::byte and TaoCrypt::byte. TODO: define global types.hpp and move the declaration of 'byte' there.*/using yaSSL::byte;#endif#endif // yaSSL_TYPES_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -