javax.net.ssl.SSLHandshakeException: No negotiable cipher suite when calling Apple APNS using HTTP2 implemented by jetty library
<p>I am using this code and it working fine on local server, but not working on BlueMix server</p>

<pre><code> public void pushNotification(String notificationTitle, String notificationBody, String token, String notificationType, int applePort) {
     HTTP2Client lowLevelClient = null;
     HttpClient client = null;
     String hostname = null;
     try {

         lowLevelClient = new HTTP2Client(); // create a low-level Jetty HTTP/2 client
         lowLevelClient.start();

         // APNs requires the use of HPACK (header compression for HTTP/2), which prevents repeated header keys and values.
         KeyStore ks = KeyStore.getInstance("PKCS12");

         // Ensure that the password is the same as the one used later in setKeyStorePassword()
         ks.load(AppleServiceResource.class.getClassLoader().getResourceAsStream("/resources/appleCertificate/apns_all.p12"), "a1B23".toCharArray());

         SslContextFactory ssl = new SslContextFactory(true);
         ssl.setKeyStore(ks);
         ssl.setKeyStorePassword("a5B93");
         FuturePromise&lt;Session&gt; sessionPromise = new FuturePromise&lt;&gt;();

         if (notificationType.trim().equalsIgnoreCase("Development"))
             hostname = "api.development.push.apple.com";
         else if (notificationType.trim().equalsIgnoreCase("Producation"))
             hostname = "api.push.apple.com";
         lowLevelClient.connect(ssl, new InetSocketAddress(hostname, applePort), new ServerSessionListener.Adapter(), sessionPromise);

         // create a high-level Jetty client
         client = new HttpClient(new HttpClientTransportOverHTTP2(lowLevelClient), ssl);
         client.start();

         String payload = "{\"aps\":{\"alert\":{\"title\":\"" + notificationTitle + "\",\"body\":\"" + notificationBody + "\"}, \"sound\":\"default\"}}";

         Request request = client.POST("https://" + hostname).timeout(20, TimeUnit.SECONDS).path("/3/device/" + token).content(new StringContentProvider(payload, Charset.forName("UTF-8")));

         request = request.header("apns-topic", "Skios.TripBruCACT").header("User-Agent", client.getClass().getName() + "/" + Jetty.VERSION);
         logger.info("Sending notification to token: " + token );
         ContentResponse response = request.send();
         logger.info("Response Status: " + response.getStatus());
         logger.info("Sending notification to token: " + token + " is Done.");
     } catch (Exception e) {
         e.printStackTrace();
     } finally {
         try {
             if (lowLevelClient != null &amp;&amp; !lowLevelClient.isStopped())
                 lowLevelClient.stop();
             if (client != null &amp;&amp; !client.isStopped())
                 client.stop();
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 }
</code></pre>

<p>When i use same code on BlueMix server it throws</p>

<pre><code>org.eclipse.jetty.io.RuntimeIOException: javax.net.ssl.SSLHandshakeException: No negotiable cipher suite
</code></pre>

<p>and</p>

<pre><code>javax.net.ssl.SSLHandshakeException: No negotiable cipher suite
</code></pre>