summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ojluni/src/main/java/javax/net/ssl/SSLEngine.java1188
-rw-r--r--ojluni/src/main/java/javax/net/ssl/SSLSocket.java978
-rw-r--r--tools/docs/crypto/crypto_docs.py8
-rw-r--r--tools/docs/crypto/data/crypto_support.json1496
-rwxr-xr-xtools/docs/crypto/format_supported_algorithm_table.py44
-rwxr-xr-xtools/docs/crypto/run_update_crypto_support.sh2
-rw-r--r--tools/docs/crypto/src/java/libcore/java/security/ListProviders.java37
-rwxr-xr-xtools/docs/crypto/update_crypto_support.py23
8 files changed, 2678 insertions, 1098 deletions
diff --git a/ojluni/src/main/java/javax/net/ssl/SSLEngine.java b/ojluni/src/main/java/javax/net/ssl/SSLEngine.java
index 26dc64c0df..aa15ccc3f2 100644
--- a/ojluni/src/main/java/javax/net/ssl/SSLEngine.java
+++ b/ojluni/src/main/java/javax/net/ssl/SSLEngine.java
@@ -404,600 +404,600 @@ import java.nio.ReadOnlyBufferException;
*
* <h4>Cipher suites</h4>
* <table>
- * <thead>
- * <tr>
- * <th>Cipher suite</th>
- * <th>Supported (API Levels)</th>
- * <th>Enabled by default (API Levels)</th>
- * </tr>
- * </thead>
- * <tbody>
- * <tr class="deprecated">
- * <td>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_DSS_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_RSA_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_WITH_RC4_128_MD5</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_EXPORT_WITH_RC4_40_MD5</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr>
- * <td>SSL_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9+</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_NULL_MD5</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_NULL_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_RC4_128_MD5</td>
- * <td>9&ndash;TBD</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_RC4_128_SHA</td>
- * <td>9&ndash;TBD</td>
- * <td>9&ndash;23</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;22</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>20&ndash;22</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_DES_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>9&ndash;TBD</td>
- * <td>9&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;TBD</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;TBD</td>
- * <td>20&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>9&ndash;TBD</td>
- * <td>20&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</td>
- * <td>20&ndash;TBD</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;TBD</td>
- * <td>20&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_DES_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_DSS_WITH_DES_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_RSA_WITH_DES_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_3DES_EDE_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_DES_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256</td>
- * <td>24+</td>
- * <td>24+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_ECDSA_WITH_NULL_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_ECDSA_WITH_RC4_128_SHA</td>
- * <td>20&ndash;TBD</td>
- * <td>20&ndash;23</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256</td>
- * <td>24+</td>
- * <td>24+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</td>
- * <td>24+</td>
- * <td>24+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_RSA_WITH_NULL_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_RSA_WITH_RC4_128_SHA</td>
- * <td>20&ndash;TBD</td>
- * <td>20&ndash;23</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_NULL_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_RC4_128_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_NULL_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_RC4_128_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_AES_128_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_AES_256_CBC_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_NULL_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_RC4_128_SHA</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_EMPTY_RENEGOTIATION_INFO_SCSV</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_FALLBACK_SCSV</td>
- * <td>21+</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_NULL_WITH_NULL_NULL</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_PSK_WITH_3DES_EDE_CBC_SHA</td>
- * <td>21&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_PSK_WITH_AES_128_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr>
- * <td>TLS_PSK_WITH_AES_256_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_PSK_WITH_RC4_128_SHA</td>
- * <td>21&ndash;TBD</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>9+</td>
- * <td>9+</td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>9+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_256_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_RSA_WITH_DES_CBC_SHA</td>
- * <td>1&ndash;8</td>
- * <td>1&ndash;8</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_RSA_WITH_NULL_MD5</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_RSA_WITH_NULL_SHA</td>
- * <td>1&ndash;8</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_RSA_WITH_NULL_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * </tbody>
+ * <thead>
+ * <tr>
+ * <th>Cipher suite</th>
+ * <th>Supported (API Levels)</th>
+ * <th>Enabled by default (API Levels)</th>
+ * </tr>
+ * </thead>
+ * <tbody>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_DSS_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_RSA_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_WITH_RC4_128_MD5</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_EXPORT_WITH_RC4_40_MD5</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr>
+ * <td>SSL_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9+</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_NULL_MD5</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_NULL_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_RC4_128_MD5</td>
+ * <td>9-25</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_RC4_128_SHA</td>
+ * <td>9-25</td>
+ * <td>9-23</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-22</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>20-22</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_DES_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>9-25</td>
+ * <td>9-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-25</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-25</td>
+ * <td>20-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>9-25</td>
+ * <td>20-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</td>
+ * <td>20-25</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-25</td>
+ * <td>20-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_DES_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_DSS_WITH_DES_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_RSA_WITH_DES_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_DES_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256</td>
+ * <td>24+</td>
+ * <td>24+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_ECDSA_WITH_NULL_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_ECDSA_WITH_RC4_128_SHA</td>
+ * <td>20-25</td>
+ * <td>20-23</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256</td>
+ * <td>24+</td>
+ * <td>24+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</td>
+ * <td>24+</td>
+ * <td>24+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_RSA_WITH_NULL_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_RSA_WITH_RC4_128_SHA</td>
+ * <td>20-25</td>
+ * <td>20-23</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_NULL_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_RC4_128_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_NULL_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_RC4_128_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_AES_128_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_AES_256_CBC_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_NULL_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_RC4_128_SHA</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_EMPTY_RENEGOTIATION_INFO_SCSV</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_FALLBACK_SCSV</td>
+ * <td>21+</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_NULL_WITH_NULL_NULL</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_PSK_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>21-22</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_PSK_WITH_AES_128_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_PSK_WITH_AES_256_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_PSK_WITH_RC4_128_SHA</td>
+ * <td>21-25</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>9+</td>
+ * <td>9+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>9+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_256_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_RSA_WITH_DES_CBC_SHA</td>
+ * <td>1-8</td>
+ * <td>1-8</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_RSA_WITH_NULL_MD5</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_RSA_WITH_NULL_SHA</td>
+ * <td>1-8</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_RSA_WITH_NULL_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * </tbody>
* </table>
*
* <p><em>NOTE</em>: PSK cipher suites are enabled by default only if the {@code SSLContext} through
diff --git a/ojluni/src/main/java/javax/net/ssl/SSLSocket.java b/ojluni/src/main/java/javax/net/ssl/SSLSocket.java
index f2037b4ab1..875ae3461a 100644
--- a/ojluni/src/main/java/javax/net/ssl/SSLSocket.java
+++ b/ojluni/src/main/java/javax/net/ssl/SSLSocket.java
@@ -218,495 +218,495 @@ import java.net.*;
* below. Prior to API Level 9, non-standard (OpenSSL) names had been used (see
* the table following this table).
* <table>
- * <thead>
- * <tr>
- * <th>Cipher suite</th>
- * <th>Supported (API Levels)</th>
- * <th>Enabled by default (API Levels)</th>
- * </tr>
- * </thead>
- * <tbody>
- * <tr class="deprecated">
- * <td>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_DSS_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DHE_RSA_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_DH_anon_WITH_RC4_128_MD5</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_EXPORT_WITH_RC4_40_MD5</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr>
- * <td>SSL_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>9+</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_DES_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_NULL_MD5</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_NULL_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_RC4_128_MD5</td>
- * <td>9&ndash;TBD</td>
- * <td>9&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>SSL_RSA_WITH_RC4_128_SHA</td>
- * <td>9&ndash;TBD</td>
- * <td>9&ndash;23</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>9&ndash;22</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td>11&ndash;22</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_DSS_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>9&ndash;TBD</td>
- * <td>9&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;TBD</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;TBD</td>
- * <td>20&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>9&ndash;TBD</td>
- * <td>11&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</td>
- * <td>20&ndash;TBD</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;TBD</td>
- * <td>20&ndash;TBD</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA</td>
- * <td>9&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_DH_anon_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</td>
- * <td>11+</td>
- * <td>11+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</td>
- * <td>11+</td>
- * <td>11+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256</td>
- * <td>24+</td>
- * <td>24+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_ECDSA_WITH_NULL_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_ECDSA_WITH_RC4_128_SHA</td>
- * <td>11&ndash;TBD</td>
- * <td>11&ndash;23</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256</td>
- * <td>24+</td>
- * <td>24+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>11+</td>
- * <td>11+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>11+</td>
- * <td>11+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_RSA_WITH_NULL_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDHE_RSA_WITH_RC4_128_SHA</td>
- * <td>11&ndash;TBD</td>
- * <td>11&ndash;23</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_NULL_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_ECDSA_WITH_RC4_128_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_NULL_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_RSA_WITH_RC4_128_SHA</td>
- * <td>11&ndash;22</td>
- * <td>11&ndash;19</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_AES_128_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_AES_256_CBC_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_NULL_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_ECDH_anon_WITH_RC4_128_SHA</td>
- * <td>11&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_EMPTY_RENEGOTIATION_INFO_SCSV</td>
- * <td>11+</td>
- * <td>11+</td>
- * </tr>
- * <tr>
- * <td>TLS_FALLBACK_SCSV</td>
- * <td>21+</td>
- * <td></td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_PSK_WITH_3DES_EDE_CBC_SHA</td>
- * <td>21&ndash;22</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_PSK_WITH_AES_128_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr>
- * <td>TLS_PSK_WITH_AES_256_CBC_SHA</td>
- * <td>21+</td>
- * <td>21+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_PSK_WITH_RC4_128_SHA</td>
- * <td>21&ndash;TBD</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_128_CBC_SHA</td>
- * <td>9+</td>
- * <td>9+</td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_128_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_128_GCM_SHA256</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_256_CBC_SHA</td>
- * <td>9+</td>
- * <td>11+</td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_256_CBC_SHA256</td>
- * <td>20+</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>TLS_RSA_WITH_AES_256_GCM_SHA384</td>
- * <td>20+</td>
- * <td>20+</td>
- * </tr>
- * <tr>
- * <td>TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</td>
- * <td>24+</td>
- * <td>24+</td>
- * </tr>
- * <tr class="deprecated">
- * <td>TLS_RSA_WITH_NULL_SHA256</td>
- * <td>20&ndash;22</td>
- * <td></td>
- * </tr>
- * </tbody>
+ * <thead>
+ * <tr>
+ * <th>Cipher suite</th>
+ * <th>Supported (API Levels)</th>
+ * <th>Enabled by default (API Levels)</th>
+ * </tr>
+ * </thead>
+ * <tbody>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_DSS_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DHE_RSA_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_DH_anon_WITH_RC4_128_MD5</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_EXPORT_WITH_RC4_40_MD5</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr>
+ * <td>SSL_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>9+</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_DES_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_NULL_MD5</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_NULL_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_RC4_128_MD5</td>
+ * <td>9-25</td>
+ * <td>9-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>SSL_RSA_WITH_RC4_128_SHA</td>
+ * <td>9-25</td>
+ * <td>9-23</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>9-22</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td>11-22</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_256_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_DSS_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>9-25</td>
+ * <td>9-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-25</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-25</td>
+ * <td>20-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>9-25</td>
+ * <td>11-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</td>
+ * <td>20-25</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-25</td>
+ * <td>20-25</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA</td>
+ * <td>9-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_256_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_DH_anon_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</td>
+ * <td>11+</td>
+ * <td>11+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</td>
+ * <td>11+</td>
+ * <td>11+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256</td>
+ * <td>24+</td>
+ * <td>24+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_ECDSA_WITH_NULL_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_ECDSA_WITH_RC4_128_SHA</td>
+ * <td>11-25</td>
+ * <td>11-23</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256</td>
+ * <td>24+</td>
+ * <td>24+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>11+</td>
+ * <td>11+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>11+</td>
+ * <td>11+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</td>
+ * <td>24+</td>
+ * <td>24+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_RSA_WITH_NULL_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDHE_RSA_WITH_RC4_128_SHA</td>
+ * <td>11-25</td>
+ * <td>11-23</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_NULL_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_ECDSA_WITH_RC4_128_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_NULL_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_RSA_WITH_RC4_128_SHA</td>
+ * <td>11-22</td>
+ * <td>11-19</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_AES_128_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_AES_256_CBC_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_NULL_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_ECDH_anon_WITH_RC4_128_SHA</td>
+ * <td>11-22</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_EMPTY_RENEGOTIATION_INFO_SCSV</td>
+ * <td>11+</td>
+ * <td>11+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_FALLBACK_SCSV</td>
+ * <td>21+</td>
+ * <td></td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_PSK_WITH_3DES_EDE_CBC_SHA</td>
+ * <td>21-22</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_PSK_WITH_AES_128_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_PSK_WITH_AES_256_CBC_SHA</td>
+ * <td>21+</td>
+ * <td>21+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_PSK_WITH_RC4_128_SHA</td>
+ * <td>21-25</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_128_CBC_SHA</td>
+ * <td>9+</td>
+ * <td>9+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_128_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_128_GCM_SHA256</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_256_CBC_SHA</td>
+ * <td>9+</td>
+ * <td>11+</td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_256_CBC_SHA256</td>
+ * <td>20+</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>TLS_RSA_WITH_AES_256_GCM_SHA384</td>
+ * <td>20+</td>
+ * <td>20+</td>
+ * </tr>
+ * <tr class="deprecated">
+ * <td>TLS_RSA_WITH_NULL_SHA256</td>
+ * <td>20-22</td>
+ * <td></td>
+ * </tr>
+ * </tbody>
* </table>
*
* <p><em>NOTE</em>: PSK cipher suites are enabled by default only if the {@code SSLContext} through
diff --git a/tools/docs/crypto/crypto_docs.py b/tools/docs/crypto/crypto_docs.py
index d1f220dc87..482e38e9d4 100644
--- a/tools/docs/crypto/crypto_docs.py
+++ b/tools/docs/crypto/crypto_docs.py
@@ -29,3 +29,11 @@ def load_json(filename):
data = json.loads(stripped_contents)
f.close()
return data
+
+
+def find_by_name(seq, name):
+ """Returns the first element in seq with the given name."""
+ for item in seq:
+ if item['name'] == name:
+ return item
+ return None
diff --git a/tools/docs/crypto/data/crypto_support.json b/tools/docs/crypto/data/crypto_support.json
index 38834d9bdc..124a457674 100644
--- a/tools/docs/crypto/data/crypto_support.json
+++ b/tools/docs/crypto/data/crypto_support.json
@@ -887,6 +887,1500 @@
{
"algorithms": [
{
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_RC4_40_MD5",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_MD5",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "9-23"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "20-23"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "20-23"
+ },
+ {
+ "name": "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
+ "supported_api_levels": "20+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": ""
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ }
+ ],
+ "name": "SSLEngine.Enabled"
+ },
+ {
+ "algorithms": [
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_WITH_RC4_128_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_RC4_40_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "name": "SSL_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_NULL_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_NULL_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_MD5",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_DSS_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_NULL_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_NULL_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_NULL_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_NULL_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_RC4_128_SHA",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "name": "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_FALLBACK_SCSV",
+ "supported_api_levels": "21+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_NULL_WITH_NULL_NULL",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "21-22"
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_PSK_WITH_RC4_128_SHA",
+ "supported_api_levels": "21-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_NULL_MD5",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_NULL_SHA",
+ "supported_api_levels": "1-8"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_NULL_SHA256",
+ "supported_api_levels": "20-22"
+ }
+ ],
+ "name": "SSLEngine.Supported"
+ },
+ {
+ "algorithms": [
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_RC4_40_MD5",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_MD5",
+ "supported_api_levels": "9-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "9-23"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-23"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-23"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-19"
+ },
+ {
+ "name": "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
+ "supported_api_levels": "11+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": ""
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ }
+ ],
+ "name": "SSLSocket.Enabled"
+ },
+ {
+ "algorithms": [
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_DSS_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DHE_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_DH_anon_WITH_RC4_128_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_EXPORT_WITH_RC4_40_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "name": "SSL_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_DES_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_NULL_MD5",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_NULL_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_MD5",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "SSL_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_DH_anon_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-25"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
+ "supported_api_levels": "24+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_NULL_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-25"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_NULL_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_NULL_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_RSA_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_NULL_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_ECDH_anon_WITH_RC4_128_SHA",
+ "supported_api_levels": "11-22"
+ },
+ {
+ "name": "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
+ "supported_api_levels": "11+"
+ },
+ {
+ "name": "TLS_FALLBACK_SCSV",
+ "supported_api_levels": "21+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
+ "supported_api_levels": "21-22"
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "name": "TLS_PSK_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "21+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_PSK_WITH_RC4_128_SHA",
+ "supported_api_levels": "21-25"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_128_GCM_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_CBC_SHA",
+ "supported_api_levels": "9+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_CBC_SHA256",
+ "supported_api_levels": "20+"
+ },
+ {
+ "name": "TLS_RSA_WITH_AES_256_GCM_SHA384",
+ "supported_api_levels": "20+"
+ },
+ {
+ "deprecated": "true",
+ "name": "TLS_RSA_WITH_NULL_SHA256",
+ "supported_api_levels": "20-22"
+ }
+ ],
+ "name": "SSLSocket.Supported"
+ },
+ {
+ "algorithms": [
+ {
"name": "AES",
"supported_api_levels": "23+"
},
@@ -1227,5 +2721,5 @@
"name": "TrustManagerFactory"
}
],
- "last_updated": "2017-03-21 16:04:30 UTC"
+ "last_updated": "2017-05-05 07:40:17 UTC"
} \ No newline at end of file
diff --git a/tools/docs/crypto/format_supported_algorithm_table.py b/tools/docs/crypto/format_supported_algorithm_table.py
index 3b23066382..5a6dd155fe 100755
--- a/tools/docs/crypto/format_supported_algorithm_table.py
+++ b/tools/docs/crypto/format_supported_algorithm_table.py
@@ -26,6 +26,9 @@ import operator
import crypto_docs
+find_by_name = crypto_docs.find_by_name
+
+
def sort_by_name(seq):
return sorted(seq, key=lambda x: x['name'])
@@ -46,10 +49,14 @@ def main():
output.append('')
output.append('<ul>')
for category in categories:
- output.append(' <li><a href="#Supported{name}">'
- '<code>{name}</code></a></li>'.format(**category))
+ if not category['name'].endswith('.Enabled'):
+ output.append(' <li><a href="#Supported{name}">'
+ '<code>{name}</code></a></li>'.format(**category))
output.append('</ul>')
for category in categories:
+ if category['name'].endswith('.Enabled'):
+ # These are handled in the "Supported" section below
+ continue
if category['name'] == 'Cipher':
# We display ciphers in a four-column table to conserve space and
# so that it's more comprehensible. To do this, we have to
@@ -155,6 +162,39 @@ def main():
i += 1
output.append(' </tbody>')
output.append('</table>')
+ elif category['name'].endswith('.Supported'):
+ # Some categories come with a "Supported" and "Enabled" list, and we
+ # group those together in one table for display. Every entry that's enabled
+ # must be supported, so we can just look up the enabled version for each
+ # supported item
+ basename = category['name'][:-len('.Supported')]
+ supported = sort_by_name(category['algorithms'])
+ enabled = sort_by_name(find_by_name(categories, basename + '.Enabled')['algorithms'])
+ output.append('<h3 id="Supported{0}">{0}</h3>'.format(basename))
+ output.append('<table>')
+ output.append(' <thead>')
+ output.append(' <tr>')
+ output.append(' <th>Algorithm</th>')
+ output.append(' <th>Supported API Levels</th>')
+ output.append(' <th>Enabled By Default</th>')
+ output.append(' </tr>')
+ output.append(' </thead>')
+ output.append(' <tbody>')
+ for algorithm in supported:
+ if 'deprecated' in algorithm and algorithm['deprecated']:
+ output.append(' <tr class="deprecated">')
+ else:
+ output.append(' <tr>')
+ output.append(' <td>{name}</td>'.format(**algorithm))
+ output.append(' <td>{supported_api_levels}</td>'.format(**algorithm))
+ enabled_alg = find_by_name(enabled, algorithm['name'])
+ if enabled_alg is None:
+ output.append(' <td></td>')
+ else:
+ output.append(' <td>{supported_api_levels}</td>'.format(**enabled_alg))
+ output.append(' </tr>')
+ output.append(' </tbody>')
+ output.append('</table>')
else:
output.append('<h3 id="Supported{name}">{name}</h3>'.format(**category))
output.append('<table>')
diff --git a/tools/docs/crypto/run_update_crypto_support.sh b/tools/docs/crypto/run_update_crypto_support.sh
index 5908fcc79d..501891c874 100755
--- a/tools/docs/crypto/run_update_crypto_support.sh
+++ b/tools/docs/crypto/run_update_crypto_support.sh
@@ -13,5 +13,5 @@ if [ -z "$1" ]; then
exit 1
fi
-make -j48 vogar
+make -j48 vogar dx
vogar --mode=activity --toolchain=jdk --multidex=false libcore/tools/docs/crypto/src/java/libcore/java/security/ListProviders.java | libcore/tools/docs/crypto/update_crypto_support.py --api_level=$1 --rewrite_file libcore/tools/docs/crypto/data/crypto_support.json
diff --git a/tools/docs/crypto/src/java/libcore/java/security/ListProviders.java b/tools/docs/crypto/src/java/libcore/java/security/ListProviders.java
index 1cd8646763..ab25382df6 100644
--- a/tools/docs/crypto/src/java/libcore/java/security/ListProviders.java
+++ b/tools/docs/crypto/src/java/libcore/java/security/ListProviders.java
@@ -16,18 +16,22 @@
package libcore.java.security;
+import android.net.PskKeyManager;
+
import java.security.NoSuchAlgorithmException;
import java.security.Provider;
import java.security.Security;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
-import java.util.HashSet;
-import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
+import javax.net.ssl.KeyManager;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLEngine;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
/**
* Prints a list of all algorithms provided by security providers. Intended to be run
@@ -81,7 +85,7 @@ public class ListProviders {
System.out.println((SHOW_PROVIDER ? p.getName() + ": " : "") + type + " " + algorithm);
}
- public static void main(String[] argv) {
+ public static void main(String[] argv) throws Exception {
System.out.println("BEGIN ALGORITHM LIST");
for (Provider p : Security.getProviders()) {
Set<Provider.Service> services = new TreeSet<Provider.Service>(
@@ -126,6 +130,31 @@ public class ListProviders {
}
}
}
+ // SSLEngine and SSLSocket algorithms are handled outside the default provider system
+ SSLContext defaultContext = SSLContext.getDefault();
+ // PSK cipher suites are only enabled when a PskKeyManager is available, but some other
+ // suites are disabled in that case, so check for both
+ SSLContext pskContext = SSLContext.getInstance("TLS");
+ pskContext.init(
+ new KeyManager[] {new PskKeyManager(){}},
+ new TrustManager[0],
+ null);
+ for (SSLContext sslContext : new SSLContext[] {defaultContext, pskContext}) {
+ SSLEngine engine = sslContext.createSSLEngine();
+ for (String suite : engine.getSupportedCipherSuites()) {
+ print(sslContext.getProvider(), "SSLEngine.Supported", suite);
+ }
+ for (String suite : engine.getEnabledCipherSuites()) {
+ print(sslContext.getProvider(), "SSLEngine.Enabled", suite);
+ }
+ SSLSocketFactory socketFactory = sslContext.getSocketFactory();
+ for (String suite : socketFactory.getSupportedCipherSuites()) {
+ print(sslContext.getProvider(), "SSLSocket.Supported", suite);
+ }
+ for (String suite : socketFactory.getDefaultCipherSuites()) {
+ print(sslContext.getProvider(), "SSLSocket.Enabled", suite);
+ }
+ }
System.out.println("END ALGORITHM LIST");
}
} \ No newline at end of file
diff --git a/tools/docs/crypto/update_crypto_support.py b/tools/docs/crypto/update_crypto_support.py
index 207e0f4354..3138d7d4b5 100755
--- a/tools/docs/crypto/update_crypto_support.py
+++ b/tools/docs/crypto/update_crypto_support.py
@@ -51,16 +51,24 @@ SUPPORTED_CATEGORIES = [
'SecureRandom',
'Signature',
'SSLContext',
+ 'SSLEngine.Enabled',
+ 'SSLEngine.Supported',
+ 'SSLSocket.Enabled',
+ 'SSLSocket.Supported',
'TrustManagerFactory',
]
+# For these categories, we really want to maintain the casing that was in the
+# original data, so avoid changing it.
+CASE_SENSITIVE_CATEGORIES = [
+ 'SSLEngine.Enabled',
+ 'SSLEngine.Supported',
+ 'SSLSocket.Enabled',
+ 'SSLSocket.Supported',
+]
-def find_by_name(seq, name):
- """Returns the first element in seq with the given name."""
- for item in seq:
- if item['name'] == name:
- return item
- return None
+
+find_by_name = crypto_docs.find_by_name
def find_by_normalized_name(seq, name):
@@ -193,7 +201,8 @@ def update_data(prev_data, current_data, name_dict, api_level, date):
new_algorithm = {'name': prev_alg['name']}
else:
new_algorithm = {'name': alg}
- new_algorithm['name'] = fix_name_caps_for_output(new_algorithm['name'])
+ if category not in CASE_SENSITIVE_CATEGORIES:
+ new_algorithm['name'] = fix_name_caps_for_output(new_algorithm['name'])
new_level = None
if alg in current_category and alg in prev_algorithms:
# Both old and new have it, just ensure the API level is right