You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Farber, Ilja" <il...@sap.com.INVALID> on 2021/10/08 18:34:09 UTC

Missing TLS cipher suite definition

Hi all,

I noticed org.apache.tomcat.util.net.openssl.ciphers.Cipher does not define the cipher suites defined by rfc 6367 and 6209. The ciphers are listed
https://docs.oracle.com/javase/9/docs/specs/security/standard-names.html

and should be valid for TLS 1.2.



For example TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256

or TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256



Is there a reason, why these cipher suites are not in enum Cipher?



Kind Regards,
Ilja

Re: Missing TLS cipher suite definition

Posted by Christopher Schultz <ch...@christopherschultz.net>.
Mark,

On 10/10/21 13:47, Mark Thomas wrote:
> On 10/10/2021 13:00, Christopher Schultz wrote:
>> On 10/9/21 04:52, Mark Thomas wrote:
> 
> <snip/>
> 
>> If the user is using e.g. BouncyCastle, IBM's JRE, Corretto, etc. 
>> those ciphers might be available in those environments. (It looks like 
>> BC supports this cipher suite, but I couldn't find any information on 
>> IBM or Corretto stating one way or the other).
> 
> We have supported cipher lists from at least some of those in the
> test suite checking for missing mappings. There is always the scope
> to [add] additional supported cipher lists from other JVMs and/or
> JSSE providers.
+1

>> Will them being missing from the Ciphers enum prevent them from being 
>> used at all? OR will it only prevent them from being aliases of each 
>> other?
> 
> Looking at the source, my reading is a cipher needs to be in Ciphers to 
> used.
> 
> I'll note that in that case it is a DSA based cipher suite so I'd be 
> surprised to find it in use in a production scenario.

It's ECDSA, which is what you'd naturally be using if you were to be 
using EC keys. Not everyone uses RSA, though it still has most of the 
market-share. Let's Encrypt will use ECDSA if requested.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Missing TLS cipher suite definition

Posted by Mark Thomas <ma...@apache.org>.
On 10/10/2021 13:00, Christopher Schultz wrote:
> On 10/9/21 04:52, Mark Thomas wrote:

<snip/>

> If the user is using e.g. BouncyCastle, IBM's JRE, Corretto, etc. those 
> ciphers might be available in those environments. (It looks like BC 
> supports this cipher suite, but I couldn't find any information on IBM 
> or Corretto stating one way or the other).

We have supported cipher lists from at least some of those in the test 
suite checking for missing mappings. There is always the scope to 
additional supported cipher lists from other JVMs and/or JSSE providers.

> Will them being missing from the Ciphers enum prevent them from being 
> used at all? OR will it only prevent them from being aliases of each other?

Looking at the source, my reading is a cipher needs to be in Ciphers to 
used.

I'll note that in that case it is a DSA based cipher suite so I'd be 
surprised to find it in use in a production scenario.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Missing TLS cipher suite definition

Posted by Christopher Schultz <ch...@christopherschultz.net>.
Mark,

On 10/9/21 04:52, Mark Thomas wrote:
> On 08/10/2021 19:34, Farber, Ilja wrote:
>> Hi all,
>>
>> I noticed org.apache.tomcat.util.net.openssl.ciphers.Cipher does not 
>> define the cipher suites defined by rfc 6367 and 6209. The ciphers are 
>> listed
>> https://docs.oracle.com/javase/9/docs/specs/security/standard-names.html
>>
>> and should be valid for TLS 1.2.
> 
>> For example TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
> 
> The above cipher is 0xC05C and is present in Ciphers.
> 
>> or TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
> 
> The above cipher is 0xC086. As far as I am aware it is neither supported 
> by Java nor OpenSSL hence it is not present in Ciphers.
> 
>> Is there a reason, why these cipher suites are not in enum Cipher?
> 
> The purpose of the Enum is to map between Java cipher definitions and 
> OpenSSL cipher definitions. If a cipher is unsupported by both there is 
> no point including it.
> 
> There are Tomcat unit tests that should check for unknown ciphers so I'd 
> expect any new ciphers to trigger test failures. We do see these from 
> time to time as OpenSSL adjusts its ciphers so I think they are working 
> correctly.
> 
> If you are aware of a cipher that is supported by any current version of 
> Java or OpenSSL that is missing from Ciphers and isn't triggering a test 
> failure then please bring it to our attention.

If the user is using e.g. BouncyCastle, IBM's JRE, Corretto, etc. those 
ciphers might be available in those environments. (It looks like BC 
supports this cipher suite, but I couldn't find any information on IBM 
or Corretto stating one way or the other).

Will them being missing from the Ciphers enum prevent them from being 
used at all? OR will it only prevent them from being aliases of each other?

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Missing TLS cipher suite definition

Posted by Mark Thomas <ma...@apache.org>.
On 08/10/2021 19:34, Farber, Ilja wrote:
> Hi all,
> 
> I noticed org.apache.tomcat.util.net.openssl.ciphers.Cipher does not define the cipher suites defined by rfc 6367 and 6209. The ciphers are listed
> https://docs.oracle.com/javase/9/docs/specs/security/standard-names.html
> 
> and should be valid for TLS 1.2.

> For example TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256

The above cipher is 0xC05C and is present in Ciphers.

> or TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256

The above cipher is 0xC086. As far as I am aware it is neither supported 
by Java nor OpenSSL hence it is not present in Ciphers.

> Is there a reason, why these cipher suites are not in enum Cipher?

The purpose of the Enum is to map between Java cipher definitions and 
OpenSSL cipher definitions. If a cipher is unsupported by both there is 
no point including it.

There are Tomcat unit tests that should check for unknown ciphers so I'd 
expect any new ciphers to trigger test failures. We do see these from 
time to time as OpenSSL adjusts its ciphers so I think they are working 
correctly.

If you are aware of a cipher that is supported by any current version of 
Java or OpenSSL that is missing from Ciphers and isn't triggering a test 
failure then please bring it to our attention.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org