Java tutorial
//package com.java2s; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import javax.net.ssl.SSLContext; public class Main { /** * Returns the ciphers preferred to use during tests. They may be chosen because they are widely * available or because they are fast. There is no requirement that they provide confidentiality * or integrity. */ public static List<String> preferredCiphers() { String[] ciphers; try { ciphers = SSLContext.getDefault().getDefaultSSLParameters().getCipherSuites(); } catch (NoSuchAlgorithmException ex) { throw new RuntimeException(ex); } List<String> ciphersMinusGcm = new ArrayList<String>(); for (String cipher : ciphers) { // The GCM implementation in Java is _very_ slow (~1 MB/s) if (cipher.contains("_GCM_")) { continue; } ciphersMinusGcm.add(cipher); } return Collections.unmodifiableList(ciphersMinusGcm); } }