-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gnutls support #30
Comments
Here's some more information on GnuTLS ciphersuites. Can you (or someone) provide the modified ciphersuites for @jvehent wrote this converstion tool, convert_openssl_to_gnutls.sh but he says it's given him mixed results. |
The problems I had poking around with this is that gnutls can't hit any of the targets exactly. Typically because some suites either aren't supported or turning off some of the broken ones takes out stronger ones too. Here's my best attempt at Intermediate:
|
Can anyone provide the gnutls equivalent for |
We did a lot of work on this back in the IRC server setup days and, basically, our document is written assuming intersections that GnuTLS cannot provide. Primarily of concern was that cipher ordering is, on RHEL6 and prior, hard-coded into GnuTLS such that no matter what we indicated, clients would get something wrong and broken and fail to negotiate. If y'all choose to proceed with addressing this issue, I strongly advise setting a minimum GnuTLS version to ensure that ordering is possible and supported. Otherwise, our specs break TLS when adapted to it. |
This gnutls priority string
gave only one more ciphersuite: TLS_DHE_RSA_3DES_EDE_CBC_SHA1 TLS_DHE_RSA_3DES_EDE_CBC_SHA1
TLS_DHE_RSA_AES_128_CBC_SHA1 TLS_DHE_RSA_AES_128_CBC_SHA1
TLS_DHE_RSA_AES_128_CBC_SHA256 TLS_DHE_RSA_AES_128_CBC_SHA256
TLS_DHE_RSA_AES_128_GCM_SHA256 TLS_DHE_RSA_AES_128_GCM_SHA256
TLS_DHE_RSA_AES_256_CBC_SHA1 TLS_DHE_RSA_AES_256_CBC_SHA1
TLS_DHE_RSA_AES_256_CBC_SHA256 TLS_DHE_RSA_AES_256_CBC_SHA256
TLS_DHE_RSA_AES_256_GCM_SHA384 TLS_DHE_RSA_AES_256_GCM_SHA384
> TLS_DHE_RSA_CHACHA20_POLY1305
TLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1 TLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1
TLS_ECDHE_ECDSA_AES_128_CBC_SHA1 TLS_ECDHE_ECDSA_AES_128_CBC_SHA1
TLS_ECDHE_ECDSA_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_AES_256_CBC_SHA1 TLS_ECDHE_ECDSA_AES_256_CBC_SHA1
TLS_ECDHE_ECDSA_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_CHACHA20_POLY1305 TLS_ECDHE_ECDSA_CHACHA20_POLY1305
TLS_ECDHE_RSA_3DES_EDE_CBC_SHA1 TLS_ECDHE_RSA_3DES_EDE_CBC_SHA1
TLS_ECDHE_RSA_AES_128_CBC_SHA1 TLS_ECDHE_RSA_AES_128_CBC_SHA1
TLS_ECDHE_RSA_AES_128_CBC_SHA256 TLS_ECDHE_RSA_AES_128_CBC_SHA256
TLS_ECDHE_RSA_AES_128_GCM_SHA256 TLS_ECDHE_RSA_AES_128_GCM_SHA256
TLS_ECDHE_RSA_AES_256_CBC_SHA1 TLS_ECDHE_RSA_AES_256_CBC_SHA1
TLS_ECDHE_RSA_AES_256_CBC_SHA384 TLS_ECDHE_RSA_AES_256_CBC_SHA384
TLS_ECDHE_RSA_AES_256_GCM_SHA384 TLS_ECDHE_RSA_AES_256_GCM_SHA384
TLS_ECDHE_RSA_CHACHA20_POLY1305 TLS_ECDHE_RSA_CHACHA20_POLY1305
TLS_RSA_3DES_EDE_CBC_SHA1 TLS_RSA_3DES_EDE_CBC_SHA1
TLS_RSA_AES_128_CBC_SHA1 TLS_RSA_AES_128_CBC_SHA1
TLS_RSA_AES_128_CBC_SHA256 TLS_RSA_AES_128_CBC_SHA256
TLS_RSA_AES_128_GCM_SHA256 TLS_RSA_AES_128_GCM_SHA256
TLS_RSA_AES_256_CBC_SHA1 TLS_RSA_AES_256_CBC_SHA1
TLS_RSA_AES_256_CBC_SHA256 TLS_RSA_AES_256_CBC_SHA256
TLS_RSA_AES_256_GCM_SHA384 TLS_RSA_AES_256_GCM_SHA384 (both sorted, left: Mozilla intermediate, right: this priority string) |
This gave better order: TLS_ECDHE_ECDSA_CHACHA20_POLY1305 TLS_ECDHE_ECDSA_CHACHA20_POLY1305
TLS_ECDHE_RSA_CHACHA20_POLY1305 <
TLS_ECDHE_ECDSA_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_AES_128_GCM_SHA256
TLS_ECDHE_RSA_AES_128_GCM_SHA256 <
TLS_ECDHE_ECDSA_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_AES_256_GCM_SHA384
TLS_ECDHE_RSA_AES_256_GCM_SHA384 <
TLS_DHE_RSA_AES_128_GCM_SHA256 <
TLS_DHE_RSA_AES_256_GCM_SHA384 <
TLS_ECDHE_ECDSA_AES_128_CBC_SHA256 <
TLS_ECDHE_RSA_AES_128_CBC_SHA256 <
TLS_ECDHE_ECDSA_AES_128_CBC_SHA1 TLS_ECDHE_ECDSA_AES_128_CBC_SHA1
TLS_ECDHE_RSA_AES_256_CBC_SHA384 | TLS_ECDHE_ECDSA_AES_128_CBC_SHA256
TLS_ECDHE_RSA_AES_128_CBC_SHA1 <
TLS_ECDHE_ECDSA_AES_256_CBC_SHA384 <
TLS_ECDHE_ECDSA_AES_256_CBC_SHA1 TLS_ECDHE_ECDSA_AES_256_CBC_SHA1
> TLS_ECDHE_ECDSA_AES_256_CBC_SHA384
> TLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1
> TLS_ECDHE_RSA_CHACHA20_POLY1305
> TLS_ECDHE_RSA_AES_128_GCM_SHA256
> TLS_ECDHE_RSA_AES_256_GCM_SHA384
> TLS_ECDHE_RSA_AES_128_CBC_SHA1
> TLS_ECDHE_RSA_AES_128_CBC_SHA256
TLS_ECDHE_RSA_AES_256_CBC_SHA1 TLS_ECDHE_RSA_AES_256_CBC_SHA1
TLS_DHE_RSA_AES_128_CBC_SHA256 | TLS_ECDHE_RSA_AES_256_CBC_SHA384
> TLS_ECDHE_RSA_3DES_EDE_CBC_SHA1
> TLS_DHE_RSA_CHACHA20_POLY1305
> TLS_DHE_RSA_AES_128_GCM_SHA256
> TLS_DHE_RSA_AES_256_GCM_SHA384
TLS_DHE_RSA_AES_128_CBC_SHA1 TLS_DHE_RSA_AES_128_CBC_SHA1
TLS_DHE_RSA_AES_256_CBC_SHA256 | TLS_DHE_RSA_AES_128_CBC_SHA256
TLS_DHE_RSA_AES_256_CBC_SHA1 TLS_DHE_RSA_AES_256_CBC_SHA1
TLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1 | TLS_DHE_RSA_AES_256_CBC_SHA256
TLS_ECDHE_RSA_3DES_EDE_CBC_SHA1 <
TLS_DHE_RSA_3DES_EDE_CBC_SHA1 TLS_DHE_RSA_3DES_EDE_CBC_SHA1
TLS_RSA_AES_128_GCM_SHA256 TLS_RSA_AES_128_GCM_SHA256
TLS_RSA_AES_256_GCM_SHA384 TLS_RSA_AES_256_GCM_SHA384
TLS_RSA_AES_128_CBC_SHA256 <
TLS_RSA_AES_256_CBC_SHA256 <
TLS_RSA_AES_128_CBC_SHA1 TLS_RSA_AES_128_CBC_SHA1
> TLS_RSA_AES_128_CBC_SHA256
TLS_RSA_AES_256_CBC_SHA1 TLS_RSA_AES_256_CBC_SHA1
> TLS_RSA_AES_256_CBC_SHA256
TLS_RSA_3DES_EDE_CBC_SHA1 TLS_RSA_3DES_EDE_CBC_SHA1 (not sorted) |
This priority string yields the same ciphersuites but different order: |
It would be nice to have a string for use with gnutls since it has a different set of ciphers available.
The text was updated successfully, but these errors were encountered: