github.com/jcmturner/gokrb5/v8@v8.4.4/iana/etypeID/constants.go (about) 1 // Package etypeID provides Kerberos 5 encryption type assigned numbers. 2 package etypeID 3 4 // Kerberos encryption type assigned numbers. 5 const ( 6 //RESERVED : 0 7 DES_CBC_CRC int32 = 1 8 DES_CBC_MD4 int32 = 2 9 DES_CBC_MD5 int32 = 3 10 DES_CBC_RAW int32 = 4 11 DES3_CBC_MD5 int32 = 5 12 DES3_CBC_RAW int32 = 6 13 DES3_CBC_SHA1 int32 = 7 14 DES_HMAC_SHA1 int32 = 8 15 DSAWITHSHA1_CMSOID int32 = 9 16 MD5WITHRSAENCRYPTION_CMSOID int32 = 10 17 SHA1WITHRSAENCRYPTION_CMSOID int32 = 11 18 RC2CBC_ENVOID int32 = 12 19 RSAENCRYPTION_ENVOID int32 = 13 20 RSAES_OAEP_ENV_OID int32 = 14 21 DES_EDE3_CBC_ENV_OID int32 = 15 22 DES3_CBC_SHA1_KD int32 = 16 23 AES128_CTS_HMAC_SHA1_96 int32 = 17 24 AES256_CTS_HMAC_SHA1_96 int32 = 18 25 AES128_CTS_HMAC_SHA256_128 int32 = 19 26 AES256_CTS_HMAC_SHA384_192 int32 = 20 27 //UNASSIGNED : 21-22 28 RC4_HMAC int32 = 23 29 RC4_HMAC_EXP int32 = 24 30 CAMELLIA128_CTS_CMAC int32 = 25 31 CAMELLIA256_CTS_CMAC int32 = 26 32 //UNASSIGNED : 27-64 33 SUBKEY_KEYMATERIAL int32 = 65 34 //UNASSIGNED : 66-2147483647 35 ) 36 37 // ETypesByName is a map of EncType names to their assigned EncType number. 38 var ETypesByName = map[string]int32{ 39 "des-cbc-crc": DES_CBC_CRC, 40 "des-cbc-md4": DES_CBC_MD4, 41 "des-cbc-md5": DES_CBC_MD5, 42 "des-cbc-raw": DES_CBC_RAW, 43 "des3-cbc-md5": DES3_CBC_MD5, 44 "des3-cbc-raw": DES3_CBC_RAW, 45 "des3-cbc-sha1": DES3_CBC_SHA1, 46 "des3-hmac-sha1": DES_HMAC_SHA1, 47 "des3-cbc-sha1-kd": DES3_CBC_SHA1_KD, 48 "des-hmac-sha1": DES_HMAC_SHA1, 49 "dsaWithSHA1-CmsOID": DSAWITHSHA1_CMSOID, 50 "md5WithRSAEncryption-CmsOID": MD5WITHRSAENCRYPTION_CMSOID, 51 "sha1WithRSAEncryption-CmsOID": SHA1WITHRSAENCRYPTION_CMSOID, 52 "rc2CBC-EnvOID": RC2CBC_ENVOID, 53 "rsaEncryption-EnvOID": RSAENCRYPTION_ENVOID, 54 "rsaES-OAEP-ENV-OID": RSAES_OAEP_ENV_OID, 55 "des-ede3-cbc-Env-OID": DES_EDE3_CBC_ENV_OID, 56 "aes128-cts-hmac-sha1-96": AES128_CTS_HMAC_SHA1_96, 57 "aes128-cts": AES128_CTS_HMAC_SHA1_96, 58 "aes128-sha1": AES128_CTS_HMAC_SHA1_96, 59 "aes256-cts-hmac-sha1-96": AES256_CTS_HMAC_SHA1_96, 60 "aes256-cts": AES256_CTS_HMAC_SHA1_96, 61 "aes256-sha1": AES256_CTS_HMAC_SHA1_96, 62 "aes128-cts-hmac-sha256-128": AES128_CTS_HMAC_SHA256_128, 63 "aes128-sha2": AES128_CTS_HMAC_SHA256_128, 64 "aes256-cts-hmac-sha384-192": AES256_CTS_HMAC_SHA384_192, 65 "aes256-sha2": AES256_CTS_HMAC_SHA384_192, 66 "arcfour-hmac": RC4_HMAC, 67 "rc4-hmac": RC4_HMAC, 68 "arcfour-hmac-md5": RC4_HMAC, 69 "arcfour-hmac-exp": RC4_HMAC_EXP, 70 "rc4-hmac-exp": RC4_HMAC_EXP, 71 "arcfour-hmac-md5-exp": RC4_HMAC_EXP, 72 "camellia128-cts-cmac": CAMELLIA128_CTS_CMAC, 73 "camellia128-cts": CAMELLIA128_CTS_CMAC, 74 "camellia256-cts-cmac": CAMELLIA256_CTS_CMAC, 75 "camellia256-cts": CAMELLIA256_CTS_CMAC, 76 "subkey-keymaterial": SUBKEY_KEYMATERIAL, 77 } 78 79 // EtypeSupported resolves the etype name string to the etype ID. 80 // If zero is returned the etype is not supported by gokrb5. 81 func EtypeSupported(etype string) int32 { 82 // Slice of supported enctype IDs 83 s := []int32{ 84 AES128_CTS_HMAC_SHA1_96, 85 AES256_CTS_HMAC_SHA1_96, 86 AES128_CTS_HMAC_SHA256_128, 87 AES256_CTS_HMAC_SHA384_192, 88 DES3_CBC_SHA1_KD, 89 RC4_HMAC, 90 } 91 id := ETypesByName[etype] 92 if id == 0 { 93 return id 94 } 95 for _, sid := range s { 96 if id == sid { 97 return id 98 } 99 } 100 return 0 101 }