--- /dev/null
+'android-sniff-cipherlist.pl' is a tool to fire up all available
+android versions in an emulator and trigger a HTTPS request; the
+resulting PCAP files are then saved and can be analysed for the client
+cipherlist.
--- /dev/null
+#!/usr/bin/perl -w
+use strict;
+use autodie qw(:all);
+use File::Temp qw(tempdir);
+
+##############################################################################
+#
+# take care -- this thing is fragile. That is, the emulator environment is
+# fragile.
+#
+# run all available versions of android in the emulator, open an HTTPS
+# URL in the system browser, and sniff the browser's cipher list
+#
+# make sure no other android devices/emulators are connected while running
+# this script!
+#
+# since the "android" command cannot reliably generate AVDs, you need to
+# generate those AVDs yourself, and name them "asc<apilevel>", e.g. "asc13".
+#
+#
+# prerequisites:
+# - an android SDK/emulator setup on a linux machine, with "android",
+# "adb" and "emulator" in the $PATH
+# - all the system images for the versions you want to run
+# - sniff-client-ciphers from ../sniff-client-ciphers
+#
+# cm@coretec.at 20131116
+#
+##############################################################################
+
+my $usage = "usage: $0 pcap-output-dir apilevel\n";
+
+my $outputdir = shift || die $usage;
+my $apilevel = shift || die $usage;
+
+# versions indexed by API level
+# source: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
+my %androidversion = ( 2 => '1.1',
+ 3 => '1.5',
+ 4 => '1.6',
+ 5 => '2.0',
+ 6 => '2.0.1',
+ 7 => '2.1',
+ 8 => '2.2',
+ 9 => '2.3-2.3.2',
+ 10 => '2.3.3-2.3.7',
+ 11 => '3.0',
+ 12 => '3.1',
+ 13 => '3.2',
+ 14 => '4.0-4.0.2',
+ 15 => '4.0.3-4.0.4',
+ 16 => '4.1',
+ 17 => '4.2',
+ 18 => '4.3',
+ 19 => '4.4',
+ );
+
+my $tmpdir = tempdir(CLEANUP => 1);
+print "Base dir: $tmpdir\n";
+
+run_one_apilevel($apilevel);
+
+sub run_one_apilevel {
+ my $apilevel = shift;
+
+# my $n = create_avd($apilevel);
+ my($pid, $pcap) = start_avd($apilevel);
+ # wait until the emulator has truly booted...
+ print "waiting for boot to complete...\n";
+ sleep(60);
+ print "starting browser...\n";
+ send_intent("-a android.intent.action.VIEW -d https://git.bettercrypto.org");
+ sleep(30);
+ stop_avd($pid);
+# delete_avd($apilevel);
+ print "pcap file for API $apilevel is $pcap\n";
+ system("../sniff-client-ciphers/sniff-client-ciphers.pl 'tcp.port==443' $pcap 'Android $androidversion{$apilevel}' > $outputdir/Android_$androidversion{$apilevel}.txt");
+}
+
+# send an intent via "am start" command in the emulator.
+# parameter is a string to be given as arguments to "am start"
+# returns 1 when OK, undef on error
+sub send_intent {
+ my($intent) = shift;
+
+ my $count = 60;
+ while($count--) {
+ my @result = `adb shell am start $intent`;
+ if(grep /^Error/, @result) {
+ print "ERROR\n";
+ } else {
+ return 1;
+ }
+ sleep(1);
+ }
+ return undef;
+}
+
+# fork a child and run the emulator
+# return the ($emulator_pid, $pcap_filename)
+sub start_avd {
+ my($apilevel) = shift;
+
+ my $name = "asc$apilevel";
+ my $pcapfile = "$outputdir/$name.pcap";
+ my($pid) = fork();
+ if(!defined $pid) {
+ die "start_avd: can't fork: $!\n";
+ } elsif($pid) {
+ # wait for emulator to be ready...
+ print "emulator $name started, waiting for readyness...\n";
+ system(qw(adb wait-for-device));
+ return ($pid, $pcapfile);
+ } else {
+ exec(qw(emulator -avd), $name, qw(-no-boot-anim -tcpdump),
+ $pcapfile);
+ }
+}
+
+sub stop_avd {
+ my $pid = shift;
+ kill("TERM", $pid);
+ print "waiting for $pid to terminate...\n";
+ waitpid($pid, 0);
+}
+
+
+
+#adb shell am start -a android.intent.action.VIEW -d https://www.ssllabs.com/ssltest/viewMyClient.html
+# tshark -r /tmp/tls -d tcp.port==4433,ssl -O ssl
+
+
+
+sub create_avd {
+ my($apilevel) = shift;
+ my $name = "asc$apilevel";
+ delete_avd($apilevel);
+ # "echo" is required because the command asks a question...
+ system("echo | android -s create avd --name $name --target $apilevel --path $tmpdir/$name");
+ print "created avd $name\n";
+ $name;
+}
+
+sub delete_avd {
+ my($apilevel) = shift;
+ my $name = "asc$apilevel";
+ ## ignore errors
+ eval {
+ system(qw(android -s delete avd --name), $name);
+ }
+}
+
+
--- /dev/null
+'sniff-client-ciphers' is a tool that takes a PCAP file and spits out
+the client ciphers if a SSL negotiation is in there.
--- /dev/null
+#!/usr/bin/perl -w
+use strict;
+use autodie;
+use Data::Dumper;
+
+##############################################################################
+#
+# a tool that takes a PCAP file and spits out
+# the client ciphers of the first SSL negotiation in there.
+#
+# prerequisites: tshark (from the wireshark package) must be in the $PATH
+#
+# tested with tshark v1.8.2
+#
+##############################################################################
+
+my $usage = "usage: $0 'wireshark filter expression' filename [software]\n";
+
+my $filter = shift || die $usage;
+my $filename = shift || die $usage;
+my $software = shift || "";
+
+my @output = `tshark -r "$filename" -d tcp.port==1-65535,ssl -O ssl -R "$filter"`;
+
+my $state = 'init';
+my %d = ();
+for (@output) {
+ chomp;
+
+ if($state eq 'init') {
+ if(/^\s+SSL Record Layer: Handshake Protocol: Client Hello/) {
+ $state = 'parse';
+ next;
+ }
+ }
+ if($state eq 'parse') {
+ if(/^\w/) {
+ $state = 'init';
+ dump_info();
+ %d = ();
+ last;
+ }
+
+ if(/^\s*Version: (.*)$/) {
+ $d{Version} = $1;
+ } elsif(/^\s*Cipher Suite:\s+(.*)$/) {
+ push(@{$d{Cipher_Suites}}, $1);
+ } elsif(/^\s*Compression Method:\s+(.*)$/) {
+ push(@{$d{Compression_Methods}}, $1);
+ } elsif(/^\s*Extension: server_name/) {
+ push(@{$d{Extensions}}, 'SNI');
+ } elsif(/^\s*Elliptic curve:\s+(.*)$/) {
+ push(@{$d{Elliptic_Curves}}, $1);
+ } elsif(/^\s*Extension: SessionTicket TLS/) {
+ push(@{$d{Extensions}}, 'SessionTicket');
+ } elsif(/^\s*Extension: next_protocol_negotiation/) {
+ push(@{$d{Extensions}}, 'NextProtocolNegotiation');
+ }
+ }
+}
+
+sub dump_info {
+ print "Client Software: $software\n\n";
+ print "TLS Version: $d{Version}\n\n";
+ print "Cipher Suites:\n";
+ for my $cs (@{$d{Cipher_Suites}}) {
+ printf " %s\n", $cs;
+ }
+ print "\n";
+
+ print "Compression Methods:\n";
+ for my $co (@{$d{Compression_Methods}}) {
+ printf " %s\n", $co;
+ }
+ print "\n";
+
+ if(exists $d{Elliptic_Curves}) {
+ print "Elliptic Curves:\n";
+ for my $ec (@{$d{Elliptic_Curves}}) {
+ printf " %s\n", $ec;
+ }
+ print "\n";
+ }
+
+ print "Extensions:\n";
+ for my $ex (@{$d{Extensions}}) {
+ printf " %s\n", $ex;
+ }
+ print "\n";
+}
--- /dev/null
+Client Software: Android 2.3.3-2.3.4
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: CyanogenMod 7.2.0.1
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ DEFLATE (1)
+ null (0)
+
+Extensions:
+ SNI
+ SessionTicket
+
--- /dev/null
+Client Software: Android 1.5
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 1.6
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 2.0.1
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 2.0
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 2.1
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 2.2
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 2.3-2.3.2
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 3.0
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Elliptic Curves:
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ sect239k1 (0x0008)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ sect571k1 (0x000d)
+ sect571r1 (0x000e)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ secp384r1 (0x0018)
+ secp521r1 (0x0019)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 3.1
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Elliptic Curves:
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ sect239k1 (0x0008)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ sect571k1 (0x000d)
+ sect571r1 (0x000e)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ secp384r1 (0x0018)
+ secp521r1 (0x0019)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 3.2
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_DES_CBC_SHA (0x0009)
+ TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)
+ TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Elliptic Curves:
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ sect239k1 (0x0008)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ sect571k1 (0x000d)
+ sect571r1 (0x000e)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ secp384r1 (0x0018)
+ secp521r1 (0x0019)
+
+Extensions:
+
--- /dev/null
+Client Software: Android 4.0-4.0.2
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ DEFLATE (1)
+ null (0)
+
+Elliptic Curves:
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ sect239k1 (0x0008)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ sect571k1 (0x000d)
+ sect571r1 (0x000e)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ secp384r1 (0x0018)
+ secp521r1 (0x0019)
+
+Extensions:
+ SNI
+ SessionTicket
+ NextProtocolNegotiation
+
--- /dev/null
+Client Software: Android 4.0.3-4.0.4
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ DEFLATE (1)
+ null (0)
+
+Elliptic Curves:
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ sect239k1 (0x0008)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ sect571k1 (0x000d)
+ sect571r1 (0x000e)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ secp384r1 (0x0018)
+ secp521r1 (0x0019)
+
+Extensions:
+ SNI
+ SessionTicket
+ NextProtocolNegotiation
+
--- /dev/null
+Client Software: Android 4.1
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA (0xc022)
+ TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA (0xc021)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA (0xc01c)
+ TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA (0xc01b)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA (0xc01f)
+ TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA (0xc01e)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ DEFLATE (1)
+ null (0)
+
+Elliptic Curves:
+ sect571r1 (0x000e)
+ sect571k1 (0x000d)
+ secp521r1 (0x0019)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ secp384r1 (0x0018)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ sect239k1 (0x0008)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+
+Extensions:
+ SNI
+ SessionTicket
+ NextProtocolNegotiation
+
--- /dev/null
+Client Software: Android 4.2
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA (0xc022)
+ TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA (0xc021)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA (0xc01c)
+ TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA (0xc01b)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA (0xc01f)
+ TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA (0xc01e)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Elliptic Curves:
+ sect571r1 (0x000e)
+ sect571k1 (0x000d)
+ secp521r1 (0x0019)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ secp384r1 (0x0018)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ sect239k1 (0x0008)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+
+Extensions:
+ SNI
+ SessionTicket
+ NextProtocolNegotiation
+
--- /dev/null
+Client Software: Android 4.3
+
+TLS Version: TLS 1.0 (0x0301)
+
+Cipher Suites:
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA (0xc022)
+ TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA (0xc021)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA (0xc01c)
+ TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA (0xc01b)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA (0xc01f)
+ TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA (0xc01e)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Elliptic Curves:
+ sect571r1 (0x000e)
+ sect571k1 (0x000d)
+ secp521r1 (0x0019)
+ sect409k1 (0x000b)
+ sect409r1 (0x000c)
+ secp384r1 (0x0018)
+ sect283k1 (0x0009)
+ sect283r1 (0x000a)
+ secp256k1 (0x0016)
+ secp256r1 (0x0017)
+ sect239k1 (0x0008)
+ sect233k1 (0x0006)
+ sect233r1 (0x0007)
+ secp224k1 (0x0014)
+ secp224r1 (0x0015)
+ sect193r1 (0x0004)
+ sect193r2 (0x0005)
+ secp192k1 (0x0012)
+ secp192r1 (0x0013)
+ sect163k1 (0x0001)
+ sect163r1 (0x0002)
+ sect163r2 (0x0003)
+ secp160k1 (0x000f)
+ secp160r1 (0x0010)
+ secp160r2 (0x0011)
+
+Extensions:
+ SNI
+ SessionTicket
+ NextProtocolNegotiation
+
--- /dev/null
+Client Software: Android 4.4
+
+TLS Version: TLS 1.2 (0x0303)
+
+Cipher Suites:
+ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
+ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
+ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (0x00a3)
+ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (0x006a)
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
+ TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
+ TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
+ TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
+ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
+ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
+ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (0x00a2)
+ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (0x0040)
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
+ TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
+ TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
+ TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
+ TLS_RSA_WITH_RC4_128_SHA (0x0005)
+ TLS_RSA_WITH_RC4_128_MD5 (0x0004)
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
+
+Compression Methods:
+ null (0)
+
+Elliptic Curves:
+ secp521r1 (0x0019)
+ secp384r1 (0x0018)
+ secp256r1 (0x0017)
+
+Extensions:
+ SNI
+ SessionTicket
+ NextProtocolNegotiation
+
--- /dev/null
+The "Android_*txt" files were generated with the default browser in
+Google's default emulator images from the SDK.
+
+Caveat: Nobody knows what various vendors have changed in the crypto
+libraries. E.g. Cyanogenmod 7.2.0.1 (based on Android 2.3.7) adds
+DEFLATE compression and the SNI and Session Ticket extensions, but
+keeps the cipher suites.
+
+Android Platform pervasiveness:
+
+http://developer.android.com/about/dashboards/index.html
+(November 1, 2013):
+
+4.1 - 37.3%
+2.3.3-2.3.7 - 26.3%
+4.0.3-4.0.4 - 19.8%
+4.2 - 12.5%