TLS "Server Hello"-Message was changed after update to 4.4.0

Hello,

after update to Version 4.4.0.0 from 3.9.3.0
TLS “Server Hello”-Message was changed.

The same:
Cipher Suite
TLS protokol version
xmpp.socket.ssl.client.ciphersuites Parameter

Changed:
Signature Hash Algorithms
Distinguished Names

Version 3.9.3.0

Handshake Protocol: Client Hello
Cipher Suites (5 suites)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)

Signature Hash Algorithms (2 algorithms)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)

Handshake Protocol: Server Hello
Version: TLS 1.2 (0x0303)

Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)

Signature Hash Algorithms (12 algorithms)
Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Algorithm: SHA224 ECDSA (0x0303)
Signature Algorithm: SHA224 RSA (0x0301)
Signature Algorithm: ecdsa_sha1 (0x0203)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
Signature Algorithm: SHA1 DSA (0x0202)
Signature Algorithm: MD5 RSA (0x0101)

Distinguished Names Length: 0

Version 4.4.0.0

Handshake Protocol: Client Hello
Cipher Suites (5 suites)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)

Signature Hash Algorithms (2 algorithms)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)

Handshake Protocol: Server Hello
Version: TLS 1.2 (0x0303)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)

Signature Hash Algorithms (10 algorithms)
Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Algorithm: SHA256 DSA (0x0402)
Signature Algorithm: ecdsa_sha1 (0x0203)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
Signature Algorithm: SHA1 DSA (0x0202)
Distinguished Names Length: 4514
-> here send server device sub-certificates, that installed on the server.

can I fix it?
thank you

I don’t exactly understand what you mean. Nor do I know if the change that you see is a bad change.

Openfire heavily depends on third-party software (BouncyCastle, as well as the JVM itself) for any TLS-related functionality. It’s pretty much guaranteed that changes have been applied to the version of BouncyCastle, between 3.9.3 and 4.4.0. Also, if you’re using a different version of Java, changes could be introduced.

That said: these changes might not be bad - generally speaking, updates increase, not decrease, security.

Hello,

thank You.
one device type doesn’t communicate with Openfire after update.

Client send the message:
TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Internal Error)
Alert Message
Level: Fatal (2)
Description: Internal Error (80)

3.9.3.0
Server Name: xmpp.XYZ.de
Host Name: ABC
xmpp.domain = xmpp.XYZ.de (property)

4.3.2.0
XMPP Domain Name: xmpp.XYZ.de
Server Host Name (FQDN): test-xmpp.XYZ.de DNS configuration appears to be missing or incorrect.
OS Process Owner: ABC$
xmpp.domain = xmpp.XYZ.de (property)

keystore has one Certificate with CommonName xmpp.XMZ.de

Does update changed the parameter correct?

  • server name
  • host name
  • server host name (FQDN)

after update from 3.9.3.0 to 4.3.2.0 in TLS-“Server Hello”
1.
Signature Algorithm will not be sent: MD5 RSA (0x0101)
It’s no problem because client has
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
2.
Distinguished Names is not empty.

the alert code 80 meens internal_error:
An internal error unrelated to the peer or the correctness of the protocol makes it impossible to continue, such as a memory allocation failure. The error is not related to protocol. This message is always fatal.

Is it possible in Server Certificate Request not send “Distinguished Names”?
Does any Openfire-setting exists for this?