No objection here. Anyone else?

> On Aug 25, 2016, at 8:54 AM, Guenther Niess <ni...@pappanoa.de> wrote:
> 
> Hi,
> 
> is there a reason why the Camellia cipher suits with SHA2 HMAC is not
> supported?
> 
> I added them and tested the result with an Nginx server and the s_client
> command.
> 
> I would like to have a look to support the Camellia GCM based cipher
> suites, but if there is a reason why libressl shouldn't support them, I
> would spend my time with something else.
> 
> Best Regards,
> Guenther
> 
> 
> 
> Index: lib/libssl/src/ssl/s3_lib.c
> ===================================================================
> RCS file: /cvs/src/lib/libssl/src/ssl/s3_lib.c,v
> retrieving revision 1.108
> diff -u -p -r1.108 s3_lib.c
> --- lib/libssl/src/ssl/s3_lib.c       28 Apr 2016 16:39:45 -0000      1.108
> +++ lib/libssl/src/ssl/s3_lib.c       25 Aug 2016 13:45:27 -0000
> @@ -1805,6 +1805,138 @@ SSL_CIPHER ssl3_ciphers[] = {
>               .strength_bits = 256,
>               .alg_bits = 256,
>       },
> +
> +#ifndef OPENSSL_NO_CAMELLIA
> +     /* TLS 1.2 ECDH Camellia based ciphersuites from RFC 6367 */
> +
> +     /* Cipher C072 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .id = TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .algorithm_mkey = SSL_kECDHE,
> +             .algorithm_auth = SSL_aECDSA,
> +             .algorithm_enc = SSL_CAMELLIA128,
> +             .algorithm_mac = SSL_SHA256,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
> +             .strength_bits = 128,
> +             .alg_bits = 128,
> +     },
> +
> +     /* Cipher C073 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .id = TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .algorithm_mkey = SSL_kECDHE,
> +             .algorithm_auth = SSL_aECDSA,
> +             .algorithm_enc = SSL_CAMELLIA256,
> +             .algorithm_mac = SSL_SHA384,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384,
> +             .strength_bits = 256,
> +             .alg_bits = 256,
> +     },
> +
> +     /* Cipher C074 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .id = TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .algorithm_mkey = SSL_kECDHe,
> +             .algorithm_auth = SSL_aECDH,
> +             .algorithm_enc = SSL_CAMELLIA128,
> +             .algorithm_mac = SSL_SHA256,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
> +             .strength_bits = 128,
> +             .alg_bits = 128,
> +     },
> +
> +     /* Cipher C075 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .id = TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .algorithm_mkey = SSL_kECDHe,
> +             .algorithm_auth = SSL_aECDH,
> +             .algorithm_enc = SSL_CAMELLIA256,
> +             .algorithm_mac = SSL_SHA384,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384,
> +             .strength_bits = 256,
> +             .alg_bits = 256,
> +     },
> +
> +     /* Cipher C076 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .id = TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .algorithm_mkey = SSL_kECDHE,
> +             .algorithm_auth = SSL_aRSA,
> +             .algorithm_enc = SSL_CAMELLIA128,
> +             .algorithm_mac = SSL_SHA256,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
> +             .strength_bits = 128,
> +             .alg_bits = 128,
> +     },
> +
> +     /* Cipher C077 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .id = TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .algorithm_mkey = SSL_kECDHE,
> +             .algorithm_auth = SSL_aRSA,
> +             .algorithm_enc = SSL_CAMELLIA256,
> +             .algorithm_mac = SSL_SHA384,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384,
> +             .strength_bits = 256,
> +             .alg_bits = 256,
> +     },
> +
> +     /* Cipher C078 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .id = TLS1_CK_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
> +             .algorithm_mkey = SSL_kECDHe,
> +             .algorithm_auth = SSL_aRSA,
> +             .algorithm_enc = SSL_CAMELLIA128,
> +             .algorithm_mac = SSL_SHA256,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
> +             .strength_bits = 128,
> +             .alg_bits = 128,
> +     },
> +
> +     /* Cipher C079 */
> +     {
> +             .valid = 1,
> +             .name = TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .id = TLS1_CK_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
> +             .algorithm_mkey = SSL_kECDHe,
> +             .algorithm_auth = SSL_aRSA,
> +             .algorithm_enc = SSL_CAMELLIA256,
> +             .algorithm_mac = SSL_SHA384,
> +             .algorithm_ssl = SSL_TLSV1_2,
> +             .algo_strength = SSL_HIGH,
> +             .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384,
> +             .strength_bits = 256,
> +             .alg_bits = 256,
> +     },
> +#endif /* OPENSSL_NO_CAMELLIA */
> 
> #if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
>       /* Cipher CC13 */
> Index: lib/libssl/src/ssl/tls1.h
> ===================================================================
> RCS file: /cvs/src/lib/libssl/src/ssl/tls1.h,v
> retrieving revision 1.28
> diff -u -p -r1.28 tls1.h
> --- lib/libssl/src/ssl/tls1.h 28 Apr 2016 16:39:45 -0000      1.28
> +++ lib/libssl/src/ssl/tls1.h 25 Aug 2016 13:45:27 -0000
> @@ -536,6 +536,16 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_T
> #define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256        0x0300C031
> #define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384        0x0300C032
> 
> +/* ECDH Camellia based ciphersuites from RFC 6367. */
> +#define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256     0x0300C072
> +#define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384     0x0300C073
> +#define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256      0x0300C074
> +#define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384      0x0300C075
> +#define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256       0x0300C076
> +#define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384       0x0300C077
> +#define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256        0x0300C078
> +#define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384        0x0300C079
> +
> /* ChaCha20-Poly1305 based ciphersuites. */
> #define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305_OLD               0x0300CC13
> #define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305_OLD     0x0300CC14
> @@ -702,6 +712,16 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_T
> #define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384
> "ECDHE-RSA-AES256-GCM-SHA384"
> #define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256
> "ECDH-RSA-AES128-GCM-SHA256"
> #define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384
> "ECDH-RSA-AES256-GCM-SHA384"
> +
> +/* ECDH Camellia based ciphersuites from RFC 6367. */
> +#define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
> "ECDHE-ECDSA-CAMELLIA128-SHA256"
> +#define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
> "ECDHE-ECDSA-CAMELLIA256-SHA384"
> +#define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
> "ECDH-ECDSA-CAMELLIA128-SHA256"
> +#define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
> "ECDH-ECDSA-CAMELLIA256-SHA384"
> +#define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
> "ECDHE-RSA-CAMELLIA128-SHA256"
> +#define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
> "ECDHE-RSA-CAMELLIA256-SHA384"
> +#define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
> "ECDH-RSA-CAMELLIA128-SHA256"
> +#define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
> "ECDH-RSA-CAMELLIA256-SHA384"
> 
> /* ChaCha20-Poly1305 based ciphersuites. */
> #define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_OLD
> "ECDHE-RSA-CHACHA20-POLY1305-OLD"
> 

Reply via email to