diff options
author | Adam Vartanian <flooey@google.com> | 2017-05-04 12:11:30 +0100 |
---|---|---|
committer | Adam Vartanian <flooey@google.com> | 2017-05-05 09:22:58 +0100 |
commit | 22051136d1344e34c05659420bc49372040bd75e (patch) | |
tree | 2990e0823f36668bfdd96c999691a497a6fcdeff /tools | |
parent | 23e6c0a6f0bf53ce45c034eaf8de5c2ec2b86bb3 (diff) |
Add SSLEngine and SSLSocket cipher suite docs to autodocs.
Bug: 35793879
Test: Executed, replaced tables in Javadoc
Change-Id: I9c0c857f2facc4b724b8c95b773c73f4060e18bd
Diffstat (limited to 'tools')
-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 |
6 files changed, 1595 insertions, 15 deletions
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 |