diff options
-rw-r--r-- | ojluni/src/main/java/javax/net/ssl/SSLEngine.java | 1188 | ||||
-rw-r--r-- | ojluni/src/main/java/javax/net/ssl/SSLSocket.java | 978 | ||||
-rw-r--r-- | tools/docs/crypto/crypto_docs.py | 8 | ||||
-rw-r--r-- | tools/docs/crypto/data/crypto_support.json | 1496 | ||||
-rwxr-xr-x | tools/docs/crypto/format_supported_algorithm_table.py | 44 | ||||
-rwxr-xr-x | tools/docs/crypto/run_update_crypto_support.sh | 2 | ||||
-rw-r--r-- | tools/docs/crypto/src/java/libcore/java/security/ListProviders.java | 37 | ||||
-rwxr-xr-x | tools/docs/crypto/update_crypto_support.py | 23 |
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–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–TBD</td> - * <td>9–19</td> - * </tr> - * <tr class="deprecated"> - * <td>SSL_RSA_WITH_RC4_128_SHA</td> - * <td>9–TBD</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–TBD</td> - * <td>9–TBD</td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</td> - * <td>20–TBD</td> - * <td></td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</td> - * <td>20–TBD</td> - * <td>20–TBD</td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</td> - * <td>9–TBD</td> - * <td>20–TBD</td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</td> - * <td>20–TBD</td> - * <td></td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</td> - * <td>20–TBD</td> - * <td>20–TBD</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–TBD</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–TBD</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–TBD</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> + * <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–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–TBD</td> - * <td>9–19</td> - * </tr> - * <tr class="deprecated"> - * <td>SSL_RSA_WITH_RC4_128_SHA</td> - * <td>9–TBD</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–TBD</td> - * <td>9–TBD</td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</td> - * <td>20–TBD</td> - * <td></td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</td> - * <td>20–TBD</td> - * <td>20–TBD</td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</td> - * <td>9–TBD</td> - * <td>11–TBD</td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</td> - * <td>20–TBD</td> - * <td></td> - * </tr> - * <tr class="deprecated"> - * <td>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</td> - * <td>20–TBD</td> - * <td>20–TBD</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–TBD</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 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–TBD</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–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–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 |