public const int ECDH_RSA_WITH_AES_128_GCM_SHA256 = 0xC031;
public const int ECDH_RSA_WITH_AES_256_GCM_SHA384 = 0xC032;
+ /* From RFC 6655 and 7251 */
+ public const int RSA_WITH_AES_128_CCM = 0xC09C;
+ public const int RSA_WITH_AES_256_CCM = 0xC09D;
+ public const int RSA_WITH_AES_128_CCM_8 = 0xC0A0;
+ public const int RSA_WITH_AES_256_CCM_8 = 0xC0A1;
+ public const int ECDHE_ECDSA_WITH_AES_128_CCM = 0xC0AC;
+ public const int ECDHE_ECDSA_WITH_AES_256_CCM = 0xC0AD;
+ public const int ECDHE_ECDSA_WITH_AES_128_CCM_8 = 0xC0AE;
+ public const int ECDHE_ECDSA_WITH_AES_256_CCM_8 = 0xC0AF;
+
/* From RFC 7905 */
public const int ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA8;
public const int ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA9;
return "ECDH_RSA_WITH_AES_128_GCM_SHA256";
case ECDH_RSA_WITH_AES_256_GCM_SHA384:
return "ECDH_RSA_WITH_AES_256_GCM_SHA384";
+ case RSA_WITH_AES_128_CCM:
+ return "RSA_WITH_AES_128_CCM";
+ case RSA_WITH_AES_256_CCM:
+ return "RSA_WITH_AES_256_CCM";
+ case RSA_WITH_AES_128_CCM_8:
+ return "RSA_WITH_AES_128_CCM_8";
+ case RSA_WITH_AES_256_CCM_8:
+ return "RSA_WITH_AES_256_CCM_8";
+ case ECDHE_ECDSA_WITH_AES_128_CCM:
+ return "ECDHE_ECDSA_WITH_AES_128_CCM";
+ case ECDHE_ECDSA_WITH_AES_256_CCM:
+ return "ECDHE_ECDSA_WITH_AES_256_CCM";
+ case ECDHE_ECDSA_WITH_AES_128_CCM_8:
+ return "ECDHE_ECDSA_WITH_AES_128_CCM_8";
+ case ECDHE_ECDSA_WITH_AES_256_CCM_8:
+ return "ECDHE_ECDSA_WITH_AES_256_CCM_8";
case ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:
return "ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256";
case ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:
return ECDH_RSA_WITH_AES_128_GCM_SHA256;
case "ECDHRSAWITHAES256GCMSHA384":
return ECDH_RSA_WITH_AES_256_GCM_SHA384;
+ case "RSAWITHAES128CCM":
+ return RSA_WITH_AES_128_CCM;
+ case "RSAWITHAES256CCM":
+ return RSA_WITH_AES_256_CCM;
+ case "RSAWITHAES128CCM8":
+ return RSA_WITH_AES_128_CCM_8;
+ case "RSAWITHAES256CCM8":
+ return RSA_WITH_AES_256_CCM_8;
+ case "ECDHEECDSAWITHAES128CCM":
+ return ECDHE_ECDSA_WITH_AES_128_CCM;
+ case "ECDHEECDSAWITHAES256CCM":
+ return ECDHE_ECDSA_WITH_AES_256_CCM;
+ case "ECDHEECDSAWITHAES128CCM8":
+ return ECDHE_ECDSA_WITH_AES_128_CCM_8;
+ case "ECDHEECDSAWITHAES256CCM8":
+ return ECDHE_ECDSA_WITH_AES_256_CCM_8;
case "ECDHERSAWITHCHACHA20POLY1305SHA256":
return ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256;
case "ECDHEECDSAWITHCHACHA20POLY1305SHA256":
case RSA_WITH_AES_256_CBC_SHA256:
case RSA_WITH_AES_128_GCM_SHA256:
case RSA_WITH_AES_256_GCM_SHA384:
+ case RSA_WITH_AES_128_CCM:
+ case RSA_WITH_AES_256_CCM:
+ case RSA_WITH_AES_128_CCM_8:
+ case RSA_WITH_AES_256_CCM_8:
return true;
default:
return false;
case ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:
case ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:
case ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:
+ case ECDHE_ECDSA_WITH_AES_128_CCM:
+ case ECDHE_ECDSA_WITH_AES_256_CCM:
+ case ECDHE_ECDSA_WITH_AES_128_CCM_8:
+ case ECDHE_ECDSA_WITH_AES_256_CCM_8:
case ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:
return true;
default:
case ECDHE_RSA_WITH_AES_256_GCM_SHA384:
case ECDH_RSA_WITH_AES_128_GCM_SHA256:
case ECDH_RSA_WITH_AES_256_GCM_SHA384:
+ case RSA_WITH_AES_128_CCM:
+ case RSA_WITH_AES_256_CCM:
+ case RSA_WITH_AES_128_CCM_8:
+ case RSA_WITH_AES_256_CCM_8:
+ case ECDHE_ECDSA_WITH_AES_128_CCM:
+ case ECDHE_ECDSA_WITH_AES_256_CCM:
+ case ECDHE_ECDSA_WITH_AES_128_CCM_8:
+ case ECDHE_ECDSA_WITH_AES_256_CCM_8:
case ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:
case ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:
case DHE_RSA_WITH_CHACHA20_POLY1305_SHA256: