Skip to content

fix(tls): add legacy RSA cipher suites for older NetScaler firmware#105

Open
writesz wants to merge 1 commit intonetscaler:mainfrom
writesz:fix/tls-rsa-cipher-suites
Open

fix(tls): add legacy RSA cipher suites for older NetScaler firmware#105
writesz wants to merge 1 commit intonetscaler:mainfrom
writesz:fix/tls-rsa-cipher-suites

Conversation

@writesz
Copy link
Copy Markdown

@writesz writesz commented Mar 13, 2026

Go 1.22 removed non-ECDHE (RSA key exchange) cipher suites from the default TLS client set. NetScaler/ADC appliances running older firmware (e.g. NS14.1 and below) commonly negotiate AES256-SHA (TLS_RSA_WITH_AES_256_CBC_SHA), which is no longer offered by default.

This causes every HTTPS request from the nitro-go client to fail with:
remote error: tls: handshake failure

Fix by explicitly setting CipherSuites on the insecure transport to include the legacy RSA ciphers alongside the modern ECDHE ones.

Go 1.22 removed non-ECDHE (RSA key exchange) cipher suites from the
default TLS client set. NetScaler/ADC appliances running older firmware
(e.g. NS14.1 and below) commonly negotiate AES256-SHA
(TLS_RSA_WITH_AES_256_CBC_SHA), which is no longer offered by default.

This causes every HTTPS request from the nitro-go client to fail with:
  remote error: tls: handshake failure

Fix by explicitly setting CipherSuites on the insecure transport to
include the legacy RSA ciphers alongside the modern ECDHE ones.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant