Java8 FIPS client connection to K8s server

We have RHEL8 FIPS enabled OS linux machines ( Red Hat Enterprise Linux release 8.8 (Ootpa), 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Thu May 18 10:27:05 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux ) and have a very simple java client running on that machine to connect to K8s client to list the pods.

import io.kubernetes.client.openapi.apis.CoreV1Api;
import io.kubernetes.client.openapi.models.V1PodList;
import io.kubernetes.client.util.Config;
import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.ApiException;
import io.kubernetes.client.openapi.models.V1Pod;
import java.io.IOException;


public class KubernetesClientExample {
    public static void main(String[] args) throws IOException, ApiException {
        try {
            ApiClient client = Config.defaultClient();
            CoreV1Api api = new CoreV1Api(client);

            String namespace = "default";

            V1PodList podList = api.listNamespacedPod(namespace, null, false, null, null, null, 0, null, null, 0, false);

            System.out.println("Pods in namespace " + namespace + ":");
            for (V1Pod pod : podList.getItems()) {
                System.out.println(pod.getMetadata().getName());
            }
        } catch (ApiException | IOException e) {
            System.out.println("Exception when calling Kubernetes API: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Java is JDK8 and it is FIPS enabled too.
Java version :

openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)

When I run the client program, I kept on getting below SSL handshake error to K8s api server.

Exception when calling Kubernetes API: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failureio.kubernetes.client.openapi.ApiException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

        at io.kubernetes.client.openapi.ApiClient.execute(ApiClient.java:888)
        at io.kubernetes.client.openapi.apis.CoreV1Api.listNamespacedPodWithHttpInfo(CoreV1Api.java:32310)
        at io.kubernetes.client.openapi.apis.CoreV1Api.listNamespacedPod(CoreV1Api.java:32199)
        at KubernetesClientExample.main(KubernetesClientExample.java:18)
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

After I dug up further, I found out that it is a TLS Cipher suite mismatched between my java client and K8s api server during handshake :

javax.net.ssl|FINE|01|main|2023-09-01 11:43:13.195 PDT|ClientHello.java:564|Produced ClientHello handshake message (
"ClientHello": {
  "client version"      : "TLSv1.2",
  "random"              : "D6 7A E2 1A 96 21 F4 F7 04 01 18 B8 2E 69 ED DF 5A ED 04 37 D6 87 72 CF 4D 20 B8 D1 75 BD B0 9E",
  "session id"          : "72 EF CD 77 7B C1 16 0A F8 35 36 9D CC 6D 80 A5 11 27 7A 0A 4B EB B6 C2 8A BD 57 67 5B D7 E8 29",
  "cipher suites"       : "[TLS_AES_256_GCM_SHA384(0x1302), TLS_AES_128_GCM_SHA256(0x1301), TLS_RSA_WITH_AES_256_GCM_SHA384(0x009D), TLS_RSA_WITH_AES_128_GCM_SHA256(0x009C), TLS_RSA_WITH_AES_256_CBC_SHA(0x0035), TLS_RSA_WITH_AES_128_CBC_SHA(0x002F), SSL_RSA_WITH_3DES_EDE_CBC_SHA(0x000A)]",
  "compression methods" : "00",
  "extensions"          : [
    "server_name (0)": {
      type=host_name (0), value=k8s-api.com
    },
    "supported_groups (10)": {
      "versions": [ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192]
    },
    "ec_point_formats (11)": {
      "formats": [uncompressed]
    },
    "signature_algorithms (13)": {
      "signature schemes": [ed25519, ed448, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, rsa_sha224, dsa_sha224, rsa_pkcs1_sha1, dsa_sha1, rsa_md5]
    },
    "signature_algorithms_cert (50)": {
      "signature schemes": [ed25519, ed448, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, rsa_sha224, dsa_sha224, rsa_pkcs1_sha1, dsa_sha1, rsa_md5]
    },
    "application_layer_protocol_negotiation (16)": {
      [h2, http/1.1]
    },
    "extended_master_secret (23)": {
      <empty>
    },
    "supported_versions (43)": {
      "versions": [TLSv1.3, TLSv1.2]
    },
    "psk_key_exchange_modes (45)": {
      "ke_modes": [psk_dhe_ke]
    },
    "key_share (51)": {
      "client_shares": [
        {
          "named group": ffdhe2048
          "key_exchange": {
            0000: 4B 0C BC F5 D0 EC EF 64   93 FD 72 FB CD 50 07 CB  K......d..r..P..
            0010: 1E 18 7A 33 4E C1 D9 ED   D9 17 39 52 41 CA 0B DC  ..z3N.....9RA...
            0020: 96 65 F1 4C 2C 46 B4 10   6E 58 CB F1 B2 57 2D 19  .e.L,F..nX...W-.
            0030: F3 EB 74 13 8A 0C 3C 00   EE 19 56 7E 20 72 6E 53  ..t...<...V. rnS
            0040: 33 F2 54 32 01 0D AD 5C   17 37 9B D5 C3 69 79 A4  3.T2...\.7...iy.
            0050: 75 CE C7 16 AA 7F 76 74   AF 6E 9A 07 CF C2 41 8C  u.....vt.n....A.
            0060: FD 29 B0 F1 5D 8F 53 BE   E3 2D 20 98 5F 2D E4 3C  .)..].S..- ._-.<
            0070: 54 40 3C FA A6 71 CB C4   B2 7F 6A 14 66 2E E5 F1  T@<..q....j.f...
            0080: DA 21 20 1F 32 04 EB A2   E0 42 BD DD 88 19 52 61  .! .2....B....Ra
            0090: 0C E5 DA 02 7E 18 F7 9E   FD 59 91 9D 22 CA 37 88  .........Y..".7.
            00A0: 9E 34 B9 B7 9F 57 BC F9   78 58 C3 D5 E2 BC 84 5B  .4...W..xX.....[
            00B0: 34 ED 05 1D 8B 5B 8A BC   8B 24 D3 0D 06 3D C9 0B  4....[...$...=..
            00C0: 0B FE 77 A9 0B D7 9E 65   6A 50 2B 13 00 AE 01 F5  ..w....ejP+.....
            00D0: 4C 80 B8 0B DC 73 46 32   C1 FD 62 45 E2 E7 C8 03  L....sF2..bE....
            00E0: 29 B0 35 29 57 8B C3 02   7E D7 A3 E4 5A 80 5B AC  ).5)W.......Z.[.
            00F0: 28 E3 78 38 F9 75 86 C1   14 59 B1 22 2D 09 07 57  (.x8.u...Y."-..W
          }
        },
      ]
    },
    "renegotiation_info (65,281)": {
      "renegotiated connection": [<no renegotiated connection>]
    }
  ]
}
)
javax.net.ssl|FINE|01|main|2023-09-01 11:43:13.197 PDT|Alert.java:238|Received alert message (
"Alert": {
  "level"      : "fatal",
  "description": "handshake_failure"
}
)
javax.net.ssl|SEVERE|01|main|2023-09-01 11:43:13.197 PDT|TransportContext.java:323|Fatal (HANDSHAKE_FAILURE): Received fatal alert: handshake_failure (
"throwable" : {
  javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
        at sun.security.ssl.Alert.createSSLException(Alert.java:131)
        at sun.security.ssl.Alert.createSSLException(Alert.java:117)
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:318)

We are using default cipher suites that is provided by K8s.

I am wondering if k8s api server will support cipher suites that is complied java8 FIPS complied cipher suites?
From the debug log, it look likes client is sending these cipher suites to K8s server :

"[TLS_AES_256_GCM_SHA384(0x1302), TLS_AES_128_GCM_SHA256(0x1301), TLS_RSA_WITH_AES_256_GCM_SHA384(0x009D), TLS_RSA_WITH_AES_128_GCM_SHA256(0x009C), TLS_RSA_WITH_AES_256_CBC_SHA(0x0035), TLS_RSA_WITH_AES_128_CBC_SHA(0x002F), SSL_RSA_WITH_3DES_EDE_CBC_SHA(0x000A)]"

Following are the cipher suites that supported with Java8 FIPS

Supported Protocols: 6
 TLSv1.3
 TLSv1.2
 TLSv1.1
 TLSv1
 SSLv3
 SSLv2Hello

Enabled Protocols: 5
 TLSv1.3
 TLSv1.2
 TLSv1.1
 TLSv1
 SSLv3

Supported Cipher Suites:
 1. TLS_AES_128_GCM_SHA256
 2. TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
 3. TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
 4. TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
 5. TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
 6. TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
 7. TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
 8. TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
 9. TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
 10. TLS_DHE_RSA_WITH_AES_256_CBC_SHA
 11. TLS_DHE_DSS_WITH_AES_256_CBC_SHA
 12. TLS_DHE_RSA_WITH_AES_128_CBC_SHA
 13. TLS_DHE_DSS_WITH_AES_128_CBC_SHA
 14. TLS_RSA_WITH_AES_256_GCM_SHA384
 15. TLS_RSA_WITH_AES_128_GCM_SHA256
 16. TLS_RSA_WITH_AES_256_CBC_SHA256
 17. TLS_RSA_WITH_AES_128_CBC_SHA256
 18. TLS_RSA_WITH_AES_256_CBC_SHA
 19. TLS_RSA_WITH_AES_128_CBC_SHA
 20. SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
 21. SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
 22. SSL_RSA_WITH_3DES_EDE_CBC_SHA
 23. TLS_EMPTY_RENEGOTIATION_INFO_SCSV
 24. TLS_DH_anon_WITH_AES_256_GCM_SHA384
 25. TLS_DH_anon_WITH_AES_128_GCM_SHA256
 26. TLS_DH_anon_WITH_AES_256_CBC_SHA256
 27. TLS_DH_anon_WITH_AES_256_CBC_SHA
 28. TLS_DH_anon_WITH_AES_128_CBC_SHA256
 29. TLS_DH_anon_WITH_AES_128_CBC_SHA
 30. SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
 31. SSL_RSA_WITH_RC4_128_SHA
 32. SSL_RSA_WITH_RC4_128_MD5
 33. SSL_DH_anon_WITH_RC4_128_MD5
 34. SSL_RSA_WITH_DES_CBC_SHA
 35. SSL_DHE_RSA_WITH_DES_CBC_SHA
 36. SSL_DHE_DSS_WITH_DES_CBC_SHA
 37. SSL_DH_anon_WITH_DES_CBC_SHA
 38. SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
 39. SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
 40. SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
 41. SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
 42. SSL_RSA_EXPORT_WITH_RC4_40_MD5
 43. SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
 44. TLS_RSA_WITH_NULL_SHA256
 45. SSL_RSA_WITH_NULL_SHA
 46. SSL_RSA_WITH_NULL_MD5
 47. TLS_KRB5_WITH_3DES_EDE_CBC_SHA
 48. TLS_KRB5_WITH_3DES_EDE_CBC_MD5
 49. TLS_KRB5_WITH_RC4_128_SHA
 50. TLS_KRB5_WITH_RC4_128_MD5
 51. TLS_KRB5_WITH_DES_CBC_SHA
 52. TLS_KRB5_WITH_DES_CBC_MD5
 53. TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
 54. TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
 55. TLS_KRB5_EXPORT_WITH_RC4_40_SHA
 56. TLS_KRB5_EXPORT_WITH_RC4_40_MD5

And K8s version we are using is v1.23.7. Understand it is older version as we are on the way to upgrade newer ones.

Much appreciate about any input. Thanks