summaryrefslogtreecommitdiff
path: root/chromium/net/data
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
committerZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
commit679147eead574d186ebf3069647b4c23e8ccace6 (patch)
treefc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/net/data
downloadqtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz
Initial import.
Diffstat (limited to 'chromium/net/data')
-rw-r--r--chromium/net/data/cache_tests/bad_entry/contents.txt66
-rw-r--r--chromium/net/data/cache_tests/bad_entry/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_entry/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_entry/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_entry/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_entry/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings/contents.txt66
-rw-r--r--chromium/net/data/cache_tests/bad_rankings/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings2/contents.txt66
-rw-r--r--chromium/net/data/cache_tests/bad_rankings2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings2/indexbin0 -> 524656 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings3/contents.txt92
-rw-r--r--chromium/net/data/cache_tests/bad_rankings3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/bad_rankings3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry3/contents.txt183
-rw-r--r--chromium/net/data/cache_tests/dirty_entry3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry4/contents.txt183
-rw-r--r--chromium/net/data/cache_tests/dirty_entry4/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry4/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry4/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry4/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry4/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry5/contents.txt166
-rw-r--r--chromium/net/data/cache_tests/dirty_entry5/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry5/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry5/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry5/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/dirty_entry5/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty1/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty1/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty1/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty1/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty1/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_empty3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load1/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load1/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load1/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load1/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load1/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_load2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one1/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one1/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one1/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one1/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one1/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/insert_one3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop/contents.txt228
-rw-r--r--chromium/net/data/cache_tests/list_loop/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop2/contents.txt145
-rw-r--r--chromium/net/data/cache_tests/list_loop2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop3/contents.txt265
-rw-r--r--chromium/net/data/cache_tests/list_loop3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/list_loop3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head1/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head1/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head1/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head1/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head1/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head4/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head4/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head4/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head4/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_head4/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load1/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load1/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load1/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load1/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load1/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_load3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one1/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one1/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one1/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one1/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one1/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one4/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one4/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one4/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one4/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_one4/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail1/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail1/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail1/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail1/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail1/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail2/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail2/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail2/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail2/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail2/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail3/data_0bin0 -> 45056 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail3/data_1bin0 -> 270336 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail3/data_2bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail3/data_3bin0 -> 8192 bytes
-rw-r--r--chromium/net/data/cache_tests/remove_tail3/indexbin0 -> 262512 bytes
-rw-r--r--chromium/net/data/cache_tests/wrong_version/indexbin0 -> 262176 bytes
-rw-r--r--chromium/net/data/filter_unittests/google.txt19
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-16
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-1-utf86
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-1-utf8.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-1.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-1010
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-10.expected80
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-118
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-11.expected62
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-128
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-12.expected62
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-133
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-13.expected26
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-143
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-14.expected26
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-155
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-15.expected35
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-167
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-16.expected62
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-171
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-17.expected0
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-183
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-18.expected26
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-192
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-19.expected8
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-27
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-2.expected62
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-2018
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-20.expected161
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-2127
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-21.expected242
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-2232
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-22.expected287
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-232
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-23.expected0
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-242
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-24.expected8
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-256
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-25.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-266
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-26.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-276
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-27.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-285
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-28.expected44
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-299
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-29.expected62
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-37
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-3.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-302
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-30.expected8
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-3115
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-31.expected118
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-410
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-4.expected80
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-51
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-5.expected8
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-67
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-6.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-76
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-7.expected53
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-81
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-8.expected0
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-94
-rw-r--r--chromium/net/data/ftp/dir-listing-ls-9.expected26
-rw-r--r--chromium/net/data/ftp/dir-listing-netware-13
-rw-r--r--chromium/net/data/ftp/dir-listing-netware-1.expected17
-rw-r--r--chromium/net/data/ftp/dir-listing-netware-24
-rw-r--r--chromium/net/data/ftp/dir-listing-netware-2.expected26
-rw-r--r--chromium/net/data/ftp/dir-listing-netware-322
-rw-r--r--chromium/net/data/ftp/dir-listing-netware-3.expected188
-rw-r--r--chromium/net/data/ftp/dir-listing-os2-19
-rw-r--r--chromium/net/data/ftp/dir-listing-os2-1.expected80
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-119
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-1.expected98
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-235
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-2.expected260
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-33
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-3.expected0
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-415
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-4.expected71
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-512
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-5.expected35
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-613
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-6.expected35
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-74
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-7.expected0
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-837
-rw-r--r--chromium/net/data/ftp/dir-listing-vms-8.expected251
-rw-r--r--chromium/net/data/ftp/dir-listing-windows-12
-rw-r--r--chromium/net/data/ftp/dir-listing-windows-1.expected17
-rw-r--r--chromium/net/data/ftp/dir-listing-windows-216
-rw-r--r--chromium/net/data/ftp/dir-listing-windows-2.expected143
-rw-r--r--chromium/net/data/proxy_resolver_perftest/no-ads.pac1362
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/dns.js31
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/dns_during_init.js14
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/error.js8
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects1.js14
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects2.js18
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects3.js13
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects4.js15
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/simple.js3
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/simple_dns.js8
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/terminate.js20
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_alerts.js13
-rw-r--r--chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_empty_alerts.js13
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/binding_from_global.js8
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/bindings.js62
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/direct.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/dns_fail.js27
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/ends_with_comment.js8
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/ends_with_statement_no_semicolon.js3
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/international_domain_names.js16
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/missing_close_brace.js6
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/no_entrypoint.js2
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/pac_library_unittest.js366
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/passthrough.js45
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/resolve_host.js9
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/return_empty_string.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/return_function.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/return_integer.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/return_null.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/return_object.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/return_undefined.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/return_unicode.js4
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/side_effects.js10
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/simple.js21
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/terminate.js26
-rw-r--r--chromium/net/data/proxy_resolver_v8_unittest/unhandled_exception.js5
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/404.pac1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/404.pac.mock-http-headers2
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/500.pac1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/500.pac.mock-http-headers2
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac.mock-http-headers3
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac.mock-http-headers3
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/gzipped_pacbin0 -> 43 bytes
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/gzipped_pac.mock-http-headers3
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy.mock-http-headers2
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/pac.html1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/pac.html.mock-http-headers2
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy.mock-http-headers2
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/pac.txt1
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/pac.txt.mock-http-headers2
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/utf16be_pacbin0 -> 60 bytes
-rw-r--r--chromium/net/data/proxy_script_fetcher_unittest/utf16be_pac.mock-http-headers2
-rw-r--r--chromium/net/data/quic_in_memory_cache_data/quic-datatesturl.com/index.html14
-rw-r--r--chromium/net/data/ssl/certificates/1024-rsa-ee-by-1024-rsa-intermediate.pem50
-rw-r--r--chromium/net/data/ssl/certificates/1024-rsa-ee-by-2048-rsa-intermediate.pem59
-rw-r--r--chromium/net/data/ssl/certificates/1024-rsa-ee-by-768-rsa-intermediate.pem47
-rw-r--r--chromium/net/data/ssl/certificates/1024-rsa-ee-by-prime256v1-ecdsa-intermediate.pem44
-rw-r--r--chromium/net/data/ssl/certificates/1024-rsa-ee-by-secp256k1-ecdsa-intermediate.pem44
-rw-r--r--chromium/net/data/ssl/certificates/1024-rsa-intermediate.pem63
-rw-r--r--chromium/net/data/ssl/certificates/2029_globalsign_com_cert.pem31
-rw-r--r--chromium/net/data/ssl/certificates/2048-rsa-ee-by-1024-rsa-intermediate.pem61
-rw-r--r--chromium/net/data/ssl/certificates/2048-rsa-ee-by-2048-rsa-intermediate.pem71
-rw-r--r--chromium/net/data/ssl/certificates/2048-rsa-ee-by-768-rsa-intermediate.pem59
-rw-r--r--chromium/net/data/ssl/certificates/2048-rsa-ee-by-prime256v1-ecdsa-intermediate.pem56
-rw-r--r--chromium/net/data/ssl/certificates/2048-rsa-ee-by-secp256k1-ecdsa-intermediate.pem56
-rw-r--r--chromium/net/data/ssl/certificates/2048-rsa-intermediate.pem75
-rw-r--r--chromium/net/data/ssl/certificates/2048-rsa-root.pem17
-rw-r--r--chromium/net/data/ssl/certificates/768-rsa-ee-by-1024-rsa-intermediate.pem47
-rw-r--r--chromium/net/data/ssl/certificates/768-rsa-ee-by-2048-rsa-intermediate.pem56
-rw-r--r--chromium/net/data/ssl/certificates/768-rsa-ee-by-768-rsa-intermediate.pem44
-rw-r--r--chromium/net/data/ssl/certificates/768-rsa-ee-by-prime256v1-ecdsa-intermediate.pem42
-rw-r--r--chromium/net/data/ssl/certificates/768-rsa-ee-by-secp256k1-ecdsa-intermediate.pem42
-rw-r--r--chromium/net/data/ssl/certificates/768-rsa-intermediate.pem60
-rw-r--r--chromium/net/data/ssl/certificates/README228
-rw-r--r--chromium/net/data/ssl/certificates/aia-cert.pem76
-rw-r--r--chromium/net/data/ssl/certificates/aia-intermediate.derbin0 -> 737 bytes
-rw-r--r--chromium/net/data/ssl/certificates/aia-root.pem72
-rw-r--r--chromium/net/data/ssl/certificates/android-test-key-dsa-public.pem20
-rw-r--r--chromium/net/data/ssl/certificates/android-test-key-dsa.pem20
-rw-r--r--chromium/net/data/ssl/certificates/android-test-key-ecdsa-public.pem4
-rw-r--r--chromium/net/data/ssl/certificates/android-test-key-ecdsa.pem8
-rw-r--r--chromium/net/data/ssl/certificates/android-test-key-rsa.pem27
-rw-r--r--chromium/net/data/ssl/certificates/client-nokey.p12bin0 -> 895 bytes
-rw-r--r--chromium/net/data/ssl/certificates/client.p12bin0 -> 1701 bytes
-rw-r--r--chromium/net/data/ssl/certificates/client_1.key27
-rw-r--r--chromium/net/data/ssl/certificates/client_1.pem72
-rw-r--r--chromium/net/data/ssl/certificates/client_1_ca.pem71
-rw-r--r--chromium/net/data/ssl/certificates/client_2.key27
-rw-r--r--chromium/net/data/ssl/certificates/client_2.pem72
-rw-r--r--chromium/net/data/ssl/certificates/client_2_ca.pem71
-rw-r--r--chromium/net/data/ssl/certificates/comodo.chain.pem317
-rw-r--r--chromium/net/data/ssl/certificates/crit-codeSigning-chain.pem105
-rw-r--r--chromium/net/data/ssl/certificates/cross-signed-leaf.pem82
-rw-r--r--chromium/net/data/ssl/certificates/cross-signed-root-md5.pem75
-rw-r--r--chromium/net/data/ssl/certificates/cross-signed-root-sha1.pem75
-rw-r--r--chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_1.pem82
-rw-r--r--chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_2.pem85
-rw-r--r--chromium/net/data/ssl/certificates/cybertrust_baltimore_root.pem77
-rw-r--r--chromium/net/data/ssl/certificates/cybertrust_gte_root.pem48
-rw-r--r--chromium/net/data/ssl/certificates/cybertrust_omniroot_chain.pem48
-rw-r--r--chromium/net/data/ssl/certificates/diginotar_cyber_ca.pem32
-rw-r--r--chromium/net/data/ssl/certificates/diginotar_pkioverheid.pem28
-rw-r--r--chromium/net/data/ssl/certificates/diginotar_pkioverheid_g2.pem38
-rw-r--r--chromium/net/data/ssl/certificates/diginotar_public_ca_2025.pem35
-rw-r--r--chromium/net/data/ssl/certificates/diginotar_root_ca.pem32
-rw-r--r--chromium/net/data/ssl/certificates/diginotar_services_1024_ca.pem23
-rw-r--r--chromium/net/data/ssl/certificates/dod_ca_13_cert.derbin0 -> 1080 bytes
-rw-r--r--chromium/net/data/ssl/certificates/dod_ca_17_cert.derbin0 -> 1072 bytes
-rw-r--r--chromium/net/data/ssl/certificates/dod_root_ca_2_cert.derbin0 -> 884 bytes
-rw-r--r--chromium/net/data/ssl/certificates/duplicate_cn_1.p120
-rw-r--r--chromium/net/data/ssl/certificates/duplicate_cn_1.pem78
-rw-r--r--chromium/net/data/ssl/certificates/duplicate_cn_2.p120
-rw-r--r--chromium/net/data/ssl/certificates/duplicate_cn_2.pem78
-rw-r--r--chromium/net/data/ssl/certificates/eku-test-root.pem66
-rw-r--r--chromium/net/data/ssl/certificates/empty_subject_cert.derbin0 -> 418 bytes
-rw-r--r--chromium/net/data/ssl/certificates/expired_cert.pem110
-rw-r--r--chromium/net/data/ssl/certificates/explicit-policy-chain.pem228
-rw-r--r--chromium/net/data/ssl/certificates/foaf.me.chromium-test-cert.derbin0 -> 990 bytes
-rw-r--r--chromium/net/data/ssl/certificates/globalsign_ev_sha256_ca_cert.pem25
-rw-r--r--chromium/net/data/ssl/certificates/google.binary.p7bbin0 -> 1661 bytes
-rw-r--r--chromium/net/data/ssl/certificates/google.chain.pem38
-rw-r--r--chromium/net/data/ssl/certificates/google.pem_cert.p7b37
-rw-r--r--chromium/net/data/ssl/certificates/google.pem_pkcs7.p7b37
-rw-r--r--chromium/net/data/ssl/certificates/google.single.derbin0 -> 805 bytes
-rw-r--r--chromium/net/data/ssl/certificates/google.single.pem19
-rw-r--r--chromium/net/data/ssl/certificates/google_diginotar.pem30
-rw-r--r--chromium/net/data/ssl/certificates/googlenew.chain.pem38
-rw-r--r--chromium/net/data/ssl/certificates/invalid_key_usage_cert.derbin0 -> 940 bytes
-rw-r--r--chromium/net/data/ssl/certificates/mit.davidben.derbin0 -> 965 bytes
-rw-r--r--chromium/net/data/ssl/certificates/multivalue_rdn.pem59
-rw-r--r--chromium/net/data/ssl/certificates/ndn.ca.crt35
-rw-r--r--chromium/net/data/ssl/certificates/nist.derbin0 -> 1322 bytes
-rw-r--r--chromium/net/data/ssl/certificates/no_subject_common_name_cert.pem109
-rw-r--r--chromium/net/data/ssl/certificates/non-crit-codeSigning-chain.pem105
-rw-r--r--chromium/net/data/ssl/certificates/ocsp-test-root.pem51
-rw-r--r--chromium/net/data/ssl/certificates/ok_cert.pem110
-rw-r--r--chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-1024-rsa-intermediate.pem44
-rw-r--r--chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-2048-rsa-intermediate.pem54
-rw-r--r--chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-768-rsa-intermediate.pem41
-rw-r--r--chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-prime256v1-ecdsa-intermediate.pem39
-rw-r--r--chromium/net/data/ssl/certificates/prime256v1-ecdsa-intermediate.pem58
-rw-r--r--chromium/net/data/ssl/certificates/punycodetest.derbin0 -> 1422 bytes
-rw-r--r--chromium/net/data/ssl/certificates/quic_intermediate.crt53
-rw-r--r--chromium/net/data/ssl/certificates/quic_root.crt106
-rw-r--r--chromium/net/data/ssl/certificates/quic_test.example.com.crt56
-rw-r--r--chromium/net/data/ssl/certificates/quic_test_ecc.example.com.crt50
-rw-r--r--chromium/net/data/ssl/certificates/redundant-server-chain.pem271
-rw-r--r--chromium/net/data/ssl/certificates/redundant-validated-chain-root.pem16
-rw-r--r--chromium/net/data/ssl/certificates/redundant-validated-chain.pem196
-rw-r--r--chromium/net/data/ssl/certificates/root_ca_cert.pem102
-rw-r--r--chromium/net/data/ssl/certificates/salesforce_com_test.pem81
-rw-r--r--chromium/net/data/ssl/certificates/satveda.pem207
-rw-r--r--chromium/net/data/ssl/certificates/spdy_pooling.pem53
-rw-r--r--chromium/net/data/ssl/certificates/subjectAltName_sanity_check.pem54
-rw-r--r--chromium/net/data/ssl/certificates/test_mail_google_com.pem26
-rw-r--r--chromium/net/data/ssl/certificates/thawte.single.pem19
-rw-r--r--chromium/net/data/ssl/certificates/unescaped.pem62
-rw-r--r--chromium/net/data/ssl/certificates/unittest.key.binbin0 -> 635 bytes
-rw-r--r--chromium/net/data/ssl/certificates/unittest.originbound.derbin0 -> 488 bytes
-rw-r--r--chromium/net/data/ssl/certificates/unittest.originbound.key.derbin0 -> 633 bytes
-rw-r--r--chromium/net/data/ssl/certificates/unittest.selfsigned.derbin0 -> 414 bytes
-rw-r--r--chromium/net/data/ssl/certificates/verisign_intermediate_ca_2011.pem71
-rw-r--r--chromium/net/data/ssl/certificates/verisign_intermediate_ca_2016.pem71
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md2_ee.pem61
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md2_intermediate.pem57
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md2_root.pem14
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md4_ee.pem61
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md4_intermediate.pem57
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md4_root.pem14
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md5_ee.pem61
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md5_intermediate.pem57
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_md5_root.pem14
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_sha1_ee.pem61
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_sha1_intermediate.pem57
-rw-r--r--chromium/net/data/ssl/certificates/weak_digest_sha1_root.pem14
-rw-r--r--chromium/net/data/ssl/certificates/websocket_cacert.pem61
-rw-r--r--chromium/net/data/ssl/certificates/websocket_client_cert.p12bin0 -> 2550 bytes
-rw-r--r--chromium/net/data/ssl/certificates/www_us_army_mil_cert.derbin0 -> 1222 bytes
-rw-r--r--chromium/net/data/ssl/certificates/x509_verify_results.chain.pem50
-rw-r--r--chromium/net/data/ssl/scripts/aia-test.cnf55
-rw-r--r--chromium/net/data/ssl/scripts/ca.cnf93
-rw-r--r--chromium/net/data/ssl/scripts/client-certs.cnf51
-rw-r--r--chromium/net/data/ssl/scripts/ee.cnf51
-rw-r--r--chromium/net/data/ssl/scripts/eku-test.cnf26
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-aia-certs.sh91
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-android-test-keys.sh56
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-bad-eku-certs.sh77
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-client-certificates.sh163
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-cross-signed-certs.sh92
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-duplicate-cn-certs.sh132
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-policy-certs.sh96
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-redundant-test-chains.sh187
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-test-certs.sh81
-rwxr-xr-xchromium/net/data/ssl/scripts/generate-weak-test-chains.sh168
-rw-r--r--chromium/net/data/ssl/scripts/policy.cnf60
-rw-r--r--chromium/net/data/ssl/scripts/redundant-ca.cnf80
-rw-r--r--chromium/net/data/test.html1
-rw-r--r--chromium/net/data/url_request_unittest/BullRunSpeech.txt78
-rw-r--r--chromium/net/data/url_request_unittest/content-type-normalization.html8
-rw-r--r--chromium/net/data/url_request_unittest/content-type-normalization.html.mock-http-headers5
-rw-r--r--chromium/net/data/url_request_unittest/hpkp-headers.html1
-rw-r--r--chromium/net/data/url_request_unittest/hpkp-headers.html.mock-http-headers6
-rw-r--r--chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html1
-rw-r--r--chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html.mock-http-headers8
-rw-r--r--chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html1
-rw-r--r--chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html.mock-http-headers8
-rw-r--r--chromium/net/data/url_request_unittest/hsts-headers.html1
-rw-r--r--chromium/net/data/url_request_unittest/hsts-headers.html.mock-http-headers6
-rw-r--r--chromium/net/data/url_request_unittest/hsts-multiple-headers.html1
-rw-r--r--chromium/net/data/url_request_unittest/hsts-multiple-headers.html.mock-http-headers7
-rw-r--r--chromium/net/data/url_request_unittest/redirect-test.html1
-rw-r--r--chromium/net/data/url_request_unittest/redirect-test.html.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/redirect-to-echoall1
-rw-r--r--chromium/net/data/url_request_unittest/redirect-to-echoall.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/redirect-to-file.html1
-rw-r--r--chromium/net/data/url_request_unittest/redirect-to-file.html.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/redirect-to-invalid-url.html1
-rw-r--r--chromium/net/data/url_request_unittest/redirect-to-invalid-url.html.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/redirect301-to-echo1
-rw-r--r--chromium/net/data/url_request_unittest/redirect301-to-echo.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/redirect302-to-echo1
-rw-r--r--chromium/net/data/url_request_unittest/redirect302-to-echo.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/redirect303-to-echo1
-rw-r--r--chromium/net/data/url_request_unittest/redirect303-to-echo.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/redirect307-to-echo1
-rw-r--r--chromium/net/data/url_request_unittest/redirect307-to-echo.mock-http-headers2
-rw-r--r--chromium/net/data/url_request_unittest/with-headers.html1
-rw-r--r--chromium/net/data/url_request_unittest/with-headers.html.mock-http-headers5
-rw-r--r--chromium/net/data/websocket/OWNERS3
-rw-r--r--chromium/net/data/websocket/README49
-rw-r--r--chromium/net/data/websocket/close-code-and-reason_wsh.py25
-rw-r--r--chromium/net/data/websocket/close-with-split-packet_wsh.py30
-rw-r--r--chromium/net/data/websocket/close_wsh.py26
-rw-r--r--chromium/net/data/websocket/connect_check.html35
-rw-r--r--chromium/net/data/websocket/echo-with-no-extension_wsh.py22
-rw-r--r--chromium/net/data/websocket/protocol-test_wsh.py19
-rw-r--r--chromium/net/data/websocket/split_packet_check.html37
-rw-r--r--chromium/net/data/websocket/websocket_shared_worker.html31
-rw-r--r--chromium/net/data/websocket/websocket_worker_simple.js46
507 files changed, 15936 insertions, 0 deletions
diff --git a/chromium/net/data/cache_tests/bad_entry/contents.txt b/chromium/net/data/cache_tests/bad_entry/contents.txt
new file mode 100644
index 00000000000..cffac69b978
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_entry/contents.txt
@@ -0,0 +1,66 @@
+Index header:
+num_entries: 2
+num_bytes: 27
+this_id: 1
+table_len: 64k
+
+head: 0x90000001
+tail: 0x90000000
+
+Address: 0xa0010002
+Address: 0xa0010003
+
+-------------------------------
+
+entry:
+Address: 0xa0010002
+hash: 0x687d1422
+next: 0
+rankings_node: 0x90000000
+key_len: 13
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "the first key"
+
+rankings:
+Address: 0x90000000
+next: 0x90000000
+prev: 0x90000001
+contents: 0xa0010002
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010003
+hash: 0x63909ecb
+next: 0
+rankings_node: 0x00000000 <---- Wrong
+key_len: 14
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "some other key"
+
+rankings:
+Address: 0x90000001
+next: 0x90000000
+prev: 0x90000001
+contents: 0xa0010003
+dirty: 0
+pointer: 0
+
+================================
+
+Generated with:
+
+disk_cache::Entry *entry;
+ASSERT_TRUE(cache_->CreateEntry("the first key", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("some other key", &entry)); <---- Edit value*
+entry->Close();
+
+* Edit the value with the debugger before it is saved to disk. \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/bad_entry/data_0 b/chromium/net/data/cache_tests/bad_entry/data_0
new file mode 100644
index 00000000000..f7cb1292d78
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_entry/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_entry/data_1 b/chromium/net/data/cache_tests/bad_entry/data_1
new file mode 100644
index 00000000000..ccf28422b71
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_entry/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_entry/data_2 b/chromium/net/data/cache_tests/bad_entry/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_entry/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_entry/data_3 b/chromium/net/data/cache_tests/bad_entry/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_entry/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_entry/index b/chromium/net/data/cache_tests/bad_entry/index
new file mode 100644
index 00000000000..609cb00b996
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_entry/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings/contents.txt b/chromium/net/data/cache_tests/bad_rankings/contents.txt
new file mode 100644
index 00000000000..a949728dc22
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings/contents.txt
@@ -0,0 +1,66 @@
+Index header:
+num_entries: 2
+num_bytes: 27
+this_id: 1
+table_len: 64k
+
+head: 0x90000001
+tail: 0x90000000
+
+Address: 0xa0010002
+Address: 0xa0010003
+
+-------------------------------
+
+entry:
+Address: 0xa0010002
+hash: 0x687d1422
+next: 0
+rankings_node: 0x90000000
+key_len: 13
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "the first key"
+
+rankings:
+Address: 0x90000000
+next: 0x90000000
+prev: 0 <------ wrong
+contents: 0xa0010002
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010003
+hash: 0x63909ecb
+next: 0
+rankings_node: 0x90000001
+key_len: 14
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "some other key"
+
+rankings:
+Address: 0x90000001
+next: 0x90000000
+prev: 0x90000001
+contents: 0xa0010003
+dirty: 0
+pointer: 0
+
+================================
+
+Generated with:
+
+disk_cache::Entry *entry;
+ASSERT_TRUE(cache_->CreateEntry("the first key", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("some other key", &entry)); <---- Edit value*
+entry->Close();
+
+* Edit the value with the debugger before it is saved to disk. \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/bad_rankings/data_0 b/chromium/net/data/cache_tests/bad_rankings/data_0
new file mode 100644
index 00000000000..40f60768398
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings/data_1 b/chromium/net/data/cache_tests/bad_rankings/data_1
new file mode 100644
index 00000000000..c38c4120b74
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings/data_2 b/chromium/net/data/cache_tests/bad_rankings/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings/data_3 b/chromium/net/data/cache_tests/bad_rankings/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings/index b/chromium/net/data/cache_tests/bad_rankings/index
new file mode 100644
index 00000000000..609cb00b996
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings2/contents.txt b/chromium/net/data/cache_tests/bad_rankings2/contents.txt
new file mode 100644
index 00000000000..79cc3e925d8
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings2/contents.txt
@@ -0,0 +1,66 @@
+Index header:
+num_entries: 2
+num_bytes: 27
+this_id: 2
+table_len: 128k
+
+head: 0x90000001
+tail: 0x90000000
+
+Address: 0xa0010002
+Address: 0xa0010003
+
+-------------------------------
+
+entry:
+Address: 0xa0010002
+hash: 0x687d1422
+next: 0
+rankings_node: 0x90000000
+key_len: 13
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "the first key"
+
+rankings:
+Address: 0x90000000
+next: 0x90000000
+prev: 0 <------ wrong
+contents: 0xa0010002
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010003
+hash: 0x63909ecb
+next: 0
+rankings_node: 0x90000001
+key_len: 14
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "some other key"
+
+rankings:
+Address: 0x90000001
+next: 0x90000000
+prev: 0x90000001
+contents: 0xa0010003
+dirty: 0
+pointer: 0
+
+================================
+
+Generated with:
+
+disk_cache::Entry *entry;
+ASSERT_TRUE(cache_->CreateEntry("the first key", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("some other key", &entry)); <---- Edit value*
+entry->Close();
+
+* Edit the value with the debugger before it is saved to disk. \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/bad_rankings2/data_0 b/chromium/net/data/cache_tests/bad_rankings2/data_0
new file mode 100644
index 00000000000..5b322157a93
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings2/data_1 b/chromium/net/data/cache_tests/bad_rankings2/data_1
new file mode 100644
index 00000000000..7241f132351
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings2/data_2 b/chromium/net/data/cache_tests/bad_rankings2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings2/data_3 b/chromium/net/data/cache_tests/bad_rankings2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings2/index b/chromium/net/data/cache_tests/bad_rankings2/index
new file mode 100644
index 00000000000..602dfbadb76
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings3/contents.txt b/chromium/net/data/cache_tests/bad_rankings3/contents.txt
new file mode 100644
index 00000000000..d85287b555d
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings3/contents.txt
@@ -0,0 +1,92 @@
+Index file:
+version: 2.1
+entries: 3
+current id: 1
+last crash: 1
+head 0: 0x90000002
+tail 0: 0x90000002
+size 0: 0x1
+head 1: 0x90000001 <----
+tail 1: 0x90000000
+size 1: 0x2
+transaction: 0x0
+-------------------------
+
+Entry at 0xa0010002
+hash: 0x687d1422
+next entry: 0x0
+rankings: 0x90000000
+key length: 13
+key: "the first key"
+key addr: 0x0
+reuse count: 1
+----------
+
+Rankings at 0x90000000
+next: 0x90000000
+prev: 0x90000001
+entry: 0xa0010002
+dirty: 0
+----------
+
+Entry at 0xa0010003
+hash: 0x4a70620e
+next entry: 0x0
+rankings: 0x90000001
+key length: 14
+key: "the second key"
+key addr: 0x0
+reuse count: 0 <---- list 0
+----------
+
+Rankings at 0x90000001
+next: 0x90000000
+prev: 0x90000001 <----- head
+entry: 0xa0010003
+dirty: 1 <----- This was actually inserted on list 1
+----------
+
+Entry at 0xa0010004
+hash: 0x63909ecb
+next entry: 0x0
+rankings: 0x90000002
+key length: 14
+key: "some other key"
+key addr: 0x0
+reuse count: 0
+----------
+
+Rankings at 0x90000002
+next: 0x90000002
+prev: 0x90000002
+entry: 0xa0010004
+dirty: 0
+----------
+
+================================
+
+Generated with:
+
+ SetNewEviction();
+ SetMaxSize(20 * 1024 * 1024);
+ InitCache();
+ const char* kName1 = "the first key";
+ const char* kName2 = "the second key";
+ disk_cache::Entry* entry;
+ ASSERT_EQ(net::OK, CreateEntry(kName1, &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry(kName2, &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry("some other key", &entry));
+ entry->Close();
+
+ ASSERT_EQ(net::OK, OpenEntry(kName1, &entry));
+ entry->Close();
+
+ ASSERT_EQ(net::OK, OpenEntry(kName2, &entry));
+
+Set a breakpoint on that last line, and when the entry is moved from one list to another, crash the process:
+
+ rankings_->Remove(entry->rankings(), Rankings::NO_USE);
+ rankings_->Insert(entry->rankings(), false, Rankings::LOW_USE);
+ entry->entry()->Store(); <---- crash here
diff --git a/chromium/net/data/cache_tests/bad_rankings3/data_0 b/chromium/net/data/cache_tests/bad_rankings3/data_0
new file mode 100644
index 00000000000..ce35b75d6af
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings3/data_1 b/chromium/net/data/cache_tests/bad_rankings3/data_1
new file mode 100644
index 00000000000..5585567f57c
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings3/data_2 b/chromium/net/data/cache_tests/bad_rankings3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings3/data_3 b/chromium/net/data/cache_tests/bad_rankings3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/bad_rankings3/index b/chromium/net/data/cache_tests/bad_rankings3/index
new file mode 100644
index 00000000000..8bb75853563
--- /dev/null
+++ b/chromium/net/data/cache_tests/bad_rankings3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry3/contents.txt b/chromium/net/data/cache_tests/dirty_entry3/contents.txt
new file mode 100644
index 00000000000..b2aa37aabc5
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry3/contents.txt
@@ -0,0 +1,183 @@
+Index file:
+magic: c103cac3
+version: 2.0
+entries: 3 <---- there is an extra entry on the lru.
+total bytes: 40
+last file number: 0
+current id: 4
+table length: 65536
+last crash: 0
+experiment: 0
+head 0: 0x90000002
+tail 0: 0x90000000
+size 0: 0x0
+head 1: 0x0
+tail 1: 0x0
+size 1: 0x0
+head 2: 0x0
+tail 2: 0x0
+size 2: 0x0
+head 3: 0x0
+tail 3: 0x0
+size 3: 0x0
+head 4: 0x0
+tail 4: 0x0
+size 4: 0x0
+transaction: 0x0
+operation: 0
+operation list: 0
+-------------------------
+
+Block file: data_0
+magic: c104cac3
+version: 2.0
+file id: 0
+next file id: 0
+entry size: 36
+current entries: 3
+max entries: 1024
+updating: 0
+empty sz 1: 1
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 255
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_1
+magic: c104cac3
+version: 2.0
+file id: 1
+next file id: 0
+entry size: 256
+current entries: 4
+max entries: 1024
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 1
+empty sz 4: 254
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_2
+magic: c104cac3
+version: 2.0
+file id: 2
+next file id: 0
+entry size: 1024
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_3
+magic: c104cac3
+version: 2.0
+file id: 3
+next file id: 0
+entry size: 4096
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Entry at 0xa0010003
+hash: 0xb16af282
+next entry: 0xa0010004
+rankings: 0x90000001
+key length: 14
+key: "The Second key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000001
+next: 0x90000000
+prev: 0x90000002
+entry: 0xa0010003
+dirty: 0
+pointer: 0x0
+----------
+
+Entry at 0xa0010004
+hash: 0xc24ac438
+next entry: 0x0
+rankings: 0x90000002
+key length: 13
+key: "The first key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000002
+next: 0x90000001
+prev: 0x90000002
+entry: 0xa0010004
+dirty: 0
+pointer: 0x0
+
+================================
+
+Generated with: (see steps on the bug 69135)
+
+ SetMask(0x1); // 2-entry table.
+ SetMaxSize(0x3000); // 12 kB.
+ InitCache();
+
+ std::string key1("The first key");
+ std::string key2("The Second key");
+ disk_cache::Entry* entry;
+
+ ASSERT_EQ(net::OK, CreateEntry(key1, &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry(key2, &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, OpenEntry(key1, &entry)); <--- 1st crash.
+
+ ASSERT_EQ(net::OK, OpenEntry(key1, &entry)); <--- 2nd crash.
+
+ ASSERT_EQ(net::OK, CreateEntry(key1, &entry));
+ entry->Close(); \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/dirty_entry3/data_0 b/chromium/net/data/cache_tests/dirty_entry3/data_0
new file mode 100644
index 00000000000..77dd0ae3242
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry3/data_1 b/chromium/net/data/cache_tests/dirty_entry3/data_1
new file mode 100644
index 00000000000..baeff3cc964
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry3/data_2 b/chromium/net/data/cache_tests/dirty_entry3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry3/data_3 b/chromium/net/data/cache_tests/dirty_entry3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry3/index b/chromium/net/data/cache_tests/dirty_entry3/index
new file mode 100644
index 00000000000..d387abe0b84
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry4/contents.txt b/chromium/net/data/cache_tests/dirty_entry4/contents.txt
new file mode 100644
index 00000000000..a1c8f0de92e
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry4/contents.txt
@@ -0,0 +1,183 @@
+Index file:
+magic: c103cac3
+version: 2.1
+entries: 3
+total bytes: 40
+last file number: 0
+current id: 4
+table length: 65536
+last crash: 0
+experiment: 0
+head 0: 0x90000002
+tail 0: 0x90000001
+size 0: 0x2
+head 1: 0x0
+tail 1: 0x0
+size 1: 0x0
+head 2: 0x0
+tail 2: 0x0
+size 2: 0x0
+head 3: 0x0
+tail 3: 0x0
+size 3: 0x0
+head 4: 0x90000000
+tail 4: 0x90000000
+size 4: 0x1
+transaction: 0x0
+operation: 0
+operation list: 0
+-------------------------
+
+Block file: data_0
+magic: c104cac3
+version: 2.0
+file id: 0
+next file id: 0
+entry size: 36
+current entries: 3
+max entries: 1024
+updating: 0
+empty sz 1: 1
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 255
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_1
+magic: c104cac3
+version: 2.0
+file id: 1
+next file id: 0
+entry size: 256
+current entries: 4
+max entries: 1024
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 1
+empty sz 4: 254
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_2
+magic: c104cac3
+version: 2.0
+file id: 2
+next file id: 0
+entry size: 1024
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_3
+magic: c104cac3
+version: 2.0
+file id: 3
+next file id: 0
+entry size: 4096
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Entry at 0xa0010003
+hash: 0xb16af282
+next entry: 0xa0010004
+rankings: 0x90000001
+key length: 14
+key: "The Second key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000001
+next: 0x90000001
+prev: 0x90000002
+entry: 0xa0010003
+dirty: 0
+pointer: 0x0
+----------
+
+Entry at 0xa0010004
+hash: 0xc24ac438
+next entry: 0x0
+rankings: 0x90000002
+key length: 13
+key: "The first key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000002
+next: 0x90000001
+prev: 0x90000002
+entry: 0xa0010004
+dirty: 0
+pointer: 0x0
+
+================================
+
+Generated with: (see steps on the bug 69135)
+
+ SetMask(0x1); // 2-entry table.
+ SetMaxSize(0x3000); // 12 kB.
+ SetNewEviction();
+ InitCache();
+
+ std::string key1("The first key");
+ std::string key2("The Second key");
+ disk_cache::Entry* entry;
+
+ ASSERT_EQ(net::OK, CreateEntry(key1, &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry(key2, &entry));
+ DoomAllEntries(); <--- First crash. Fix key2 dirty flag.
+
+ ASSERT_EQ(net::OK, OpenEntry(key1, &entry)); <--- Second crash
+
+ ASSERT_EQ(net::OK, CreateEntry(key1, &entry));
+ entry->Close(); \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/dirty_entry4/data_0 b/chromium/net/data/cache_tests/dirty_entry4/data_0
new file mode 100644
index 00000000000..702f5c7d383
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry4/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry4/data_1 b/chromium/net/data/cache_tests/dirty_entry4/data_1
new file mode 100644
index 00000000000..35dacdfbc09
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry4/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry4/data_2 b/chromium/net/data/cache_tests/dirty_entry4/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry4/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry4/data_3 b/chromium/net/data/cache_tests/dirty_entry4/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry4/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry4/index b/chromium/net/data/cache_tests/dirty_entry4/index
new file mode 100644
index 00000000000..e3e9f57f38d
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry4/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry5/contents.txt b/chromium/net/data/cache_tests/dirty_entry5/contents.txt
new file mode 100644
index 00000000000..afa5c031ba6
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry5/contents.txt
@@ -0,0 +1,166 @@
+Index file:
+magic: c103cac3
+version: 2.0
+entries: 2 <---- there is an extra entry on the lru.
+total bytes: 47
+last file number: 0
+current id: 3
+table length: 65536
+last crash: 1
+experiment: 0
+head 0: 0x90000000
+tail 0: 0x90000001
+size 0: 0x0
+head 1: 0x0
+tail 1: 0x0
+size 1: 0x0
+head 2: 0x0
+tail 2: 0x0
+size 2: 0x0
+head 3: 0x0
+tail 3: 0x0
+size 3: 0x0
+head 4: 0x0
+tail 4: 0x0
+size 4: 0x0
+transaction: 0x0
+operation: 0
+operation list: 0
+-------------------------
+
+Block file: data_0
+magic: c104cac3
+version: 2.0
+file id: 0
+next file id: 0
+entry size: 36
+current entries: 2
+max entries: 1024
+updating: 0
+empty sz 1: 0
+empty sz 2: 1
+empty sz 3: 0
+empty sz 4: 255
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_1
+magic: c104cac3
+version: 2.0
+file id: 1
+next file id: 0
+entry size: 256
+current entries: 4
+max entries: 1024
+updating: 0
+empty sz 1: 0
+empty sz 2: 1
+empty sz 3: 0
+empty sz 4: 254
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_2
+magic: c104cac3
+version: 2.0
+file id: 2
+next file id: 0
+entry size: 1024
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_3
+magic: c104cac3
+version: 2.0
+file id: 3
+next file id: 0
+entry size: 4096
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Entry at 0xa0010002
+hash: 0xc24ac438
+next entry: 0x0
+rankings: 0x90000000
+key length: 13
+key: "The first key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 20
+data addr 0: 0xa0010005
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000000
+next: 0x90000001
+prev: 0x90000000
+entry: 0xa0010002
+dirty: 0
+pointer: 0x0
+
+================================
+
+Generated with: (see steps on the bug 69135)
+
+ SetMask(0x1); // 2-entry table.
+ SetMaxSize(0x3000); // 12 kB.
+ InitCache();
+
+ std::string key1("The first key");
+ std::string key2("The Second key");
+ std::string key3("The third key");
+ disk_cache::Entry* entry;
+
+ ASSERT_EQ(net::OK, CreateEntry(key1, &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry(key2, &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry(key3, &entry));
+ entry->Close();
+
+ const int kSize = 20;
+ ASSERT_EQ(net::OK, OpenEntry(key1, &entry));
+ scoped_refptr<net::IOBuffer> buf = new net::IOBuffer(kSize);
+ memset(buf->data(), 0, kSize);
+ EXPECT_EQ(kSize, WriteData(entry, 0, 0, buf, kSize, false));
+ entry->Close();
+
+ ASSERT_EQ(net::OK, OpenEntry(key2, &entry)); <--- 1st crash.
+ ASSERT_NE(net::OK, OpenEntry(key2, &entry)); <--- 2nd crash. *
+
+ ASSERT_EQ(net::OK, DoomEntry(key3));
+
+(*) and trick the code into deleting the dirty flag. \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/dirty_entry5/data_0 b/chromium/net/data/cache_tests/dirty_entry5/data_0
new file mode 100644
index 00000000000..5231b26962f
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry5/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry5/data_1 b/chromium/net/data/cache_tests/dirty_entry5/data_1
new file mode 100644
index 00000000000..0cd565452b3
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry5/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry5/data_2 b/chromium/net/data/cache_tests/dirty_entry5/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry5/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry5/data_3 b/chromium/net/data/cache_tests/dirty_entry5/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry5/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/dirty_entry5/index b/chromium/net/data/cache_tests/dirty_entry5/index
new file mode 100644
index 00000000000..70110bcda73
--- /dev/null
+++ b/chromium/net/data/cache_tests/dirty_entry5/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty1/data_0 b/chromium/net/data/cache_tests/insert_empty1/data_0
new file mode 100644
index 00000000000..1f84482c905
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty1/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty1/data_1 b/chromium/net/data/cache_tests/insert_empty1/data_1
new file mode 100644
index 00000000000..dfa550de0f3
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty1/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty1/data_2 b/chromium/net/data/cache_tests/insert_empty1/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty1/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty1/data_3 b/chromium/net/data/cache_tests/insert_empty1/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty1/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty1/index b/chromium/net/data/cache_tests/insert_empty1/index
new file mode 100644
index 00000000000..82123b13a4b
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty1/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty2/data_0 b/chromium/net/data/cache_tests/insert_empty2/data_0
new file mode 100644
index 00000000000..c0926e55e65
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty2/data_1 b/chromium/net/data/cache_tests/insert_empty2/data_1
new file mode 100644
index 00000000000..55f236ca27d
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty2/data_2 b/chromium/net/data/cache_tests/insert_empty2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty2/data_3 b/chromium/net/data/cache_tests/insert_empty2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty2/index b/chromium/net/data/cache_tests/insert_empty2/index
new file mode 100644
index 00000000000..9d66715e61c
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty3/data_0 b/chromium/net/data/cache_tests/insert_empty3/data_0
new file mode 100644
index 00000000000..f5bd25920d3
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty3/data_1 b/chromium/net/data/cache_tests/insert_empty3/data_1
new file mode 100644
index 00000000000..59ebebf45c8
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty3/data_2 b/chromium/net/data/cache_tests/insert_empty3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty3/data_3 b/chromium/net/data/cache_tests/insert_empty3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_empty3/index b/chromium/net/data/cache_tests/insert_empty3/index
new file mode 100644
index 00000000000..7e48e9762dd
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_empty3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load1/data_0 b/chromium/net/data/cache_tests/insert_load1/data_0
new file mode 100644
index 00000000000..dbef64508e4
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load1/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load1/data_1 b/chromium/net/data/cache_tests/insert_load1/data_1
new file mode 100644
index 00000000000..204205a33af
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load1/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load1/data_2 b/chromium/net/data/cache_tests/insert_load1/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load1/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load1/data_3 b/chromium/net/data/cache_tests/insert_load1/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load1/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load1/index b/chromium/net/data/cache_tests/insert_load1/index
new file mode 100644
index 00000000000..e97b7edc3c7
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load1/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load2/data_0 b/chromium/net/data/cache_tests/insert_load2/data_0
new file mode 100644
index 00000000000..1c8bbe87eb2
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load2/data_1 b/chromium/net/data/cache_tests/insert_load2/data_1
new file mode 100644
index 00000000000..e5324e71dc8
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load2/data_2 b/chromium/net/data/cache_tests/insert_load2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load2/data_3 b/chromium/net/data/cache_tests/insert_load2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_load2/index b/chromium/net/data/cache_tests/insert_load2/index
new file mode 100644
index 00000000000..9e8f94480d4
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_load2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one1/data_0 b/chromium/net/data/cache_tests/insert_one1/data_0
new file mode 100644
index 00000000000..ef77b3c25ba
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one1/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one1/data_1 b/chromium/net/data/cache_tests/insert_one1/data_1
new file mode 100644
index 00000000000..b2b7c2fbb79
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one1/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one1/data_2 b/chromium/net/data/cache_tests/insert_one1/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one1/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one1/data_3 b/chromium/net/data/cache_tests/insert_one1/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one1/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one1/index b/chromium/net/data/cache_tests/insert_one1/index
new file mode 100644
index 00000000000..40c8999faf7
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one1/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one2/data_0 b/chromium/net/data/cache_tests/insert_one2/data_0
new file mode 100644
index 00000000000..151bd4e389d
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one2/data_1 b/chromium/net/data/cache_tests/insert_one2/data_1
new file mode 100644
index 00000000000..bc909065197
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one2/data_2 b/chromium/net/data/cache_tests/insert_one2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one2/data_3 b/chromium/net/data/cache_tests/insert_one2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one2/index b/chromium/net/data/cache_tests/insert_one2/index
new file mode 100644
index 00000000000..542a525802e
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one3/data_0 b/chromium/net/data/cache_tests/insert_one3/data_0
new file mode 100644
index 00000000000..515496d1c10
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one3/data_1 b/chromium/net/data/cache_tests/insert_one3/data_1
new file mode 100644
index 00000000000..27f2a7bd468
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one3/data_2 b/chromium/net/data/cache_tests/insert_one3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one3/data_3 b/chromium/net/data/cache_tests/insert_one3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/insert_one3/index b/chromium/net/data/cache_tests/insert_one3/index
new file mode 100644
index 00000000000..2c0258de207
--- /dev/null
+++ b/chromium/net/data/cache_tests/insert_one3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop/contents.txt b/chromium/net/data/cache_tests/list_loop/contents.txt
new file mode 100644
index 00000000000..fb58b14fe61
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop/contents.txt
@@ -0,0 +1,228 @@
+Index header:
+num_entries: 8
+num_bytes: 52
+this_id: 1
+table_len: 64k
+
+head: 0x90000004
+tail: 0x90000000
+
+Address: 0xa0010007
+Address: 0xa0010003
+Address: 0xa001000b
+Address: 0xa001000a
+Address: 0xa0010009
+Address: 0xa0010006
+Address: 0xa0010005
+Address: 0xa0010002
+
+
+-------------------------------
+
+entry:
+Address: 0xa0010007
+hash: 0xcb30d119
+next: 0
+rankings_node: 0x90000004
+key_len: 5
+long_key: 0
+data_size[0]: 4
+data_addr[0]: 0xa0010008
+key: "fifth"
+
+rankings:
+Address: 0x90000004
+next: 0x90000001
+prev: 0x90000004
+contents: 0xa0010007
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010003
+hash: 0x090fbce3
+next: 0
+rankings_node: 0x90000001
+key_len: 6
+long_key: 0
+data_size[0]: 4
+data_addr[0]: 0xa0010004
+key: "second"
+
+rankings:
+Address: 0x90000001
+next: 0x90000007
+prev: 0x90000004
+contents: 0xa0010003
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa001000b
+hash: 0xad80b702
+next: 0
+rankings_node: 0x90000007
+key_len: 5
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "eight"
+
+rankings:
+Address: 0x90000007
+next: 0x90000006
+prev: 0x90000001
+contents: 0xa001000b
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa001000a
+hash: 0xfdae1d2a
+next: 0
+rankings_node: 0x90000006
+key_len: 7
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "seventh"
+
+rankings:
+Address: 0x90000006
+next: 0x90000005
+prev: 0x90000007
+contents: 0xa001000a
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010009
+hash: 0x2129e026
+next: 0
+rankings_node: 0x90000005
+key_len: 5
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "sixth"
+
+rankings:
+Address: 0x90000005
+next: 0x90000003
+prev: 0x90000006
+contents: 0xa0010009
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010006
+hash: 0x3d9011cc
+next: 0
+rankings_node: 0x90000003
+key_len: 6
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "fourth"
+
+rankings:
+Address: 0x90000003
+next: 0x90000002
+prev: 0x90000005
+contents: 0xa0010006
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010005
+hash: 0x8f04b77c
+next: 0
+rankings_node: 0x90000002
+key_len: 5
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "third"
+
+rankings:
+Address: 0x90000002
+next: 0x90000001 <--------- wrong
+prev: 0x90000003
+contents: 0xa0010005
+dirty: 0
+pointer: 0
+
+-------------------------------
+
+entry:
+Address: 0xa0010002
+hash: 0x0138974a
+next: 0
+rankings_node: 0x90000000
+key_len: 5
+long_key: 0
+data_size: 0's
+data_addr: 0's
+key: "first"
+
+rankings:
+Address: 0x90000000
+next: 0x90000000
+prev: 0x90000002
+contents: 0xa0010002
+dirty: 0
+pointer: 0
+
+==============================
+
+Generated with:
+
+disk_cache::Entry *entry;
+ASSERT_TRUE(cache_->CreateEntry("first", &entry));
+entry->Close();
+
+char buffer[] = "abcd";
+ASSERT_TRUE(cache_->CreateEntry("second", &entry));
+entry->WriteData(0, 0, buffer, 4, NULL, false);
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("third", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("fourth", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("fifth", &entry));
+entry->WriteData(0, 0, buffer, 4, NULL, false);
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("sixth", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("seventh", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->CreateEntry("eight", &entry));
+entry->Close();
+
+ASSERT_TRUE(cache_->OpenEntry("second", &entry));
+entry->ReadData(0, 0, buffer, 4, NULL); <--- fix the values*
+entry->Close();
+
+ASSERT_TRUE(cache_->OpenEntry("fifth", &entry));
+entry->ReadData(0, 0, buffer, 4, NULL);
+entry->Close();
+
+* break on Rankings::Remove() and edit the values before they are saved. \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/list_loop/data_0 b/chromium/net/data/cache_tests/list_loop/data_0
new file mode 100644
index 00000000000..6bf05330264
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop/data_1 b/chromium/net/data/cache_tests/list_loop/data_1
new file mode 100644
index 00000000000..32244ab5852
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop/data_2 b/chromium/net/data/cache_tests/list_loop/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop/data_3 b/chromium/net/data/cache_tests/list_loop/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop/index b/chromium/net/data/cache_tests/list_loop/index
new file mode 100644
index 00000000000..32acaf83084
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop2/contents.txt b/chromium/net/data/cache_tests/list_loop2/contents.txt
new file mode 100644
index 00000000000..da7d1dcdffd
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop2/contents.txt
@@ -0,0 +1,145 @@
+Index file:
+magic: c103cac3
+version: 2.0
+entries: 2
+total bytes: 27
+last file number: 0
+current id: 5
+table length: 65536
+last crash: 1
+experiment: 0
+head 0: 0x90000002
+tail 0: 0x90000001
+size 0: 0x2
+head 1: 0x0
+tail 1: 0x0
+size 1: 0x0
+head 2: 0x0
+tail 2: 0x0
+size 2: 0x0
+head 3: 0x0
+tail 3: 0x0
+size 3: 0x0
+head 4: 0x0
+tail 4: 0x0
+size 4: 0x0
+transaction: 0x0
+operation: 0
+operation list: 0
+-------------------------
+
+Block file: data_0
+magic: c104cac3
+version: 2.0
+file id: 0
+next file id: 0
+entry size: 36
+current entries: 2
+max entries: 1024
+updating: 0
+empty sz 1: 1
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 255
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_1
+magic: c104cac3
+version: 2.0
+file id: 1
+next file id: 0
+entry size: 256
+current entries: 3
+max entries: 1024
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 1
+empty sz 4: 254
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_2
+magic: c104cac3
+version: 2.0
+file id: 2
+next file id: 0
+entry size: 1024
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_3
+magic: c104cac3
+version: 2.0
+file id: 3
+next file id: 0
+entry size: 4096
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Entry at 0xa0010003
+hash: 0xb16af282
+next entry: 0xa0010003
+rankings: 0x90000001
+key length: 14
+key: "The Second key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000001
+next: 0x90000001
+prev: 0x90000002
+entry: 0xa0010003
+dirty: 0
+pointer: 0x0
+
+================================
+
+Generated with: (see steps on the bug 69135)
+
+ ASSERT_TRUE(CopyTestCache("dirty_entry4"));
+ SetNewEviction();
+ SetMask(0x1); // 2-entry table.
+ SetMaxSize(0x3000); // 12 kB.
+ DisableFirstCleanup();
+ InitCache();
+
+ TrimDeletedListForTest(false); <-- Without the code that fixes the loop. \ No newline at end of file
diff --git a/chromium/net/data/cache_tests/list_loop2/data_0 b/chromium/net/data/cache_tests/list_loop2/data_0
new file mode 100644
index 00000000000..90c58da8cf9
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop2/data_1 b/chromium/net/data/cache_tests/list_loop2/data_1
new file mode 100644
index 00000000000..5579786d56d
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop2/data_2 b/chromium/net/data/cache_tests/list_loop2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop2/data_3 b/chromium/net/data/cache_tests/list_loop2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop2/index b/chromium/net/data/cache_tests/list_loop2/index
new file mode 100644
index 00000000000..b5b1dd6349d
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop3/contents.txt b/chromium/net/data/cache_tests/list_loop3/contents.txt
new file mode 100644
index 00000000000..f359067a3b6
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop3/contents.txt
@@ -0,0 +1,265 @@
+Index file:
+magic: c103cac3
+version: 2.0
+entries: 5
+total bytes: 66
+last file number: 0
+current id: 1
+table length: 65536
+last crash: 1
+experiment: 0
+head 0: 0x90000004
+tail 0: 0x90000000
+size 0: 0x0
+head 1: 0x0
+tail 1: 0x0
+size 1: 0x0
+head 2: 0x0
+tail 2: 0x0
+size 2: 0x0
+head 3: 0x0
+tail 3: 0x0
+size 3: 0x0
+head 4: 0x0
+tail 4: 0x0
+size 4: 0x0
+transaction: 0x0
+operation: 0
+operation list: 0
+-------------------------
+
+Block file: data_0
+magic: c104cac3
+version: 2.0
+file id: 0
+next file id: 0
+entry size: 36
+current entries: 5
+max entries: 1024
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 1
+empty sz 4: 254
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_1
+magic: c104cac3
+version: 2.0
+file id: 1
+next file id: 0
+entry size: 256
+current entries: 6
+max entries: 1024
+updating: 0
+empty sz 1: 1
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 254
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_2
+magic: c104cac3
+version: 2.0
+file id: 2
+next file id: 0
+entry size: 1024
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Block file: data_3
+magic: c104cac3
+version: 2.0
+file id: 3
+next file id: 0
+entry size: 4096
+current entries: 0
+max entries: 0
+updating: 0
+empty sz 1: 0
+empty sz 2: 0
+empty sz 3: 0
+empty sz 4: 0
+user 0: 0x0
+user 1: 0x0
+user 2: 0x0
+user 3: 0x0
+-------------------------
+
+Entry at 0xa0010002
+hash: 0xc24ac438
+next entry: 0xa0010003
+rankings: 0x90000000
+key length: 13
+key: "The first key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000000
+next: 0x90000000
+prev: 0x90000001
+entry: 0xa0010002
+dirty: 0
+pointer: 0x0
+----------
+
+Entry at 0xa0010003
+hash: 0xb16af282
+next entry: 0xa0010004
+rankings: 0x90000001
+key length: 14
+key: "The Second key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000001
+next: 0x90000000
+prev: 0x90000002
+entry: 0xa0010003
+dirty: 0
+pointer: 0x0
+----------
+
+Entry at 0xa0010004
+hash: 0x90efd732
+next entry: 0xa0010005
+rankings: 0x90000002
+key length: 13
+key: "The third key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000002
+next: 0x90000001
+prev: 0x90000003
+entry: 0xa0010004
+dirty: 0
+pointer: 0x0
+----------
+
+Entry at 0xa0010005
+hash: 0x147cc398
+next entry: 0xa0010006
+rankings: 0x90000003
+key length: 13
+key: "The Fouth key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000003
+next: 0x90000002
+prev: 0x90000004
+entry: 0xa0010005
+dirty: 0
+pointer: 0x0
+----------
+
+Entry at 0xa0010006
+hash: 0x9d910c3c
+next entry: 0xa0010002
+rankings: 0x90000004
+key length: 13
+key: "The fifth key"
+key addr: 0x0
+reuse count: 0
+refetch count: 0
+state: 0
+data size 0: 0
+data addr 0: 0x0
+data size 1: 0
+data addr 1: 0x0
+data size 2: 0
+data addr 2: 0x0
+data size 3: 0
+data addr 3: 0x0
+----------
+
+Rankings at 0x90000004
+next: 0x90000003
+prev: 0x90000004
+entry: 0xa0010006
+dirty: 1
+pointer: 0x0
+
+================================
+
+Generated with:
+
+ SetMask(0x1); // 2-entry table.
+ SetMaxSize(0x3000); // 12 kB.
+ InitCache();
+
+ disk_cache::Entry* entry;
+
+ ASSERT_EQ(net::OK, CreateEntry("The first key", &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry("The Second key", &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry("The third key", &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry("The Fouth key", &entry));
+ entry->Close();
+ ASSERT_EQ(net::OK, CreateEntry("The fifth key", &entry)); <---- Loop it to the first one.
+ entry->Close();
diff --git a/chromium/net/data/cache_tests/list_loop3/data_0 b/chromium/net/data/cache_tests/list_loop3/data_0
new file mode 100644
index 00000000000..d6056bf1b5c
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop3/data_1 b/chromium/net/data/cache_tests/list_loop3/data_1
new file mode 100644
index 00000000000..d41e0fac4fe
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop3/data_2 b/chromium/net/data/cache_tests/list_loop3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop3/data_3 b/chromium/net/data/cache_tests/list_loop3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/list_loop3/index b/chromium/net/data/cache_tests/list_loop3/index
new file mode 100644
index 00000000000..5dcb65417ec
--- /dev/null
+++ b/chromium/net/data/cache_tests/list_loop3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head1/data_0 b/chromium/net/data/cache_tests/remove_head1/data_0
new file mode 100644
index 00000000000..238580b9598
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head1/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head1/data_1 b/chromium/net/data/cache_tests/remove_head1/data_1
new file mode 100644
index 00000000000..38f9960e883
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head1/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head1/data_2 b/chromium/net/data/cache_tests/remove_head1/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head1/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head1/data_3 b/chromium/net/data/cache_tests/remove_head1/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head1/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head1/index b/chromium/net/data/cache_tests/remove_head1/index
new file mode 100644
index 00000000000..595aad3f359
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head1/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head2/data_0 b/chromium/net/data/cache_tests/remove_head2/data_0
new file mode 100644
index 00000000000..29eab4a2678
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head2/data_1 b/chromium/net/data/cache_tests/remove_head2/data_1
new file mode 100644
index 00000000000..d5749efdbce
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head2/data_2 b/chromium/net/data/cache_tests/remove_head2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head2/data_3 b/chromium/net/data/cache_tests/remove_head2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head2/index b/chromium/net/data/cache_tests/remove_head2/index
new file mode 100644
index 00000000000..12244a5dcad
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head3/data_0 b/chromium/net/data/cache_tests/remove_head3/data_0
new file mode 100644
index 00000000000..44fca6fa986
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head3/data_1 b/chromium/net/data/cache_tests/remove_head3/data_1
new file mode 100644
index 00000000000..40c5f1d0d40
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head3/data_2 b/chromium/net/data/cache_tests/remove_head3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head3/data_3 b/chromium/net/data/cache_tests/remove_head3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head3/index b/chromium/net/data/cache_tests/remove_head3/index
new file mode 100644
index 00000000000..dc2d12d6069
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head4/data_0 b/chromium/net/data/cache_tests/remove_head4/data_0
new file mode 100644
index 00000000000..fad4d685481
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head4/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head4/data_1 b/chromium/net/data/cache_tests/remove_head4/data_1
new file mode 100644
index 00000000000..7c6780a99f7
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head4/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head4/data_2 b/chromium/net/data/cache_tests/remove_head4/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head4/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head4/data_3 b/chromium/net/data/cache_tests/remove_head4/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head4/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_head4/index b/chromium/net/data/cache_tests/remove_head4/index
new file mode 100644
index 00000000000..65f598b82aa
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_head4/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load1/data_0 b/chromium/net/data/cache_tests/remove_load1/data_0
new file mode 100644
index 00000000000..1fddb010736
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load1/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load1/data_1 b/chromium/net/data/cache_tests/remove_load1/data_1
new file mode 100644
index 00000000000..a12a44f6a30
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load1/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load1/data_2 b/chromium/net/data/cache_tests/remove_load1/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load1/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load1/data_3 b/chromium/net/data/cache_tests/remove_load1/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load1/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load1/index b/chromium/net/data/cache_tests/remove_load1/index
new file mode 100644
index 00000000000..52189b29ea8
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load1/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load2/data_0 b/chromium/net/data/cache_tests/remove_load2/data_0
new file mode 100644
index 00000000000..c35dca76e0c
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load2/data_1 b/chromium/net/data/cache_tests/remove_load2/data_1
new file mode 100644
index 00000000000..31f5de89faf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load2/data_2 b/chromium/net/data/cache_tests/remove_load2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load2/data_3 b/chromium/net/data/cache_tests/remove_load2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load2/index b/chromium/net/data/cache_tests/remove_load2/index
new file mode 100644
index 00000000000..f3152eb85f1
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load3/data_0 b/chromium/net/data/cache_tests/remove_load3/data_0
new file mode 100644
index 00000000000..fb7e63428f7
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load3/data_1 b/chromium/net/data/cache_tests/remove_load3/data_1
new file mode 100644
index 00000000000..b132cd62ca9
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load3/data_2 b/chromium/net/data/cache_tests/remove_load3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load3/data_3 b/chromium/net/data/cache_tests/remove_load3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_load3/index b/chromium/net/data/cache_tests/remove_load3/index
new file mode 100644
index 00000000000..05dd18afbc3
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_load3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one1/data_0 b/chromium/net/data/cache_tests/remove_one1/data_0
new file mode 100644
index 00000000000..44dd98e6069
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one1/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one1/data_1 b/chromium/net/data/cache_tests/remove_one1/data_1
new file mode 100644
index 00000000000..6076ea6c59f
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one1/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one1/data_2 b/chromium/net/data/cache_tests/remove_one1/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one1/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one1/data_3 b/chromium/net/data/cache_tests/remove_one1/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one1/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one1/index b/chromium/net/data/cache_tests/remove_one1/index
new file mode 100644
index 00000000000..6e6d10d78d0
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one1/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one2/data_0 b/chromium/net/data/cache_tests/remove_one2/data_0
new file mode 100644
index 00000000000..dd64f1e1a48
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one2/data_1 b/chromium/net/data/cache_tests/remove_one2/data_1
new file mode 100644
index 00000000000..671cfaa4860
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one2/data_2 b/chromium/net/data/cache_tests/remove_one2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one2/data_3 b/chromium/net/data/cache_tests/remove_one2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one2/index b/chromium/net/data/cache_tests/remove_one2/index
new file mode 100644
index 00000000000..cd1146cc1a5
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one3/data_0 b/chromium/net/data/cache_tests/remove_one3/data_0
new file mode 100644
index 00000000000..b9efe8a3296
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one3/data_1 b/chromium/net/data/cache_tests/remove_one3/data_1
new file mode 100644
index 00000000000..5802509f531
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one3/data_2 b/chromium/net/data/cache_tests/remove_one3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one3/data_3 b/chromium/net/data/cache_tests/remove_one3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one3/index b/chromium/net/data/cache_tests/remove_one3/index
new file mode 100644
index 00000000000..48a195038ac
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one4/data_0 b/chromium/net/data/cache_tests/remove_one4/data_0
new file mode 100644
index 00000000000..e1f538227ce
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one4/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one4/data_1 b/chromium/net/data/cache_tests/remove_one4/data_1
new file mode 100644
index 00000000000..4985ffbe101
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one4/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one4/data_2 b/chromium/net/data/cache_tests/remove_one4/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one4/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one4/data_3 b/chromium/net/data/cache_tests/remove_one4/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one4/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_one4/index b/chromium/net/data/cache_tests/remove_one4/index
new file mode 100644
index 00000000000..c0dcd59c230
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_one4/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail1/data_0 b/chromium/net/data/cache_tests/remove_tail1/data_0
new file mode 100644
index 00000000000..490168d2887
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail1/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail1/data_1 b/chromium/net/data/cache_tests/remove_tail1/data_1
new file mode 100644
index 00000000000..b8b8418356b
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail1/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail1/data_2 b/chromium/net/data/cache_tests/remove_tail1/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail1/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail1/data_3 b/chromium/net/data/cache_tests/remove_tail1/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail1/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail1/index b/chromium/net/data/cache_tests/remove_tail1/index
new file mode 100644
index 00000000000..0fe2a8d46f2
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail1/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail2/data_0 b/chromium/net/data/cache_tests/remove_tail2/data_0
new file mode 100644
index 00000000000..ca0dbd129e8
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail2/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail2/data_1 b/chromium/net/data/cache_tests/remove_tail2/data_1
new file mode 100644
index 00000000000..cb2b2e6915b
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail2/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail2/data_2 b/chromium/net/data/cache_tests/remove_tail2/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail2/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail2/data_3 b/chromium/net/data/cache_tests/remove_tail2/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail2/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail2/index b/chromium/net/data/cache_tests/remove_tail2/index
new file mode 100644
index 00000000000..e1851289c49
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail2/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail3/data_0 b/chromium/net/data/cache_tests/remove_tail3/data_0
new file mode 100644
index 00000000000..80efaab44f3
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail3/data_0
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail3/data_1 b/chromium/net/data/cache_tests/remove_tail3/data_1
new file mode 100644
index 00000000000..ad9086c459a
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail3/data_1
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail3/data_2 b/chromium/net/data/cache_tests/remove_tail3/data_2
new file mode 100644
index 00000000000..c7e2eb9adcf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail3/data_2
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail3/data_3 b/chromium/net/data/cache_tests/remove_tail3/data_3
new file mode 100644
index 00000000000..5eec97358cf
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail3/data_3
Binary files differ
diff --git a/chromium/net/data/cache_tests/remove_tail3/index b/chromium/net/data/cache_tests/remove_tail3/index
new file mode 100644
index 00000000000..7c534b02e21
--- /dev/null
+++ b/chromium/net/data/cache_tests/remove_tail3/index
Binary files differ
diff --git a/chromium/net/data/cache_tests/wrong_version/index b/chromium/net/data/cache_tests/wrong_version/index
new file mode 100644
index 00000000000..64c1c3cd107
--- /dev/null
+++ b/chromium/net/data/cache_tests/wrong_version/index
Binary files differ
diff --git a/chromium/net/data/filter_unittests/google.txt b/chromium/net/data/filter_unittests/google.txt
new file mode 100644
index 00000000000..b06e0fecbc0
--- /dev/null
+++ b/chromium/net/data/filter_unittests/google.txt
@@ -0,0 +1,19 @@
+Company Overview
+
+Google's mission is to organize the world's information and make it universally accessible and useful.
+
+As a first step to fulfilling that mission, Google's founders Larry Page and Sergey Brin developed a new approach to online search that took root in a Stanford University dorm room and quickly spread to information seekers around the globe. Google is now widely recognized as the world's largest search engine -- an easy-to-use free service that usually returns relevant results in a fraction of a second.
+
+When you visit www.google.com or one of the dozens of other Google domains, you'll be able to find information in many different languages; check stock quotes, maps, and news headlines; lookup phonebook listings for every city in the United States; search billions of images and peruse the world's largest archive of Usenet messages -- more than 1 billion posts dating back to 1981.
+
+We also provide ways to access all this information without making a special trip to the Google homepage. The Google Toolbar enables you to conduct a Google search from anywhere on the web. And for those times when you're away from your PC altogether, Google can be used from a number of wireless platforms including WAP and i-mode phones.
+
+Google's utility and ease of use have made it one of the world's best known brands almost entirely through word of mouth from satisfied users. As a business, Google generates revenue by providing advertisers with the opportunity to deliver measurable, cost-effective online advertising that is relevant to the information displayed on any given page. This makes the advertising useful to you as well as to the advertiser placing it. We believe you should know when someone has paid to put a message in front of you, so we always distinguish ads from the search results or other content on a page. We don't sell placement in the search results themselves, or allow people to pay for a higher ranking there.
+
+Thousands of advertisers use our Google AdWords program to promote their products and services on the web with targeted advertising, and we believe AdWords is the largest program of its kind. In addition, thousands of web site managers take advantage of our Google AdSense program to deliver ads relevant to the content on their sites, improving their ability to generate revenue and enhancing the experience for their users.
+
+To learn more about Google, click on the link at the left for the area that most interests you. Or type what you want to find into our search box and hit enter. Once you do, you'll be on your way to understanding why others say, "Google is the closest thing the Web has to an ultimate answer machine."
+
+What's a Google?
+
+"Googol" is the mathematical term for a 1 followed by 100 zeros. The term was coined by Milton Sirotta, nephew of American mathematician Edward Kasner, and was popularized in the book, "Mathematics and the Imagination" by Kasner and James Newman. Google's play on the term reflects the company's mission to organize the immense amount of information available on the web.
diff --git a/chromium/net/data/ftp/dir-listing-ls-1 b/chromium/net/data/ftp/dir-listing-ls-1
new file mode 100644
index 00000000000..0c09e7ddc95
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-1
@@ -0,0 +1,6 @@
+drwxr-xr-x 3 ftp ftp 4096 May 15 18:11 .
+drwxr-xr-x 3 ftp ftp 4096 May 15 18:11 ..
+-rw-r--r-- 1 ftp ftp 528 Nov 01 2007 .message
+-rw-r--r-- 1 ftp ftp 528 Nov 01 2007 README
+-rw-r--r-- 1 ftp ftp 560 Sep 28 2007 index.html
+drwxr-xr-x 33 ftp ftp 4096 Aug 12 2008 pub
diff --git a/chromium/net/data/ftp/dir-listing-ls-1-utf8 b/chromium/net/data/ftp/dir-listing-ls-1-utf8
new file mode 100644
index 00000000000..8f33030eac9
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-1-utf8
@@ -0,0 +1,6 @@
+drwxr-xr-x 3 ftp ftp 4096 May 15 18:11 .
+drwxr-xr-x 3 ftp ftp 4096 May 15 18:11 ..
+-rw-r--r-- 1 ftp ftp 528 Nov 01 2007 .message
+-rw-r--r-- 1 ftp ftp 528 Nov 01 2007 READMEï¼
+-rw-r--r-- 1 ftp ftp 560 Sep 28 2007 ã“ã‚“ã«ã¡ã¯.html
+drwxr-xr-x 33 ftp ftp 4096 Aug 12 2008 pub
diff --git a/chromium/net/data/ftp/dir-listing-ls-1-utf8.expected b/chromium/net/data/ftp/dir-listing-ls-1-utf8.expected
new file mode 100644
index 00000000000..17db110e44b
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-1-utf8.expected
@@ -0,0 +1,53 @@
+d
+.
+-1
+1994
+5
+15
+18
+11
+
+d
+..
+-1
+1994
+5
+15
+18
+11
+
+-
+.message
+528
+2007
+11
+1
+0
+0
+
+-
+READMEï¼
+528
+2007
+11
+1
+0
+0
+
+-
+ã“ã‚“ã«ã¡ã¯.html
+560
+2007
+9
+28
+0
+0
+
+d
+pub
+-1
+2008
+8
+12
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-1.expected b/chromium/net/data/ftp/dir-listing-ls-1.expected
new file mode 100644
index 00000000000..7998960e214
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-1.expected
@@ -0,0 +1,53 @@
+d
+.
+-1
+1994
+5
+15
+18
+11
+
+d
+..
+-1
+1994
+5
+15
+18
+11
+
+-
+.message
+528
+2007
+11
+1
+0
+0
+
+-
+README
+528
+2007
+11
+1
+0
+0
+
+-
+index.html
+560
+2007
+9
+28
+0
+0
+
+d
+pub
+-1
+2008
+8
+12
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-10 b/chromium/net/data/ftp/dir-listing-ls-10
new file mode 100644
index 00000000000..deff68fc292
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-10
@@ -0,0 +1,10 @@
+Gesamt 4352
+---------- 1 1 1 0 Okt 25 1999 .notar
+lrwxrwxrwx 1 1 1 7 Okt 23 2007 bin -> usr/bin
+d--x--x--x 1 2 2 512 Apr 23 2002 dev
+d--x--x--x 1 2 2 512 Apr 1 2004 etc
+drwx------ 1 7 root 1536 Aug 14 13:49 lost+found
+drwxr-xr-x 1 3 1 512 Mär 10 2003 private
+drwxrwsr-x 1 25 1260 1024 Aug 10 2006 pub
+-rw------- 1 1 1 2211496 Okt 23 2007 restoresymtable
+d--x--x--x 1 6 2 512 Apr 23 2002 usr
diff --git a/chromium/net/data/ftp/dir-listing-ls-10.expected b/chromium/net/data/ftp/dir-listing-ls-10.expected
new file mode 100644
index 00000000000..73f16bfb327
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-10.expected
@@ -0,0 +1,80 @@
+-
+.notar
+0
+1999
+10
+25
+0
+0
+
+l
+bin
+-1
+2007
+10
+23
+0
+0
+
+d
+dev
+-1
+2002
+4
+23
+0
+0
+
+d
+etc
+-1
+2004
+4
+1
+0
+0
+
+d
+lost+found
+-1
+1994
+8
+14
+13
+49
+
+d
+private
+-1
+2003
+3
+10
+0
+0
+
+d
+pub
+-1
+2006
+8
+10
+0
+0
+
+-
+restoresymtable
+2211496
+2007
+10
+23
+0
+0
+
+d
+usr
+-1
+2002
+4
+23
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-11 b/chromium/net/data/ftp/dir-listing-ls-11
new file mode 100644
index 00000000000..f81fda61f38
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-11
@@ -0,0 +1,8 @@
+total 14
+drwxr-xr-x 2 other 512 Feb 25 2009 beid
+lrwxrwxrwx 1 bin 9 May 1 2007 bin -> ./usr/bin
+d--x--x--x 2 sys 512 May 1 2007 dev
+d--x--x--x 5 sys 512 May 1 2007 etc
+drwxr-xr-x 2 sys 512 Mar 27 2009 pub
+drwxr-xr-x 3 other 512 Apr 11 2007 tigerd1
+d--x--x--x 6 sys 512 May 1 2007 usr
diff --git a/chromium/net/data/ftp/dir-listing-ls-11.expected b/chromium/net/data/ftp/dir-listing-ls-11.expected
new file mode 100644
index 00000000000..813bdba0d6e
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-11.expected
@@ -0,0 +1,62 @@
+d
+beid
+-1
+2009
+2
+25
+0
+0
+
+l
+bin
+-1
+2007
+5
+1
+0
+0
+
+d
+dev
+-1
+2007
+5
+1
+0
+0
+
+d
+etc
+-1
+2007
+5
+1
+0
+0
+
+d
+pub
+-1
+2009
+3
+27
+0
+0
+
+d
+tigerd1
+-1
+2007
+4
+11
+0
+0
+
+d
+usr
+-1
+2007
+5
+1
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-12 b/chromium/net/data/ftp/dir-listing-ls-12
new file mode 100644
index 00000000000..7eee0bd1f24
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-12
@@ -0,0 +1,8 @@
+total 14
+lrwxrwxrwx 1 other 7 Sep 1 2005 bin -> usr/bin
+dr-xr-xr-x 2 other 512 Aug 9 2004 dev
+dr-xr-xr-x 2 other 512 Sep 28 2006 etc
+drwxr-xr-x 2 other 512 Sep 28 2006 msgs
+drwxr-xr-x 53 other 1024 Jun 30 09:52 pub
+dr-xr-xr-x 5 other 512 Aug 9 2004 usr
+drwxr-xr-x 2 other 512 Aug 9 2004 var
diff --git a/chromium/net/data/ftp/dir-listing-ls-12.expected b/chromium/net/data/ftp/dir-listing-ls-12.expected
new file mode 100644
index 00000000000..c68e415ee9a
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-12.expected
@@ -0,0 +1,62 @@
+l
+bin
+-1
+2005
+9
+1
+0
+0
+
+d
+dev
+-1
+2004
+8
+9
+0
+0
+
+d
+etc
+-1
+2006
+9
+28
+0
+0
+
+d
+msgs
+-1
+2006
+9
+28
+0
+0
+
+d
+pub
+-1
+1994
+6
+30
+9
+52
+
+d
+usr
+-1
+2004
+8
+9
+0
+0
+
+d
+var
+-1
+2004
+8
+9
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-13 b/chromium/net/data/ftp/dir-listing-ls-13
new file mode 100644
index 00000000000..b2b7bff5a24
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-13
@@ -0,0 +1,3 @@
+-r--r--r-- 1 ftp -A--- 93064 Dec 28 2007 test.jpg
+dr--r--r-- 1 ftp ----- 0 Nov 17 17:08 kernels
+-r--r--r-- 1 ftp -A--- 13274 Mar 1 2006 UpTime.exe
diff --git a/chromium/net/data/ftp/dir-listing-ls-13.expected b/chromium/net/data/ftp/dir-listing-ls-13.expected
new file mode 100644
index 00000000000..30b0b706698
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-13.expected
@@ -0,0 +1,26 @@
+-
+test.jpg
+93064
+2007
+12
+28
+0
+0
+
+d
+kernels
+-1
+1993
+11
+17
+17
+8
+
+-
+UpTime.exe
+13274
+2006
+3
+1
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-14 b/chromium/net/data/ftp/dir-listing-ls-14
new file mode 100644
index 00000000000..84edee4ef3b
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-14
@@ -0,0 +1,3 @@
+-rwxr-xr-x 0 214 214 Jun 30 2005 !readme
+drwxr-xr-x folder 0 Jul 17 2006 online
+-rwxr-xr-x 332 7 339 Feb 5 2004 welcome.txt
diff --git a/chromium/net/data/ftp/dir-listing-ls-14.expected b/chromium/net/data/ftp/dir-listing-ls-14.expected
new file mode 100644
index 00000000000..86aca302b18
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-14.expected
@@ -0,0 +1,26 @@
+-
+!readme
+214
+2005
+6
+30
+0
+0
+
+d
+online
+-1
+2006
+7
+17
+0
+0
+
+-
+welcome.txt
+339
+2004
+2
+5
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-15 b/chromium/net/data/ftp/dir-listing-ls-15
new file mode 100644
index 00000000000..ee0de6ff0b1
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-15
@@ -0,0 +1,5 @@
+total 30
+---------- 1 root other 0 Mar 26 2004 .notar
+d-wx-wx-wt+ 4 ftp 989 512 Dec 8 15:54 incoming
+-r--r--r-- 2 ftp 989 7196 Aug 22 2007 incoming.README
+drwxr-xr-x+ 16 root sys 512 Sep 25 09:56 pub
diff --git a/chromium/net/data/ftp/dir-listing-ls-15.expected b/chromium/net/data/ftp/dir-listing-ls-15.expected
new file mode 100644
index 00000000000..99576fb40be
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-15.expected
@@ -0,0 +1,35 @@
+-
+.notar
+0
+2004
+3
+26
+0
+0
+
+d
+incoming
+-1
+1993
+12
+8
+15
+54
+
+-
+incoming.README
+7196
+2007
+8
+22
+0
+0
+
+d
+pub
+-1
+1994
+9
+25
+9
+56
diff --git a/chromium/net/data/ftp/dir-listing-ls-16 b/chromium/net/data/ftp/dir-listing-ls-16
new file mode 100644
index 00000000000..4c2f783c054
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-16
@@ -0,0 +1,7 @@
+dr-xr-xr-x 1 owner group 0 Nov 28 2008 documentales
+dr-xr-xr-x 1 owner group 0 Nov 28 2008 dosier
+dr-xr-xr-x 1 owner group 0 Dec 1 2008 promos
+dr-xr-xr-x 1 owner group 0 Nov 28 2008 Sueños_futbol
+dr-xr-xr-x 1 owner group 0 Nov 2 15:53 test
+dr-xr-xr-x 1 owner group 0 Nov 25 10:04 tmp
+-r-xr-xr-x 1 owner group 125 Oct 11 2007 Gastronomía.txt
diff --git a/chromium/net/data/ftp/dir-listing-ls-16.expected b/chromium/net/data/ftp/dir-listing-ls-16.expected
new file mode 100644
index 00000000000..18e553c9107
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-16.expected
@@ -0,0 +1,62 @@
+d
+documentales
+-1
+2008
+11
+28
+0
+0
+
+d
+dosier
+-1
+2008
+11
+28
+0
+0
+
+d
+promos
+-1
+2008
+12
+1
+0
+0
+
+d
+Sueños_futbol
+-1
+2008
+11
+28
+0
+0
+
+d
+test
+-1
+1994
+11
+2
+15
+53
+
+d
+tmp
+-1
+1993
+11
+25
+10
+4
+
+-
+Gastronomía.txt
+125
+2007
+10
+11
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-17 b/chromium/net/data/ftp/dir-listing-ls-17
new file mode 100644
index 00000000000..c07fbf3e34f
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-17
@@ -0,0 +1 @@
+ftpd-BSD: .: Permission denied
diff --git a/chromium/net/data/ftp/dir-listing-ls-17.expected b/chromium/net/data/ftp/dir-listing-ls-17.expected
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-17.expected
diff --git a/chromium/net/data/ftp/dir-listing-ls-18 b/chromium/net/data/ftp/dir-listing-ls-18
new file mode 100644
index 00000000000..a5040745775
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-18
@@ -0,0 +1,3 @@
+-rw-r--r-- 1 ftpadmin ftpadmin125435904 Apr 9 2008 .pureftpd-upload.47fcbb3c.849.191b.cd40d08a
+-rw-r--r-- 1 ftpadmin ftpadmin153198592 Nov 20 2008 .pureftpd-upload.4925a00d.849.668d.9ea5b3ed
+-rw-r--r-- 1 ftpadmin ftpadmin 8760 Nov 24 2008 .pureftpd-upload.492b0a03.849.12d.bf5d2bc6
diff --git a/chromium/net/data/ftp/dir-listing-ls-18.expected b/chromium/net/data/ftp/dir-listing-ls-18.expected
new file mode 100644
index 00000000000..1a1fe365d91
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-18.expected
@@ -0,0 +1,26 @@
+-
+.pureftpd-upload.47fcbb3c.849.191b.cd40d08a
+0
+2008
+4
+9
+0
+0
+
+-
+.pureftpd-upload.4925a00d.849.668d.9ea5b3ed
+0
+2008
+11
+20
+0
+0
+
+-
+.pureftpd-upload.492b0a03.849.12d.bf5d2bc6
+8760
+2008
+11
+24
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-19 b/chromium/net/data/ftp/dir-listing-ls-19
new file mode 100644
index 00000000000..c7c66fe679f
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-19
@@ -0,0 +1,2 @@
+drwxr-xr-x 2 0 0 4096 Mar 18 2007
+-rw-r--r-- 1 48 0 4327486 Jun 16 2006 junorelease.zip
diff --git a/chromium/net/data/ftp/dir-listing-ls-19.expected b/chromium/net/data/ftp/dir-listing-ls-19.expected
new file mode 100644
index 00000000000..1d057a91787
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-19.expected
@@ -0,0 +1,8 @@
+-
+junorelease.zip
+4327486
+2006
+6
+16
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-2 b/chromium/net/data/ftp/dir-listing-ls-2
new file mode 100644
index 00000000000..5e2c6e2e078
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-2
@@ -0,0 +1,7 @@
+drwxr-xr-x 3 0 0 4096 Sep 18 2008 .
+drwxr-xr-x 3 0 0 4096 Sep 18 2008 ..
+lrwxrwxrwx 1 0 509 1 Nov 08 2007 ftp -> .
+lrwxrwxrwx 1 0 0 3 Oct 12 2007 mirror -> pub
+lrwxrwxrwx 1 0 0 26 Sep 18 2008 pub -> vol/1/.CLUSTER/var_ftp/pub
+lrwxrwxrwx 1 0 0 27 Oct 16 2007 site -> vol/1/.CLUSTER/var_ftp/site
+drwxr-xr-x 7 0 0 4096 Jul 02 2008 vol
diff --git a/chromium/net/data/ftp/dir-listing-ls-2.expected b/chromium/net/data/ftp/dir-listing-ls-2.expected
new file mode 100644
index 00000000000..403a61cb07e
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-2.expected
@@ -0,0 +1,62 @@
+d
+.
+-1
+2008
+9
+18
+0
+0
+
+d
+..
+-1
+2008
+9
+18
+0
+0
+
+l
+ftp
+-1
+2007
+11
+8
+0
+0
+
+l
+mirror
+-1
+2007
+10
+12
+0
+0
+
+l
+pub
+-1
+2008
+9
+18
+0
+0
+
+l
+site
+-1
+2007
+10
+16
+0
+0
+
+d
+vol
+-1
+2008
+7
+2
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-20 b/chromium/net/data/ftp/dir-listing-ls-20
new file mode 100644
index 00000000000..18d5bb27e51
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-20
@@ -0,0 +1,18 @@
+drwxrwxr-x 17 ftp ftp 4096 Nov 01 16:27 .
+drwxr-xr-x 7 ftp ftp 4096 Apr 03 2010 ..
+drwxrwxrwx 5 ftp ftp 4096 May 26 15:51 2012_-_2012-(2009)-[1080p]_[BD]
+-rw-rw-rw- 1 ftp ftp 4931 Jun 08 15:24 _READ_ME.txt
+drwxrwxrwx 5 ftp ftp 4096 Nov 01 16:27 Áåç_ëèöà_-_Face_Off-(1997)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jan 22 2010 Ââåðõ_-_Up-(2009)-[1080p]_[BD]
+drwxrwxrwx 5 ftp ftp 4096 May 27 18:12 Âñïîìíèòü_âñå_-_Total_Recall-(1990)-[1080p]_[BD]
+drwxrwxrwx 3 ftp ftp 4096 May 21 14:28 Çàêîíîïîñëóøíûé_ãðàæäàíèí_[Ðàñøèðåííàÿ_âåðñèÿ]_-_Law_Abiding_Citizen_[Unrated_Edition]-(2009)-[1080p]_[BD_Remux]
+drwxrwxrwx 5 ftp ftp 4096 Jan 21 2010 Ìîíñòðî_-_Cloverfield-(2008)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 May 26 13:43 Ïàíäîðóì_-_Pandorum-(2009)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 May 27 14:18 Ïîñëåäíèé_ñàìóðàé_-_The_Last_Samurai-(2003)-[1080p]_[BD]
+drwxrwxrwx 6 ftp ftp 4096 Jan 27 2010 Ðàéîí_9_-_District_9-(2009)-[1080p]_[BD]
+drwxrwxrwx 7 ftp ftp 4096 Jan 01 2010 Ðîêêè_Àíòîëîãèÿ_-_Rocky_The_Undisputed_Collection-(1976_1979_1982_1985_1990)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 May 31 12:57 Ñóððîãàòû_-_Surrogates-(2009)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jan 28 2010 Òðîéíîé_Ôîðñàæ-Òîêèéñêèé_Äðèôò_-_The_Fast_and_the_Furious-Tokyo_Drift-(2006)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jan 08 2010 Ôîðñàæ_-_The_Fast_and_the_Furious-(2001)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jan 06 2010 Ôîðñàæ_2_-_2_Fast_2_Furious-(2003)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jun 08 15:26 Ôîðñàæ_4_-_Fast_&_Furious-(2009)-[1080p]_[BD]
diff --git a/chromium/net/data/ftp/dir-listing-ls-20.expected b/chromium/net/data/ftp/dir-listing-ls-20.expected
new file mode 100644
index 00000000000..9c636b9307d
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-20.expected
@@ -0,0 +1,161 @@
+d
+.
+-1
+1994
+11
+1
+16
+27
+
+d
+..
+-1
+2010
+4
+3
+0
+0
+
+d
+2012_-_2012-(2009)-[1080p]_[BD]
+-1
+1994
+5
+26
+15
+51
+
+-
+_READ_ME.txt
+4931
+1994
+6
+8
+15
+24
+
+d
+Ãåç_ëèöà_-_Face_Off-(1997)-[1080p]_[BD]
+-1
+1994
+11
+1
+16
+27
+
+d
+Ââåðõ_-_Up-(2009)-[1080p]_[BD]
+-1
+2010
+1
+22
+0
+0
+
+d
+Âñïîìíèòü_âñå_-_Total_Recall-(1990)-[1080p]_[BD]
+-1
+1994
+5
+27
+18
+12
+
+d
+Çàêîíîïîñëóøíûé_ãðàæäàíèí_[Ãàñøèðåííàÿ_âåðñèÿ]_-_Law_Abiding_Citizen_[Unrated_Edition]-(2009)-[1080p]_[BD_Remux]
+-1
+1994
+5
+21
+14
+28
+
+d
+Ìîíñòðî_-_Cloverfield-(2008)-[1080p]_[BD]
+-1
+2010
+1
+21
+0
+0
+
+d
+Ãàíäîðóì_-_Pandorum-(2009)-[1080p]_[BD]
+-1
+1994
+5
+26
+13
+43
+
+d
+Ãîñëåäíèé_ñàìóðàé_-_The_Last_Samurai-(2003)-[1080p]_[BD]
+-1
+1994
+5
+27
+14
+18
+
+d
+Ãàéîí_9_-_District_9-(2009)-[1080p]_[BD]
+-1
+2010
+1
+27
+0
+0
+
+d
+Ãîêêè_Àíòîëîãèÿ_-_Rocky_The_Undisputed_Collection-(1976_1979_1982_1985_1990)-[1080p]_[BD]
+-1
+2010
+1
+1
+0
+0
+
+d
+Ñóððîãàòû_-_Surrogates-(2009)-[1080p]_[BD]
+-1
+1994
+5
+31
+12
+57
+
+d
+Òðîéíîé_Ôîðñàæ-Òîêèéñêèé_Äðèôò_-_The_Fast_and_the_Furious-Tokyo_Drift-(2006)-[1080p]_[BD]
+-1
+2010
+1
+28
+0
+0
+
+d
+Ôîðñàæ_-_The_Fast_and_the_Furious-(2001)-[1080p]_[BD]
+-1
+2010
+1
+8
+0
+0
+
+d
+Ôîðñàæ_2_-_2_Fast_2_Furious-(2003)-[1080p]_[BD]
+-1
+2010
+1
+6
+0
+0
+
+d
+Ôîðñàæ_4_-_Fast_&_Furious-(2009)-[1080p]_[BD]
+-1
+1994
+6
+8
+15
+26
diff --git a/chromium/net/data/ftp/dir-listing-ls-21 b/chromium/net/data/ftp/dir-listing-ls-21
new file mode 100644
index 00000000000..1246efd95e0
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-21
@@ -0,0 +1,27 @@
+drwxrwxr-x 26 ftp ftp 4096 Jul 15 2009 .
+drwxr-xr-x 7 ftp ftp 4096 Apr 03 2010 ..
+-rw-rw-rw- 1 ftp ftp 4931 Jun 08 15:24 _READ_ME.txt
+drwxr-xr-x 5 ftp ftp 4096 Apr 27 2009 Àâàëîí_-_Avalon-(2001)-[1080p]_[BD_Remux]
+drwxrwxrwx 5 ftp ftp 4096 Jun 15 2009 Áðþñ_âñåìîãóùèé_-_Bruce_Almighty-(2003)-[1080p]_[BD]
+drwxr-xr-x 4 ftp ftp 4096 Apr 15 2009 ÂÀËË-È_-_WALL-E-(2008)-[1080p]_[BD]
+drwxr-xr-x 4 ftp ftp 4096 Apr 28 2009 Äæåéìñ_Áîíä_007-Êâàíò_ìèëîñåðäèÿ_-_James_Bond_007-Quantum_of_Solace-(2008)-[1080p]_[BD]
+drwxr-xr-x 4 ftp ftp 4096 Apr 15 2009 Êîñìîñ-Òåððèòîðèÿ_cìåðòè_-_Dead_Space-Downfall-(2008)-[1080p]_[BD]
+drwxrwxrwx 5 ftp ftp 4096 Jul 03 2009 Ìàäàãàñêàð_1_-_Madagascar_1-(2005)-[1080p]_[BD]
+drwxrwxrwx 5 ftp ftp 4096 Jul 03 2009 Ìàäàãàñêàð_2_-_Madagascar-Escape_2_Africa-(2008)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jun 13 2009 Ìàòðèöà-Ïåðåçàãðóçêà_-_The_Matrix-Reloaded-(2003)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jun 14 2009 Ìàòðèöà-Ðåâîëþöèÿ_-_The_Matrix-Revolutions-(2003)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jun 12 2009 Ìàòðèöà_-_The_Matrix-(1999)-[1080p]_[BD]
+drwxrwxrwx 4 ftp ftp 4096 Jul 02 2009 Îáèòåëü_çëà_3_-_Resident_Evil-Extinction-(2007)-[1080p]_[BD]
+drwxr-xr-x 3 ftp ftp 4096 May 01 2009 Îñòðîâ_-_The_Island-(2005)-[1080p]_[BD]
+drwxrwxrwx 5 ftp ftp 4096 Jul 03 2009 Ïåðåâîç÷èê_3_-_Transporter_3-(2008)-[1080p]_[BD]
+drwxrwxr-x 5 ftp ftp 4096 May 02 2009 Ïèðàòû_Êàðèáñêîãî_ìîðÿ-Íà_êðàþ_Ñâåòà_-_Pirates_of_the_Caribbean-At_World's_End-(2007)-[1080p]_[BD]
+drwxrwxr-x 5 ftp ftp 4096 May 03 2009 Ïèðàòû_Êàðèáñêîãî_ìîðÿ-Ïðîêëÿòèå_×åðíîé_Æåì÷óæèíû_-_Pirates_of_the_Caribbean-The_Curse_of_the_Black_Pearl-(2003)-[1080p]_[BD]
+drwxrwxr-x 5 ftp ftp 4096 May 02 2009 Ïèðàòû_Êàðèáñêîãî_ìîðÿ-Ñóíäóê_ìåðòâåöà_-_Pirates_of_the_Caribbean-Dead_Man's_Chest-(2006)-[1080p]_[BD]
+drwxrwxr-x 3 ftp ftp 4096 May 01 2009 Ïðèçðà÷íûé_ãîíùèê_-_Ghost_Rider-(2007)-[1080p]_[BD]
+drwxr-xr-x 5 ftp ftp 4096 Apr 29 2009 Ïðèíöåññà-íåâåñòà_-_The_Princess_Bride-(1987)-[1080p]_[BD]
+drwxrwxrwx 5 ftp ftp 4096 Jun 08 2009 Ñåêñ_è_101_ñìåðòü_-_Sex_and_Death_101-(2007)-[1080p]_[BD]
+drwxr-xr-x 4 ftp ftp 4096 May 01 2009 Òðàíñôîðìåðû-Áîíóñ_äèñê_-_Transformers-Bonus_Disk-(2007)-[1080p]_[BD]
+drwxr-xr-x 4 ftp ftp 4096 Apr 30 2009 Òðàíñôîðìåðû_-_Transformers-(2007)-[1080p]_[BD]
+drwxrwxrwx 6 ftp ftp 4096 Jun 07 2009 Òðèíàäöàòûé_ýòàæ_-_The_Thirteenth_Floor-(1999)-[1080p]_[BD]
+drwxrwxr-x 3 ftp ftp 4096 May 04 2009 Óëè÷íûé_áîåö_-_Street_Fighter-(1994)-[1080p]_[BD_Remux]
+drwxr-xr-x 5 ftp ftp 4096 Mar 15 2009 ×åãî_õîòÿò_æåíùèíû_-_What_Woman_Want-(2000)-[1080p]_[BD]
diff --git a/chromium/net/data/ftp/dir-listing-ls-21.expected b/chromium/net/data/ftp/dir-listing-ls-21.expected
new file mode 100644
index 00000000000..0111be16235
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-21.expected
@@ -0,0 +1,242 @@
+d
+.
+-1
+2009
+7
+15
+0
+0
+
+d
+..
+-1
+2010
+4
+3
+0
+0
+
+-
+_READ_ME.txt
+4931
+1994
+6
+8
+15
+24
+
+d
+Àâàëîí_-_Avalon-(2001)-[1080p]_[BD_Remux]
+-1
+2009
+4
+27
+0
+0
+
+d
+Ãðþñ_âñåìîãóùèé_-_Bruce_Almighty-(2003)-[1080p]_[BD]
+-1
+2009
+6
+15
+0
+0
+
+d
+ÂÀËË-È_-_WALL-E-(2008)-[1080p]_[BD]
+-1
+2009
+4
+15
+0
+0
+
+d
+Äæåéìñ_Ãîíä_007-Êâàíò_ìèëîñåðäèÿ_-_James_Bond_007-Quantum_of_Solace-(2008)-[1080p]_[BD]
+-1
+2009
+4
+28
+0
+0
+
+d
+Êîñìîñ-Òåððèòîðèÿ_cìåðòè_-_Dead_Space-Downfall-(2008)-[1080p]_[BD]
+-1
+2009
+4
+15
+0
+0
+
+d
+Ìàäàãàñêàð_1_-_Madagascar_1-(2005)-[1080p]_[BD]
+-1
+2009
+7
+3
+0
+0
+
+d
+Ìàäàãàñêàð_2_-_Madagascar-Escape_2_Africa-(2008)-[1080p]_[BD]
+-1
+2009
+7
+3
+0
+0
+
+d
+Ìàòðèöà-Ãåðåçàãðóçêà_-_The_Matrix-Reloaded-(2003)-[1080p]_[BD]
+-1
+2009
+6
+13
+0
+0
+
+d
+Ìàòðèöà-Ãåâîëþöèÿ_-_The_Matrix-Revolutions-(2003)-[1080p]_[BD]
+-1
+2009
+6
+14
+0
+0
+
+d
+Ìàòðèöà_-_The_Matrix-(1999)-[1080p]_[BD]
+-1
+2009
+6
+12
+0
+0
+
+d
+Îáèòåëü_çëà_3_-_Resident_Evil-Extinction-(2007)-[1080p]_[BD]
+-1
+2009
+7
+2
+0
+0
+
+d
+Îñòðîâ_-_The_Island-(2005)-[1080p]_[BD]
+-1
+2009
+5
+1
+0
+0
+
+d
+Ãåðåâîç÷èê_3_-_Transporter_3-(2008)-[1080p]_[BD]
+-1
+2009
+7
+3
+0
+0
+
+d
+Ãèðàòû_Êàðèáñêîãî_ìîðÿ-Ãà_êðàþ_Ñâåòà_-_Pirates_of_the_Caribbean-At_World's_End-(2007)-[1080p]_[BD]
+-1
+2009
+5
+2
+0
+0
+
+d
+Ãèðàòû_Êàðèáñêîãî_ìîðÿ-Ãðîêëÿòèå_×åðíîé_Æåì÷óæèíû_-_Pirates_of_the_Caribbean-The_Curse_of_the_Black_Pearl-(2003)-[1080p]_[BD]
+-1
+2009
+5
+3
+0
+0
+
+d
+Ãèðàòû_Êàðèáñêîãî_ìîðÿ-Ñóíäóê_ìåðòâåöà_-_Pirates_of_the_Caribbean-Dead_Man's_Chest-(2006)-[1080p]_[BD]
+-1
+2009
+5
+2
+0
+0
+
+d
+Ãðèçðà÷íûé_ãîíùèê_-_Ghost_Rider-(2007)-[1080p]_[BD]
+-1
+2009
+5
+1
+0
+0
+
+d
+Ãðèíöåññà-íåâåñòà_-_The_Princess_Bride-(1987)-[1080p]_[BD]
+-1
+2009
+4
+29
+0
+0
+
+d
+Ñåêñ_è_101_ñìåðòü_-_Sex_and_Death_101-(2007)-[1080p]_[BD]
+-1
+2009
+6
+8
+0
+0
+
+d
+Òðàíñôîðìåðû-Ãîíóñ_äèñê_-_Transformers-Bonus_Disk-(2007)-[1080p]_[BD]
+-1
+2009
+5
+1
+0
+0
+
+d
+Òðàíñôîðìåðû_-_Transformers-(2007)-[1080p]_[BD]
+-1
+2009
+4
+30
+0
+0
+
+d
+Òðèíàäöàòûé_ýòàæ_-_The_Thirteenth_Floor-(1999)-[1080p]_[BD]
+-1
+2009
+6
+7
+0
+0
+
+d
+Óëè÷íûé_áîåö_-_Street_Fighter-(1994)-[1080p]_[BD_Remux]
+-1
+2009
+5
+4
+0
+0
+
+d
+×åãî_õîòÿò_æåíùèíû_-_What_Woman_Want-(2000)-[1080p]_[BD]
+-1
+2009
+3
+15
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-22 b/chromium/net/data/ftp/dir-listing-ls-22
new file mode 100644
index 00000000000..df4414125de
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-22
@@ -0,0 +1,32 @@
+drwxrwxr-x 5 ftp ftp 12288 Oct 20 17:04 .
+drwxr-xr-x 7 ftp ftp 4096 Apr 03 2010 ..
+-rw-rw-rw- 1 ftp ftp 4931 Jun 08 15:23 _READ_ME.txt
+drwxrwxrwx 4 ftp ftp 4096 May 31 16:26 Àâàòàð_-_Avatar-(2009)-[1080p]_[BD]
+-rwxrwxr-x 1 ftp ftp 17577705968 Mar 08 2009 Àìåðèêàíñêèé_ïèðîã_1_[Ðàñøèðåííàÿ_âåðñèÿ]_-_American_Pie_1_[Unrated_Edition]-(1999)-[1080p]_[BD_remux].ts
+-rwxrwxr-x 1 ftp ftp 15512934868 Mar 16 2009 Áîëüøîé_êóø_-_Snatch-(2000)-[1080i]_[HDTV].ts
+drwxrwxrwx 2 ftp ftp 4096 Jun 03 19:07 Áîëüøîé_êóø_-_Snatch-(2000)-[1080p]_[BD_Remux]
+-rwxrwxr-x 1 ftp ftp 8900589105 Mar 24 2009 Âîéíà_ìèðîâ_-_War_of_the_Worlds-(2005)-[720p]_[HDTV].mkv
+-rwxrwxr-x 1 ftp ftp 27728321654 Mar 09 2009 Ãàíãñòåð_-_American_Gangster-(2007)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 31731782861 Mar 09 2009 Ãàíãñòåð_[Ðàñøèðåííàÿ_âåðñèÿ]_-_American_Gangster_[Unrated_Edition]-(2007)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 5009104014 Mar 24 2009 Äîðîæíîå_ïðèêëþ÷åíèå_-_Road_Trip-(2000)-[720p]_[HDTV_Rip].mkv
+-rwxrwxr-x 1 ftp ftp 21410583980 Mar 11 2009 Çâ¸çäíûå_âîéíû-Ýïèçîä_2-Àòàêà_êëîíîâ_-_Star_Wars-Episode_2-Attack_of_the_Clones-(2002)-[1080i]_[HDTV].ts
+-rwxrwxr-x 1 ftp ftp 19858181688 Mar 11 2009 Çâ¸çäíûå_âîéíû-Ýïèçîä_3-Ìåñòü_Ñèòõîâ_-_Star_Wars-Episode_3-Revenge_of_the_Sith-(2005)-[1080i]_[HDTV].ts
+-rwxrwxr-x 1 ftp ftp 29026065728 Mar 16 2009 Çâ¸çäíûé_äåñàíò_-_Starship_Troopers-(1997)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 22169179449 Mar 16 2009 Çåðêàëà_[Ðàñøèðåííàÿ_âåðñèÿ]_-_Mirrors_[Unrated_Edition]-(2008)-[1080p]_[BD_remux].mkv
+drwxrwxrwx 4 ftp ftp 4096 Jun 15 14:56 Íèíäçÿ-óáèéöà_-_Ninja_Assassin-(2009)-[1080p]_[BD]
+-rwxrwxr-x 1 ftp ftp 19717173247 Mar 11 2009 Îáèòåëü_çëà_3_-_Resident_Evil-Extinction-(2007)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 18660904388 Mar 11 2009 Ïàòîëîãèÿ_-_Pathology-(2008)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 16476154520 Mar 05 2009 Ïèëà_1_[Ðåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_I_[Director's_Cut]-(2004)-[1080p]_[HDDVD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 19917510515 Mar 05 2009 Ïèëà_2_[Ðåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_II_[Director's_Cut]-(2005)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 18085592265 Mar 05 2009 Ïèëà_3_[Ðåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_III_[Director's_Cut]-(2006)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 3473582701 Mar 05 2009 Ïèëà_4_[Ðåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_IV_[Director's_Cut]-(2007)-[1080p]_[BD_remux].flac
+-rwxrwxr-x 1 ftp ftp 15263958421 Mar 05 2009 Ïèëà_4_[Ðåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_IV_[Director's_Cut]-(2007)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 19944605507 Mar 16 2009 Ïèëà_5_[Ðåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_V_[Director's_Cut]-(2008)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 3024333064 Mar 24 2009 Ïèíãâèíû_èç_Ìàäàãàñêàðà-Îïåðàöèÿ_Ñ_Íîâûì_Ãîäîì!_-_The_Madagascar_Penguins_in_A_Christmas_Caper-(2005)-[1080p]_[BD_remux].ts
+-rwxrwxr-x 1 ftp ftp 125961 Mar 05 2009 Ïëîõîé_Ñàíòà_[Ðàñøèðåííàÿ_âåðñèÿ]_-_Bad_Santa_[Unrated_Edition]-(2003)-[1080p]_[BD_remux].srt
+-rwxrwxr-x 1 ftp ftp 19908695408 Mar 05 2009 Ïëîõîé_Ñàíòà_[Ðàñøèðåííàÿ_âåðñèÿ]_-_Bad_Santa_[Unrated_Edition]-(2003)-[1080p]_[BD_remux].ts
+-rwxrwxr-x 1 ftp ftp 23185439267 Mar 11 2009 Ïîáåã_èç_Øîóøåíêà_-_The_Shawshank_Redemption-(1994)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 19567287274 Mar 16 2009 Òóïîé_è_åùå_òóïåå_[Ðàñøèðåííàÿ_âåðñèÿ]_-_Dumb_and_Dumber_[Unrated_Edition]-(1994)-[1080p]_[BD_remux].mkv
+-rwxrwxr-x 1 ftp ftp 14773061093 Mar 16 2009 Óðàãàí_-_The_Hurricane-(1999)-[1080p]_[HDDVD_Rip].mkv
+-rwxrwxr-x 1 ftp ftp 22411268500 Mar 11 2009 Õîñòåë_2_[Ðåæèññ¸ðñêàÿ_âåðñèÿ]_-_Hostel_2_[Director's_Cut]-(2007)-[1080p]_[BD_remux].ts
+-rwxrwxr-x 1 ftp ftp 23712519861 Mar 11 2009 ×óæîé_ïðîòèâ_Õèùíèêà_[Ðàñøèðåííàÿ_âåðñèÿ]_-_Alien_vs_Predator_[Unrated_Edition]-(2004)-[1080p]_[BD_remux].mkv
diff --git a/chromium/net/data/ftp/dir-listing-ls-22.expected b/chromium/net/data/ftp/dir-listing-ls-22.expected
new file mode 100644
index 00000000000..c5a02b7850f
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-22.expected
@@ -0,0 +1,287 @@
+d
+.
+-1
+1994
+10
+20
+17
+4
+
+d
+..
+-1
+2010
+4
+3
+0
+0
+
+-
+_READ_ME.txt
+4931
+1994
+6
+8
+15
+23
+
+d
+Àâàòàð_-_Avatar-(2009)-[1080p]_[BD]
+-1
+1994
+5
+31
+16
+26
+
+-
+Àìåðèêàíñêèé_ïèðîã_1_[Ãàñøèðåííàÿ_âåðñèÿ]_-_American_Pie_1_[Unrated_Edition]-(1999)-[1080p]_[BD_remux].ts
+17577705968
+2009
+3
+8
+0
+0
+
+-
+Ãîëüøîé_êóø_-_Snatch-(2000)-[1080i]_[HDTV].ts
+15512934868
+2009
+3
+16
+0
+0
+
+d
+Ãîëüøîé_êóø_-_Snatch-(2000)-[1080p]_[BD_Remux]
+-1
+1994
+6
+3
+19
+7
+
+-
+Âîéíà_ìèðîâ_-_War_of_the_Worlds-(2005)-[720p]_[HDTV].mkv
+8900589105
+2009
+3
+24
+0
+0
+
+-
+Ãàíãñòåð_-_American_Gangster-(2007)-[1080p]_[BD_remux].mkv
+27728321654
+2009
+3
+9
+0
+0
+
+-
+Ãàíãñòåð_[Ãàñøèðåííàÿ_âåðñèÿ]_-_American_Gangster_[Unrated_Edition]-(2007)-[1080p]_[BD_remux].mkv
+31731782861
+2009
+3
+9
+0
+0
+
+-
+Äîðîæíîå_ïðèêëþ÷åíèå_-_Road_Trip-(2000)-[720p]_[HDTV_Rip].mkv
+5009104014
+2009
+3
+24
+0
+0
+
+-
+Çâ¸çäíûå_âîéíû-Ãïèçîä_2-Àòàêà_êëîíîâ_-_Star_Wars-Episode_2-Attack_of_the_Clones-(2002)-[1080i]_[HDTV].ts
+21410583980
+2009
+3
+11
+0
+0
+
+-
+Çâ¸çäíûå_âîéíû-Ãïèçîä_3-Ìåñòü_Ñèòõîâ_-_Star_Wars-Episode_3-Revenge_of_the_Sith-(2005)-[1080i]_[HDTV].ts
+19858181688
+2009
+3
+11
+0
+0
+
+-
+Çâ¸çäíûé_äåñàíò_-_Starship_Troopers-(1997)-[1080p]_[BD_remux].mkv
+29026065728
+2009
+3
+16
+0
+0
+
+-
+Çåðêàëà_[Ãàñøèðåííàÿ_âåðñèÿ]_-_Mirrors_[Unrated_Edition]-(2008)-[1080p]_[BD_remux].mkv
+22169179449
+2009
+3
+16
+0
+0
+
+d
+Ãèíäçÿ-óáèéöà_-_Ninja_Assassin-(2009)-[1080p]_[BD]
+-1
+1994
+6
+15
+14
+56
+
+-
+Îáèòåëü_çëà_3_-_Resident_Evil-Extinction-(2007)-[1080p]_[BD_remux].mkv
+19717173247
+2009
+3
+11
+0
+0
+
+-
+Ãàòîëîãèÿ_-_Pathology-(2008)-[1080p]_[BD_remux].mkv
+18660904388
+2009
+3
+11
+0
+0
+
+-
+Ãèëà_1_[Ãåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_I_[Director's_Cut]-(2004)-[1080p]_[HDDVD_remux].mkv
+16476154520
+2009
+3
+5
+0
+0
+
+-
+Ãèëà_2_[Ãåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_II_[Director's_Cut]-(2005)-[1080p]_[BD_remux].mkv
+19917510515
+2009
+3
+5
+0
+0
+
+-
+Ãèëà_3_[Ãåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_III_[Director's_Cut]-(2006)-[1080p]_[BD_remux].mkv
+18085592265
+2009
+3
+5
+0
+0
+
+-
+Ãèëà_4_[Ãåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_IV_[Director's_Cut]-(2007)-[1080p]_[BD_remux].flac
+3473582701
+2009
+3
+5
+0
+0
+
+-
+Ãèëà_4_[Ãåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_IV_[Director's_Cut]-(2007)-[1080p]_[BD_remux].mkv
+15263958421
+2009
+3
+5
+0
+0
+
+-
+Ãèëà_5_[Ãåæèññ¸ðñêàÿ_âåðñèÿ]_-_Saw_V_[Director's_Cut]-(2008)-[1080p]_[BD_remux].mkv
+19944605507
+2009
+3
+16
+0
+0
+
+-
+Ãèíãâèíû_èç_Ìàäàãàñêàðà-Îïåðàöèÿ_Ñ_Ãîâûì_Ãîäîì!_-_The_Madagascar_Penguins_in_A_Christmas_Caper-(2005)-[1080p]_[BD_remux].ts
+3024333064
+2009
+3
+24
+0
+0
+
+-
+Ãëîõîé_Ñàíòà_[Ãàñøèðåííàÿ_âåðñèÿ]_-_Bad_Santa_[Unrated_Edition]-(2003)-[1080p]_[BD_remux].srt
+125961
+2009
+3
+5
+0
+0
+
+-
+Ãëîõîé_Ñàíòà_[Ãàñøèðåííàÿ_âåðñèÿ]_-_Bad_Santa_[Unrated_Edition]-(2003)-[1080p]_[BD_remux].ts
+19908695408
+2009
+3
+5
+0
+0
+
+-
+Ãîáåã_èç_Øîóøåíêà_-_The_Shawshank_Redemption-(1994)-[1080p]_[BD_remux].mkv
+23185439267
+2009
+3
+11
+0
+0
+
+-
+Òóïîé_è_åùå_òóïåå_[Ãàñøèðåííàÿ_âåðñèÿ]_-_Dumb_and_Dumber_[Unrated_Edition]-(1994)-[1080p]_[BD_remux].mkv
+19567287274
+2009
+3
+16
+0
+0
+
+-
+Óðàãàí_-_The_Hurricane-(1999)-[1080p]_[HDDVD_Rip].mkv
+14773061093
+2009
+3
+16
+0
+0
+
+-
+Õîñòåë_2_[Ãåæèññ¸ðñêàÿ_âåðñèÿ]_-_Hostel_2_[Director's_Cut]-(2007)-[1080p]_[BD_remux].ts
+22411268500
+2009
+3
+11
+0
+0
+
+-
+×óæîé_ïðîòèâ_Õèùíèêà_[Ãàñøèðåííàÿ_âåðñèÿ]_-_Alien_vs_Predator_[Unrated_Edition]-(2004)-[1080p]_[BD_remux].mkv
+23712519861
+2009
+3
+11
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-23 b/chromium/net/data/ftp/dir-listing-ls-23
new file mode 100644
index 00000000000..2b8c49483d0
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-23
@@ -0,0 +1,2 @@
+total 0
+ftpd: .: Permission denied
diff --git a/chromium/net/data/ftp/dir-listing-ls-23.expected b/chromium/net/data/ftp/dir-listing-ls-23.expected
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-23.expected
diff --git a/chromium/net/data/ftp/dir-listing-ls-24 b/chromium/net/data/ftp/dir-listing-ls-24
new file mode 100644
index 00000000000..acb09a8bc1d
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-24
@@ -0,0 +1,2 @@
+drwxr-xr-x 33 ftp ftp 4096 Aug 12 2008 note_empty_line_below
+
diff --git a/chromium/net/data/ftp/dir-listing-ls-24.expected b/chromium/net/data/ftp/dir-listing-ls-24.expected
new file mode 100644
index 00000000000..bdfd3091873
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-24.expected
@@ -0,0 +1,8 @@
+d
+note_empty_line_below
+-1
+2008
+8
+12
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-25 b/chromium/net/data/ftp/dir-listing-ls-25
new file mode 100644
index 00000000000..47e0487b3cf
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-25
@@ -0,0 +1,6 @@
+drwxr-xr-x 3 ftp ftp 4096 15 апр 18:11 .
+drwxr-xr-x 3 ftp ftp 4096 15 июл 18:11 ..
+-rw-r--r-- 1 ftp ftp 528 01 май 2007 .message
+-rw-r--r-- 1 ftp ftp 528 01 Ð½Ð¾Ñ 2007 README
+-rw-r--r-- 1 ftp ftp 560 28 Ñен 2007 index.html
+drwxr-xr-x 33 ftp ftp 4096 12 фев 2008 pub
diff --git a/chromium/net/data/ftp/dir-listing-ls-25.expected b/chromium/net/data/ftp/dir-listing-ls-25.expected
new file mode 100644
index 00000000000..8b1b2db85f2
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-25.expected
@@ -0,0 +1,53 @@
+d
+.
+-1
+1994
+4
+15
+18
+11
+
+d
+..
+-1
+1994
+7
+15
+18
+11
+
+-
+.message
+528
+2007
+5
+1
+0
+0
+
+-
+README
+528
+2007
+11
+1
+0
+0
+
+-
+index.html
+560
+2007
+9
+28
+0
+0
+
+d
+pub
+-1
+2008
+2
+12
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-26 b/chromium/net/data/ftp/dir-listing-ls-26
new file mode 100644
index 00000000000..45d7e8a8d22
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-26
@@ -0,0 +1,6 @@
+drwxr-xr-x 3 ftp ftp 4096 15 ÁÐÒ 18:11 .
+drwxr-xr-x 3 ftp ftp 4096 15 ÉÀÌ 18:11 ..
+-rw-r--r-- 1 ftp ftp 528 01 ÍÁÊ 2007 .message
+-rw-r--r-- 1 ftp ftp 528 01 ÎÏÑ 2007 README
+-rw-r--r-- 1 ftp ftp 560 28 ÓÅÎ 2007 index.html
+drwxr-xr-x 33 ftp ftp 4096 12 ÆÅ× 2008 pub
diff --git a/chromium/net/data/ftp/dir-listing-ls-26.expected b/chromium/net/data/ftp/dir-listing-ls-26.expected
new file mode 100644
index 00000000000..8b1b2db85f2
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-26.expected
@@ -0,0 +1,53 @@
+d
+.
+-1
+1994
+4
+15
+18
+11
+
+d
+..
+-1
+1994
+7
+15
+18
+11
+
+-
+.message
+528
+2007
+5
+1
+0
+0
+
+-
+README
+528
+2007
+11
+1
+0
+0
+
+-
+index.html
+560
+2007
+9
+28
+0
+0
+
+d
+pub
+-1
+2008
+2
+12
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-27 b/chromium/net/data/ftp/dir-listing-ls-27
new file mode 100644
index 00000000000..3c0a3040e17
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-27
@@ -0,0 +1,6 @@
+drwxr-xr-x 3 ftp ftp 4096 15 àïð 18:11 .
+drwxr-xr-x 3 ftp ftp 4096 15 èþë 18:11 ..
+-rw-r--r-- 1 ftp ftp 528 01 ìàé 2007 .message
+-rw-r--r-- 1 ftp ftp 528 01 íîÿ 2007 README
+-rw-r--r-- 1 ftp ftp 560 28 ñåí 2007 index.html
+drwxr-xr-x 33 ftp ftp 4096 12 ôåâ 2008 pub
diff --git a/chromium/net/data/ftp/dir-listing-ls-27.expected b/chromium/net/data/ftp/dir-listing-ls-27.expected
new file mode 100644
index 00000000000..8b1b2db85f2
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-27.expected
@@ -0,0 +1,53 @@
+d
+.
+-1
+1994
+4
+15
+18
+11
+
+d
+..
+-1
+1994
+7
+15
+18
+11
+
+-
+.message
+528
+2007
+5
+1
+0
+0
+
+-
+README
+528
+2007
+11
+1
+0
+0
+
+-
+index.html
+560
+2007
+9
+28
+0
+0
+
+d
+pub
+-1
+2008
+2
+12
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-28 b/chromium/net/data/ftp/dir-listing-ls-28
new file mode 100644
index 00000000000..85b387f5702
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-28
@@ -0,0 +1,5 @@
+drwxr-x 2 10 4096 Dec 10 14:32 pollq
+drwxr-x 4 0 4096 Jul 28 01:44 etc
+drwxrwx 2 10 4096 Jul 28 02:41 tmp
+drwxr-x 2 10 4096 Jul 28 02:00 status
+drwxr-x 2 0 4096 Jul 27 23:21 bin
diff --git a/chromium/net/data/ftp/dir-listing-ls-28.expected b/chromium/net/data/ftp/dir-listing-ls-28.expected
new file mode 100644
index 00000000000..ca5fb9c0dd7
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-28.expected
@@ -0,0 +1,44 @@
+d
+pollq
+-1
+1993
+12
+10
+14
+32
+
+d
+etc
+-1
+1994
+7
+28
+1
+44
+
+d
+tmp
+-1
+1994
+7
+28
+2
+41
+
+d
+status
+-1
+1994
+7
+28
+2
+0
+
+d
+bin
+-1
+1994
+7
+27
+23
+21
diff --git a/chromium/net/data/ftp/dir-listing-ls-29 b/chromium/net/data/ftp/dir-listing-ls-29
new file mode 100644
index 00000000000..6c82909f195
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-29
@@ -0,0 +1,9 @@
+.:
+total 1204984
+drwxrwxrwx 2 sunle sunle 2048 Apr 6 00:36 .
+drwxrwxrwx 9406 sunle sunle 245760 Apr 10 18:00 ..
+-rw-rw---- 1 ftp sunle 110583757 Apr 5 13:43 GRBRATLIN64_4_77_ia64_4.77_S0@874222@03717.rpm.Z
+-rw-rw---- 1 ftp sunle 121591811 Apr 5 13:43 GRBRATLIN_4_77_ia32_4.77_S0@874222@20701.rpm.Z
+-rw-rw---- 1 ftp sunle 110965625 Apr 5 13:43 XENRATLIN64_4_77_ia64_4.77_S0@874222@17785.rpm.Z
+-rw-rw---- 1 ftp sunle 121986153 Apr 5 13:44 XENRATLIN_4_77_ia32_4.77_S0@874222@09635.rpm.Z
+-rw-rw---- 1 ftp sunle 151525255 Apr 5 13:44 XENRATS10_4_77_sun4_10_4.77_S0@874222@21358.dstream.Z
diff --git a/chromium/net/data/ftp/dir-listing-ls-29.expected b/chromium/net/data/ftp/dir-listing-ls-29.expected
new file mode 100644
index 00000000000..b480f093697
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-29.expected
@@ -0,0 +1,62 @@
+d
+.
+-1
+1994
+4
+6
+0
+36
+
+d
+..
+-1
+1994
+4
+10
+18
+0
+
+-
+GRBRATLIN64_4_77_ia64_4.77_S0@874222@03717.rpm.Z
+110583757
+1994
+4
+5
+13
+43
+
+-
+GRBRATLIN_4_77_ia32_4.77_S0@874222@20701.rpm.Z
+121591811
+1994
+4
+5
+13
+43
+
+-
+XENRATLIN64_4_77_ia64_4.77_S0@874222@17785.rpm.Z
+110965625
+1994
+4
+5
+13
+43
+
+-
+XENRATLIN_4_77_ia32_4.77_S0@874222@09635.rpm.Z
+121986153
+1994
+4
+5
+13
+44
+
+-
+XENRATS10_4_77_sun4_10_4.77_S0@874222@21358.dstream.Z
+151525255
+1994
+4
+5
+13
+44
diff --git a/chromium/net/data/ftp/dir-listing-ls-3 b/chromium/net/data/ftp/dir-listing-ls-3
new file mode 100644
index 00000000000..8720c06572b
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-3
@@ -0,0 +1,7 @@
+
+-r-xr-xr-x 1 anonymou 245 90 Mar 1 2003 .welcome
+drwxr-xr-x 1 system 1 512 Feb 26 2005 decus
+dr-xr-xr-x 1 system 1 3072 Dec 2 2006 gnv
+-r-xr-xr-x 1 anonymou 245 158208 Apr 10 2003 unzip.alpha_exe
+-r-xr-xr-x 1 anonymou 245 102400 Apr 10 2003 unzip.vax_exe
+dr-xr-xr-x 1 anonymou 245 1024 Mar 1 2003 vms-freeware
diff --git a/chromium/net/data/ftp/dir-listing-ls-3.expected b/chromium/net/data/ftp/dir-listing-ls-3.expected
new file mode 100644
index 00000000000..c2431a6d9b0
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-3.expected
@@ -0,0 +1,53 @@
+-
+.welcome
+90
+2003
+3
+1
+0
+0
+
+d
+decus
+-1
+2005
+2
+26
+0
+0
+
+d
+gnv
+-1
+2006
+12
+2
+0
+0
+
+-
+unzip.alpha_exe
+158208
+2003
+4
+10
+0
+0
+
+-
+unzip.vax_exe
+102400
+2003
+4
+10
+0
+0
+
+d
+vms-freeware
+-1
+2003
+3
+1
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-30 b/chromium/net/data/ftp/dir-listing-ls-30
new file mode 100644
index 00000000000..6c095ccd554
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-30
@@ -0,0 +1,2 @@
+total 395136991232
+drwx-wx-wx 10 ftpadmin ftpusers 256 May 27 2010 downloads
diff --git a/chromium/net/data/ftp/dir-listing-ls-30.expected b/chromium/net/data/ftp/dir-listing-ls-30.expected
new file mode 100644
index 00000000000..a94497aa4be
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-30.expected
@@ -0,0 +1,8 @@
+d
+downloads
+-1
+2010
+5
+27
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-31 b/chromium/net/data/ftp/dir-listing-ls-31
new file mode 100644
index 00000000000..237a54a690f
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-31
@@ -0,0 +1,15 @@
+drwxrwxrwx 6 1000 1000 4096 Jul 23 2011 Alfresco
+drwxrwxrwx 2 1000 1000 4096 Mar 18 2010 DIRECTUM
+-rwxrwxrwx 1 1000 1000 222510 Mar 29 2010 Featurelist 6.30.pdf
+drwxrwxrwx 2 1000 1000 4096 Jul 23 2011 NauDoc_v4.4
+-rwxrwxrwx 1 1000 1000 1564767 Apr 06 2010 RUS_v_01_00_МЕТОД СБОРРИ ДОКУМЕÐТИРОВÐÐИЯ
+ ТРЕБОВÐÐИЙ К ПОРТÐЛУ
+.pdf
+drwxrwxrwx 4 1000 1000 4096 Jul 22 2011 Videoconferencing
+drwxrwxrwx 3 1000 1000 4096 Apr 15 2010 Virtualization
+-rwxrwxrwx 1 1000 1000 111726333 Jan 10 2010 electr_docoborot_2010.flv
+-rwxrwxrwx 1 1000 1000 4224387 Mar 31 2010 millenniumbsa.pdf
+drwxrwxrwx 5 1000 1000 4096 Apr 16 2010 Ð‘Ð¸Ð·Ð½ÐµÑ ÐŸÐ»Ð°Ð½
+-rwxrwxrwx 1 1000 1000 138217 Apr 16 2010 Мониторинг в инфраÑтруктуре раÑпределенных приложений .NET.rar
+-rwxrwxrwx 1 1000 1000 4131 Feb 25 2010 О законе О перÑональных данных.txt
+-rwxrwxrwx 1 1000 1000 3627173 Feb 21 2010 Шеер Ð.Ð’. -- БизнеÑ-процеÑÑÑ‹. ОÑновные понÑтиÑ..djvu
diff --git a/chromium/net/data/ftp/dir-listing-ls-31.expected b/chromium/net/data/ftp/dir-listing-ls-31.expected
new file mode 100644
index 00000000000..3addbeefa76
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-31.expected
@@ -0,0 +1,118 @@
+d
+Alfresco
+-1
+2011
+7
+23
+0
+0
+
+d
+DIRECTUM
+-1
+2010
+3
+18
+0
+0
+
+-
+Featurelist 6.30.pdf
+222510
+2010
+3
+29
+0
+0
+
+d
+NauDoc_v4.4
+-1
+2011
+7
+23
+0
+0
+
+-
+RUS_v_01_00_МЕТОД СБОРРИ ДОКУМЕÐТИРОВÐÐИЯ
+ ТРЕБОВÐÐИЙ К ПОРТÐЛУ
+.pdf
+1564767
+2010
+4
+6
+0
+0
+
+d
+Videoconferencing
+-1
+2011
+7
+22
+0
+0
+
+d
+Virtualization
+-1
+2010
+4
+15
+0
+0
+
+-
+electr_docoborot_2010.flv
+111726333
+2010
+1
+10
+0
+0
+
+-
+millenniumbsa.pdf
+4224387
+2010
+3
+31
+0
+0
+
+d
+Ð‘Ð¸Ð·Ð½ÐµÑ ÐŸÐ»Ð°Ð½
+-1
+2010
+4
+16
+0
+0
+
+-
+Мониторинг в инфраÑтруктуре раÑпределенных приложений .NET.rar
+138217
+2010
+4
+16
+0
+0
+
+-
+О законе О перÑональных данных.txt
+4131
+2010
+2
+25
+0
+0
+
+-
+Шеер Ð.Ð’. -- БизнеÑ-процеÑÑÑ‹. ОÑновные понÑтиÑ..djvu
+3627173
+2010
+2
+21
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-4 b/chromium/net/data/ftp/dir-listing-ls-4
new file mode 100644
index 00000000000..078542f0976
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-4
@@ -0,0 +1,10 @@
+
+-rwx---r-x 1 archives 0 472 Jun 28 2004 .welcome
+drwxr-xr-x 1 archives 0 512 Mar 5 1998 contributed-software
+drwxr-xr-x 1 archives 0 512 Nov 11 1997 customer_support
+drwxr-xr-x 1 archives 0 512 Dec 30 1998 docs
+drwxr-xr-x 1 archives 0 512 May 8 1998 faq
+drwxr-xr-x 1 archives 0 512 Nov 11 1997 mail_archives
+drwxr-xr-x 1 archives 0 1024 Nov 11 1997 patches
+drwxr-xr-x 1 archives 0 512 Nov 11 1997 tech-tips
+drwxr-xr-x 1 archives 0 512 Nov 11 1997 white_papers
diff --git a/chromium/net/data/ftp/dir-listing-ls-4.expected b/chromium/net/data/ftp/dir-listing-ls-4.expected
new file mode 100644
index 00000000000..0a49e5ecd84
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-4.expected
@@ -0,0 +1,80 @@
+-
+.welcome
+472
+2004
+6
+28
+0
+0
+
+d
+contributed-software
+-1
+1998
+3
+5
+0
+0
+
+d
+customer_support
+-1
+1997
+11
+11
+0
+0
+
+d
+docs
+-1
+1998
+12
+30
+0
+0
+
+d
+faq
+-1
+1998
+5
+8
+0
+0
+
+d
+mail_archives
+-1
+1997
+11
+11
+0
+0
+
+d
+patches
+-1
+1997
+11
+11
+0
+0
+
+d
+tech-tips
+-1
+1997
+11
+11
+0
+0
+
+d
+white_papers
+-1
+1997
+11
+11
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-5 b/chromium/net/data/ftp/dir-listing-ls-5
new file mode 100644
index 00000000000..87c42665ffd
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-5
@@ -0,0 +1 @@
+drwxrwsr-x 4 501 501 4096 Feb 20 2007 pub
diff --git a/chromium/net/data/ftp/dir-listing-ls-5.expected b/chromium/net/data/ftp/dir-listing-ls-5.expected
new file mode 100644
index 00000000000..1cf3e9ae3f4
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-5.expected
@@ -0,0 +1,8 @@
+d
+pub
+-1
+2007
+2
+20
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-6 b/chromium/net/data/ftp/dir-listing-ls-6
new file mode 100644
index 00000000000..5cc802c8822
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-6
@@ -0,0 +1,7 @@
+total 14
+dr-xr-xr-x 7 0 1 512 Jun 19 2006 .
+dr-xr-xr-x 7 0 1 512 Jun 19 2006 ..
+dr-xr-xr-x 2 0 1 512 Mar 24 2003 bin
+dr-xr-xr-x 2 0 1 512 Mar 24 2003 etc
+dr-xr-xr-x 12 0 0 512 Apr 7 2009 pub
+dr-xr-xr-x 3 0 1 512 Mar 24 2003 usr
diff --git a/chromium/net/data/ftp/dir-listing-ls-6.expected b/chromium/net/data/ftp/dir-listing-ls-6.expected
new file mode 100644
index 00000000000..be30bc6f1e2
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-6.expected
@@ -0,0 +1,53 @@
+d
+.
+-1
+2006
+6
+19
+0
+0
+
+d
+..
+-1
+2006
+6
+19
+0
+0
+
+d
+bin
+-1
+2003
+3
+24
+0
+0
+
+d
+etc
+-1
+2003
+3
+24
+0
+0
+
+d
+pub
+-1
+2009
+4
+7
+0
+0
+
+d
+usr
+-1
+2003
+3
+24
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-7 b/chromium/net/data/ftp/dir-listing-ls-7
new file mode 100644
index 00000000000..93dd8045ca3
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-7
@@ -0,0 +1,6 @@
+-rw-r--r-- 1 0 100 3108 Mar 07 2001 00readme.html
+drwxr-xr-x 3 1164 100 4096 Oct 19 13:45 OCU
+lrwxrwxrwx 1 203 1 10 Jun 15 2006 año2000 -> ./urte2000
+drwxr-xr-x 2 0 0 4096 Mar 07 2001 bin
+drwxr-xr-x 2 0 100 4096 Mar 07 2001 dev
+drwxr-xr-x 3 0 100 4096 Apr 20 2005 doc
diff --git a/chromium/net/data/ftp/dir-listing-ls-7.expected b/chromium/net/data/ftp/dir-listing-ls-7.expected
new file mode 100644
index 00000000000..1e0e5d36f38
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-7.expected
@@ -0,0 +1,53 @@
+-
+00readme.html
+3108
+2001
+3
+7
+0
+0
+
+d
+OCU
+-1
+1994
+10
+19
+13
+45
+
+l
+año2000
+-1
+2006
+6
+15
+0
+0
+
+d
+bin
+-1
+2001
+3
+7
+0
+0
+
+d
+dev
+-1
+2001
+3
+7
+0
+0
+
+d
+doc
+-1
+2005
+4
+20
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-ls-8 b/chromium/net/data/ftp/dir-listing-ls-8
new file mode 100644
index 00000000000..92811047f08
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-8
@@ -0,0 +1 @@
+total 0
diff --git a/chromium/net/data/ftp/dir-listing-ls-8.expected b/chromium/net/data/ftp/dir-listing-ls-8.expected
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-8.expected
diff --git a/chromium/net/data/ftp/dir-listing-ls-9 b/chromium/net/data/ftp/dir-listing-ls-9
new file mode 100644
index 00000000000..89df17cb8ef
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-9
@@ -0,0 +1,4 @@
+total 510528
+-rw-r--r-- 1 nobody nogroup 174680068 Jun 4 23:20 Akademia Teatralna spot.mpg
+-rw-r--r-- 1 nobody nogroup 3447432 May 18 2009 Foo - Instrukcja_Obsługi.pdf
+-rw-r--r-- 1 nobody nogroup 23197684 Jun 9 13:36 Zdjecia.zip
diff --git a/chromium/net/data/ftp/dir-listing-ls-9.expected b/chromium/net/data/ftp/dir-listing-ls-9.expected
new file mode 100644
index 00000000000..98fe53777c5
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-ls-9.expected
@@ -0,0 +1,26 @@
+-
+Akademia Teatralna spot.mpg
+174680068
+1994
+6
+4
+23
+20
+
+-
+Foo - Instrukcja_Obsługi.pdf
+3447432
+2009
+5
+18
+0
+0
+
+-
+Zdjecia.zip
+23197684
+1994
+6
+9
+13
+36
diff --git a/chromium/net/data/ftp/dir-listing-netware-1 b/chromium/net/data/ftp/dir-listing-netware-1
new file mode 100644
index 00000000000..02a51676992
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-netware-1
@@ -0,0 +1,3 @@
+total 0
+d [RWCEAFMS] ftpadmin 512 Jun 25 2007 pandora
+d [RWCEAFMS] ftpadmin 512 Jan 29 2004 pub
diff --git a/chromium/net/data/ftp/dir-listing-netware-1.expected b/chromium/net/data/ftp/dir-listing-netware-1.expected
new file mode 100644
index 00000000000..3084dbfe1bc
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-netware-1.expected
@@ -0,0 +1,17 @@
+d
+pandora
+-1
+2007
+6
+25
+0
+0
+
+d
+pub
+-1
+2004
+1
+29
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-netware-2 b/chromium/net/data/ftp/dir-listing-netware-2
new file mode 100644
index 00000000000..13af27b7292
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-netware-2
@@ -0,0 +1,4 @@
+total 0
+- [RWCEAFMS] AK101850 1328 Dec 27 2007 rootcert.der
+d [RWCEAFMS] Admin 512 Nov 13 07:51 Driver
+d [RWCEAFMS] AK101850 512 Nov 16 15:40 temp
diff --git a/chromium/net/data/ftp/dir-listing-netware-2.expected b/chromium/net/data/ftp/dir-listing-netware-2.expected
new file mode 100644
index 00000000000..e958a1a329e
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-netware-2.expected
@@ -0,0 +1,26 @@
+-
+rootcert.der
+1328
+2007
+12
+27
+0
+0
+
+d
+Driver
+-1
+1994
+11
+13
+7
+51
+
+d
+temp
+-1
+1993
+11
+16
+15
+40
diff --git a/chromium/net/data/ftp/dir-listing-netware-3 b/chromium/net/data/ftp/dir-listing-netware-3
new file mode 100644
index 00000000000..1d24bccd574
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-netware-3
@@ -0,0 +1,22 @@
+total 0
+- [RWCEAFMS] bodi 1588 Oct 28 22:21 leltar.as
+- [RWCEAFMS] bodi 19440 Oct 28 22:21 leltarVizellatas.as
+- [RWCEAFMS] bodi 38795 Oct 28 22:21 leltarVizelvezetes.as
+- [RWCEAFMS] bodi 227 Jan 06 2010 Olvass_el.txt
+- [RWCEAFMS] dora 19300888 Jan 15 2011 vegleges.pdf
+d [RWCEAFMS] Fulop 512 Nov 10 2011 DHI
+d [RWCEAFMS] bodi 512 Aug 02 11:48 English
+d [RWCEAFMS] clement 512 Jun 24 2011 Floodrisk
+d [RWCEAFMS] bodi 512 Mar 10 14:53 HC_MIR_FD
+d [RWCEAFMS] bodi 512 Oct 08 15:59 HCWP614-11
+d [RWCEAFMS] knolmar 512 Mar 26 15:10 Mike
+d [RWCEAFMS] daniel 512 May 17 2010 NVP anyagok
+d [RWCEAFMS] bodi 512 Sep 15 2010 Oktatas
+d [RWCEAFMS] buzas 512 Oct 09 12:47 processing_modflow
+d [RWCEAFMS] peterbud 512 Mar 24 2010 Prospektushoz
+d [RWCEAFMS] bodi 512 Sep 05 2011 sewcad
+d [RWCEAFMS] bodi 512 May 09 08:50 szakmernok
+d [RWCEAFMS] daniel 512 Aug 03 18:53 tomi
+d [RWCEAFMS] bodi 512 Sep 20 21:10 Virtualis-GEP
+d [RWCEAFMS] clement 512 Sep 26 12:31 Vizrajzi evkonyvek
+d [RWCEAFMS] darabos 512 Jul 09 2011 VKKI-Tanulmanyok
diff --git a/chromium/net/data/ftp/dir-listing-netware-3.expected b/chromium/net/data/ftp/dir-listing-netware-3.expected
new file mode 100644
index 00000000000..44393e13564
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-netware-3.expected
@@ -0,0 +1,188 @@
+-
+leltar.as
+1588
+1994
+10
+28
+22
+21
+
+-
+leltarVizellatas.as
+19440
+1994
+10
+28
+22
+21
+
+-
+leltarVizelvezetes.as
+38795
+1994
+10
+28
+22
+21
+
+-
+Olvass_el.txt
+227
+2010
+1
+6
+0
+0
+
+-
+vegleges.pdf
+19300888
+2011
+1
+15
+0
+0
+
+d
+DHI
+-1
+2011
+11
+10
+0
+0
+
+d
+English
+-1
+1994
+8
+2
+11
+48
+
+d
+Floodrisk
+-1
+2011
+6
+24
+0
+0
+
+d
+HC_MIR_FD
+-1
+1994
+3
+10
+14
+53
+
+d
+HCWP614-11
+-1
+1994
+10
+8
+15
+59
+
+d
+Mike
+-1
+1994
+3
+26
+15
+10
+
+d
+NVP anyagok
+-1
+2010
+5
+17
+0
+0
+
+d
+Oktatas
+-1
+2010
+9
+15
+0
+0
+
+d
+processing_modflow
+-1
+1994
+10
+9
+12
+47
+
+d
+Prospektushoz
+-1
+2010
+3
+24
+0
+0
+
+d
+sewcad
+-1
+2011
+9
+5
+0
+0
+
+d
+szakmernok
+-1
+1994
+5
+9
+8
+50
+
+d
+tomi
+-1
+1994
+8
+3
+18
+53
+
+d
+Virtualis-GEP
+-1
+1994
+9
+20
+21
+10
+
+d
+Vizrajzi evkonyvek
+-1
+1994
+9
+26
+12
+31
+
+d
+VKKI-Tanulmanyok
+-1
+2011
+7
+9
+0
+0
diff --git a/chromium/net/data/ftp/dir-listing-os2-1 b/chromium/net/data/ftp/dir-listing-os2-1
new file mode 100644
index 00000000000..5d6003166a1
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-os2-1
@@ -0,0 +1,9 @@
+ 0 DIR 08-08-11 01:47 Archive
+ 0 DIR 01-13-11 10:18 BootCD
+ 0 DIR 10-29-10 23:20 BootUSB512
+ 65201 A 08-04-11 10:24 csort.exe
+ 0 DIR 08-04-11 16:07 misc
+ 0 DIR 06-24-11 01:18 moveton
+ 1031106 A 08-08-11 01:47 os2krnlSVN3370_unoff.zip
+ 603 A 01-08-11 14:18 SSE_TEST.EXE
+ 91018 A 04-07-11 18:26 TETRIS.ZIP
diff --git a/chromium/net/data/ftp/dir-listing-os2-1.expected b/chromium/net/data/ftp/dir-listing-os2-1.expected
new file mode 100644
index 00000000000..11248c65317
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-os2-1.expected
@@ -0,0 +1,80 @@
+d
+Archive
+-1
+2011
+8
+8
+1
+47
+
+d
+BootCD
+-1
+2011
+1
+13
+10
+18
+
+d
+BootUSB512
+-1
+2010
+10
+29
+23
+20
+
+-
+csort.exe
+65201
+2011
+8
+4
+10
+24
+
+d
+misc
+-1
+2011
+8
+4
+16
+7
+
+d
+moveton
+-1
+2011
+6
+24
+1
+18
+
+-
+os2krnlSVN3370_unoff.zip
+1031106
+2011
+8
+8
+1
+47
+
+-
+SSE_TEST.EXE
+603
+2011
+1
+8
+14
+18
+
+-
+TETRIS.ZIP
+91018
+2011
+4
+7
+18
+26
diff --git a/chromium/net/data/ftp/dir-listing-vms-1 b/chromium/net/data/ftp/dir-listing-vms-1
new file mode 100644
index 00000000000..ca7cdf1edff
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-1
@@ -0,0 +1,19 @@
+
+
+
+Directory ANONYMOUS_ROOT:[000000]
+
+.WELCOME;1 2 13-FEB-2002 23:32:40.47
+DECUS.DIR;1 1 9-MAY-2001 22:18:51.69
+INFORMATION.DIR;1 1 9-MAY-2001 22:23:42.78
+MADGOAT.DIR;1 2 9-MAY-2001 22:23:44.85
+MAIL_ARCHIVES.DIR;1
+ 1 13-DEC-2005 08:45:27.56
+MOZILLA.DIR;1 1 21-JUN-2001 14:57:51.38
+README.TXT;4 2 18-APR-2000 10:40:39.90
+SSH.DIR;1 1 22-JUN-2002 15:11:12.71
+SUPPORT.DIR;1 3 9-MAY-2001 22:29:45.02
+TCPWARE.DIR;1 1 9-MAY-2001 23:34:10.92
+VMS-FREEWARE.DIR;1 2 9-MAY-2001 23:58:31.39
+
+Total of 11 files, 17 blocks.
diff --git a/chromium/net/data/ftp/dir-listing-vms-1.expected b/chromium/net/data/ftp/dir-listing-vms-1.expected
new file mode 100644
index 00000000000..8e9dddd485b
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-1.expected
@@ -0,0 +1,98 @@
+-
+.welcome
+1024
+2002
+2
+13
+23
+32
+
+d
+decus
+-1
+2001
+5
+9
+22
+18
+
+d
+information
+-1
+2001
+5
+9
+22
+23
+
+d
+madgoat
+-1
+2001
+5
+9
+22
+23
+
+d
+mail_archives
+-1
+2005
+12
+13
+8
+45
+
+d
+mozilla
+-1
+2001
+6
+21
+14
+57
+
+-
+readme.txt
+1024
+2000
+4
+18
+10
+40
+
+d
+ssh
+-1
+2002
+6
+22
+15
+11
+
+d
+support
+-1
+2001
+5
+9
+22
+29
+
+d
+tcpware
+-1
+2001
+5
+9
+23
+34
+
+d
+vms-freeware
+-1
+2001
+5
+9
+23
+58
diff --git a/chromium/net/data/ftp/dir-listing-vms-2 b/chromium/net/data/ftp/dir-listing-vms-2
new file mode 100644
index 00000000000..7fc20a93f9c
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-2
@@ -0,0 +1,35 @@
+
+Directory SYS$SYSDEVICE:[ANONYMOUS]
+
+ANNOUNCE.TXT;2 1/16 12-MAR-2005 08:44:57 [SYSTEM] (RWED,RWED,RE,RE)
+BOINC.DIR;1 1/16 29-DEC-2005 21:33:21 [SYSTEM] (RWE,RWE,RE,RE)
+BZIP2.DIR;1 1/16 27-SEP-2005 19:45:39 [SYSTEM] (RWE,RWE,RE,RE)
+CDRTOOLS.DIR;1 3/16 10-MAR-2005 17:31:44 [SYSTEM] (RWE,RWE,RE,RE)
+DIFFUTILS.DIR;1 1/16 23-JUN-2007 23:04:21 [SYSTEM] (RWE,RWE,RE,RE)
+DTSS_NTP.DIR;1 2/16 25-SEP-2000 21:03:28 [SYSTEM] (RWE,RWE,RE,RE)
+FIXREC.DIR;1 1/16 20-DEC-2003 10:57:22 [SYSTEM] (RWE,RWE,RE,RE)
+GNUPG.DIR;1 1/16 9-AUG-2006 02:11:51 [SYSTEM] (RWE,RWE,RE,RE)
+GZIP.DIR;1 1/16 5-JUL-2006 21:59:45 [SYSTEM] (RWE,RWE,RE,RE)
+INFO-ZIP.DIR;1 15/16 20-SEP-2004 21:27:27 [SYSTEM] (RWE,RWE,RE,RE)
+INPUT.DIR;1 1/16 4-MAR-1999 22:14:34 [UCX$NOBO,ANONYMOUS] (RWE,RWE,RWE,RWE)
+KERMIT.DIR;1 1/16 25-FEB-2006 12:22:34 [SYSTEM] (RWE,RWE,RE,RE)
+LOGIN.COM;2 1/16 28-SEP-2006 09:20:32 [SYSTEM] (RWED,RWED,RE,RE)
+MISC.DIR;1 6/16 12-DEC-1999 17:31:56 [SYSTEM] (RWE,RWE,RE,RE)
+MMK.DIR;1 1/16 30-SEP-2009 08:06:26 [SYSTEM] (RWE,RWE,RE,RE)
+MOZ_TEST.DIR;1 1/16 8-APR-2008 17:12:53 [SYSTEM] (RWE,RWE,RE,RE)
+MPACK.DIR;1 1/16 21-AUG-2009 10:28:57 [SYSTEM] (RWE,RWE,RE,RE)
+MTOOLS.DIR;1 1/16 14-MAR-2006 15:05:01 [SYSTEM] (RWE,RWE,RE,RE)
+OPENSSL.DIR;1 1/16 12-JAN-2009 08:42:56 [SYSTEM] (RWE,RWE,RE,RE)
+PGP.DIR;1 1/16 19-SEP-1999 16:39:04 [SYSTEM] (RWE,RWE,RE,RE)
+PICS.DIR;1 No privilege for attempted operation
+QREADCD.DIR;1 1/16 29-SEP-2004 20:32:38 [SYSTEM] (RWE,RWE,RE,RE)
+RZSPINUP.DIR;1 1/16 24-JUL-2004 21:34:12 [SYSTEM] (RWE,RWE,RE,RE)
+TEST.DIR;1 1/16 5-NOV-2008 21:59:10 [SYSTEM] (RWE,RWE,RE,RE)
+VIM.DIR;1 1/16 30-APR-2005 16:32:56 [SYSTEM] (RWE,RWE,RE,RE)
+VMSTAR.DIR;1 1/16 7-JUN-2007 09:36:04 [SYSTEM] (RWE,RWE,RE,RE)
+WELCOME.TXT;3 1/16 12-MAR-2005 08:45:28 [SYSTEM] (RWED,RWED,RE,RE)
+WGET.DIR;1 3/16 17-AUG-1999 20:41:54 [SYSTEM] (RWE,RWE,RE,RE)
+WGET_TEST.DIR;1 1/16 13-JUN-2006 21:29:27 [SYSTEM] (RWE,RWE,RE,RE)
+WPUT.DIR;1 1/16 9-DEC-2004 20:16:46 [SYSTEM] (RWE,RWE,RE,RE)
+
+Total of 30 files, 53/464 blocks
diff --git a/chromium/net/data/ftp/dir-listing-vms-2.expected b/chromium/net/data/ftp/dir-listing-vms-2.expected
new file mode 100644
index 00000000000..92ea55ba4e7
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-2.expected
@@ -0,0 +1,260 @@
+-
+announce.txt
+512
+2005
+3
+12
+8
+44
+
+d
+boinc
+-1
+2005
+12
+29
+21
+33
+
+d
+bzip2
+-1
+2005
+9
+27
+19
+45
+
+d
+cdrtools
+-1
+2005
+3
+10
+17
+31
+
+d
+diffutils
+-1
+2007
+6
+23
+23
+4
+
+d
+dtss_ntp
+-1
+2000
+9
+25
+21
+3
+
+d
+fixrec
+-1
+2003
+12
+20
+10
+57
+
+d
+gnupg
+-1
+2006
+8
+9
+2
+11
+
+d
+gzip
+-1
+2006
+7
+5
+21
+59
+
+d
+info-zip
+-1
+2004
+9
+20
+21
+27
+
+d
+input
+-1
+1999
+3
+4
+22
+14
+
+d
+kermit
+-1
+2006
+2
+25
+12
+22
+
+-
+login.com
+512
+2006
+9
+28
+9
+20
+
+d
+misc
+-1
+1999
+12
+12
+17
+31
+
+d
+mmk
+-1
+2009
+9
+30
+8
+6
+
+d
+moz_test
+-1
+2008
+4
+8
+17
+12
+
+d
+mpack
+-1
+2009
+8
+21
+10
+28
+
+d
+mtools
+-1
+2006
+3
+14
+15
+5
+
+d
+openssl
+-1
+2009
+1
+12
+8
+42
+
+d
+pgp
+-1
+1999
+9
+19
+16
+39
+
+d
+qreadcd
+-1
+2004
+9
+29
+20
+32
+
+d
+rzspinup
+-1
+2004
+7
+24
+21
+34
+
+d
+test
+-1
+2008
+11
+5
+21
+59
+
+d
+vim
+-1
+2005
+4
+30
+16
+32
+
+d
+vmstar
+-1
+2007
+6
+7
+9
+36
+
+-
+welcome.txt
+512
+2005
+3
+12
+8
+45
+
+d
+wget
+-1
+1999
+8
+17
+20
+41
+
+d
+wget_test
+-1
+2006
+6
+13
+21
+29
+
+d
+wput
+-1
+2004
+12
+9
+20
+16
diff --git a/chromium/net/data/ftp/dir-listing-vms-3 b/chromium/net/data/ftp/dir-listing-vms-3
new file mode 100644
index 00000000000..3bda7ff5bd1
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-3
@@ -0,0 +1,3 @@
+
+
+Total of 0 blocks in 0 files in 0 directories.
diff --git a/chromium/net/data/ftp/dir-listing-vms-3.expected b/chromium/net/data/ftp/dir-listing-vms-3.expected
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-3.expected
diff --git a/chromium/net/data/ftp/dir-listing-vms-4 b/chromium/net/data/ftp/dir-listing-vms-4
new file mode 100644
index 00000000000..0954441c229
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-4
@@ -0,0 +1,15 @@
+
+EISNER$DRA3:[DECUSERVE_USER.JOHNDOE]
+
+$MAIN.TPU$JOURNAL;1 1 4-NOV-2009 05:59 [JOHNDOE] (RWED,RWED,,)
+.WELCOME;1 1 4-NOV-2009 06:02 [JOHNDOE] (RWED,RWED,,)
+EXAMPLE.TXT;1 1 4-NOV-2009 06:02 [JOHNDOE] (RWED,RWED,,)
+FILE.;1 1 4-NOV-2009 08:59 [JOHNDOE] (RWED,RWED,,)
+FTP_SERVER.LOG;12 0 4-NOV-2009 09:12 [JOHNDOE] (RWED,RWED,,)
+LOGIN.COM;1 2 4-NOV-2009 05:58 [JOHNDOE] (RWED,RWED,,)
+NOTES$NOTEBOOK.NOTE;1
+ 36 4-NOV-2009 05:55 [DECUSERVE] (RWE,RWE,,)
+TEST.DIR;1 1 4-NOV-2009 08:15 [JOHNDOE] (RWE,RWE,,)
+
+
+Total of 43 blocks in 8 files.
diff --git a/chromium/net/data/ftp/dir-listing-vms-4.expected b/chromium/net/data/ftp/dir-listing-vms-4.expected
new file mode 100644
index 00000000000..a638df95ad1
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-4.expected
@@ -0,0 +1,71 @@
+-
+$main.tpu$journal
+512
+2009
+11
+4
+5
+59
+
+-
+.welcome
+512
+2009
+11
+4
+6
+2
+
+-
+example.txt
+512
+2009
+11
+4
+6
+2
+
+-
+file.
+512
+2009
+11
+4
+8
+59
+
+-
+ftp_server.log
+0
+2009
+11
+4
+9
+12
+
+-
+login.com
+1024
+2009
+11
+4
+5
+58
+
+-
+notes$notebook.note
+18432
+2009
+11
+4
+5
+55
+
+d
+test
+-1
+2009
+11
+4
+8
+15
diff --git a/chromium/net/data/ftp/dir-listing-vms-5 b/chromium/net/data/ftp/dir-listing-vms-5
new file mode 100644
index 00000000000..d769993de8e
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-5
@@ -0,0 +1,12 @@
+
+SYS:[ANON_LOGS]
+
+FTP_SERVER.LOG;1682 0 27-NOV-2009 14:35 [NET,ANONYMOUS] (RWED,RWED,,)
+FTP_SERVER_LOG.KEEP;11400
+ 2 19-DEC-1994 15:40 [NET,ANONYMOUS] (RWED,RWED,,)
+FTP_SERVER_LOG.SEARCH;1
+ 274 7-DEC-1993 15:54 [NET,ANONYMOUS] (RWED,RWED,,)
+TESTLOG.DAT;1 0 27-APR-1995 13:18 [NET,ANONYMOUS] (RWED,RWED,,)
+
+
+Total of 276 blocks in 4 files.
diff --git a/chromium/net/data/ftp/dir-listing-vms-5.expected b/chromium/net/data/ftp/dir-listing-vms-5.expected
new file mode 100644
index 00000000000..91594986c41
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-5.expected
@@ -0,0 +1,35 @@
+-
+ftp_server.log
+0
+2009
+11
+27
+14
+35
+
+-
+ftp_server_log.keep
+1024
+1994
+12
+19
+15
+40
+
+-
+ftp_server_log.search
+140288
+1993
+12
+7
+15
+54
+
+-
+testlog.dat
+0
+1995
+4
+27
+13
+18
diff --git a/chromium/net/data/ftp/dir-listing-vms-6 b/chromium/net/data/ftp/dir-listing-vms-6
new file mode 100644
index 00000000000..6143c82e14a
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-6
@@ -0,0 +1,13 @@
+
+ANONYMOUS:[000000]
+
+ANON_FTP_LOG.LOG;23
+ <%SYSTEM-F-NOPRIV, insufficient privilege or object protection violation>
+EK-SMCPR-UG-A01.PDF;1
+ <%SYSTEM-F-NOPRIV, insufficient privilege or object protection violation>
+INCOMING.DIR;1 1 16-FEB-2009 00:49 [ANONY,ANONYMOUS] (RWE,RWE,RE,RE)
+INPUT.DIR;1 1 25-JAN-2004 07:11 [ANONY,ANONYMOUS] (RWED,RWE,R,R)
+LOGIN.COM;1 8 25-NOV-2003 20:01 [ANONY,ANONYMOUS] (RWED,RE,RE,RE)
+PUB.DIR;1 2 25-JAN-2004 07:11 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+
+Total of 6 Files, 12 Blocks.
diff --git a/chromium/net/data/ftp/dir-listing-vms-6.expected b/chromium/net/data/ftp/dir-listing-vms-6.expected
new file mode 100644
index 00000000000..c3634c169af
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-6.expected
@@ -0,0 +1,35 @@
+d
+incoming
+-1
+2009
+2
+16
+0
+49
+
+d
+input
+-1
+2004
+1
+25
+7
+11
+
+-
+login.com
+4096
+2003
+11
+25
+20
+1
+
+d
+pub
+-1
+2004
+1
+25
+7
+11
diff --git a/chromium/net/data/ftp/dir-listing-vms-7 b/chromium/net/data/ftp/dir-listing-vms-7
new file mode 100644
index 00000000000..d9ad20ba97b
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-7
@@ -0,0 +1,4 @@
+
+ANONYMOUS:[INCOMING]
+
+*.*;0 <%RMS-E-FNF, file not found>
diff --git a/chromium/net/data/ftp/dir-listing-vms-7.expected b/chromium/net/data/ftp/dir-listing-vms-7.expected
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-7.expected
diff --git a/chromium/net/data/ftp/dir-listing-vms-8 b/chromium/net/data/ftp/dir-listing-vms-8
new file mode 100644
index 00000000000..d805ab50b72
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-8
@@ -0,0 +1,37 @@
+
+ANONYMOUS:[PUB]
+
+ALPHA0721.ISO-GZ;1 383594 14-MAY-2008 08:52 [ANONY,ANONYMOUS] (RE,RWED,RE,RE)
+AXP.DIR;1 1 25-JAN-2004 07:11 [SYSTEM] (RWE,RE,RE,RE)
+BENCHMARKS.DIR;1 1 10-JUN-2009 19:32 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+EULER.DIR;1 1 10-JUN-2009 20:43 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+GAMES.DIR;1 1 5-FEB-2009 18:43 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+HOUSE.DIR;1 1 27-MAR-2008 08:02 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+HTML.DIR;1 1 25-JAN-2004 07:12 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+I64.DIR;1 1 22-JUN-2008 20:07 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+ITANIUM.DIR;1 1 12-JAN-2008 06:56 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+J2VMS.DIR;1 1 17-NOV-2008 23:26 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+MISC.DIR;1 1 25-JAN-2004 07:12 [SYSTEM] (RWE,RE,RE,RE)
+OPENSOURCE.DIR;1 1 8-SEP-2009 19:29 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+PHONE.DIR;1 2 15-DEC-2008 21:03 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+PLIDOCS.DIR;1 1 25-JAN-2004 07:12 [SYSTEM] (RWE,RE,RE,RE)
+PLI_HTML_DOCS-BCK.ZIP;1
+ 2992 25-MAR-2009 18:27 [ANONY,ANONYMOUS] (RWED,RWED,RE,RE)
+PLI_HTML_DOCS.BCK;2
+ 9639 25-MAR-2009 18:23 [VMSUSER,TSNEDDON] (RE,RWED,RE,RE)
+RESET_BACKUP_SAVESET_ATTRIBUTES.COM;1
+ 3 14-JUN-2009 22:46 [ANONY,ANONYMOUS] (RE,RWED,RE,RE)
+RESET_BACKUP_SAVESET_ATTRIBUTES.TXT;1
+ 3 28-AUG-2001 07:54 [SYSTEM] (RE,RE,RE,RE)
+rexx.DIR;1 1 11-AUG-2009 18:06 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+SDLEXT.DIR;1 1 19-DEC-2008 08:35 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+TOOLS.DIR;1 1 25-JAN-2004 07:13 [SYSTEM] (RWE,RE,RE,RE)
+TRU64.DIR;1 1 25-JAN-2004 07:13 [SYSTEM] (RWE,RE,RE,RE)
+VAX.DIR;1 1 25-JAN-2004 07:13 [SYSTEM] (RWE,RE,RE,RE)
+VMS721.ISO;2 ****** 6-MAY-2008 09:29 [ANONY,ANONYMOUS] (RE,RWED,RE,RE)
+WINDOWS.DIR;1 1 26-AUG-2011 05:53 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+XMLRTL.DIR;1 1 3-JUN-2009 17:24 [ANONY,ANONYMOUS] (RWE,RE,RE,RE)
+_SITE.CSS;8 5 19-MAR-2009 23:44 [ANONY,ANONYMOUS] (RE,RWED,RE,RE)
+_VWCMS.CSS;5 14 19-MAR-2009 23:38 [ANONY,ANONYMOUS] (RE,RWED,RE,RE)
+
+Total of 28 Files, 1557541 Blocks.
diff --git a/chromium/net/data/ftp/dir-listing-vms-8.expected b/chromium/net/data/ftp/dir-listing-vms-8.expected
new file mode 100644
index 00000000000..17dd8b58275
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-vms-8.expected
@@ -0,0 +1,251 @@
+-
+alpha0721.iso-gz
+196400128
+2008
+5
+14
+8
+52
+
+d
+axp
+-1
+2004
+1
+25
+7
+11
+
+d
+benchmarks
+-1
+2009
+6
+10
+19
+32
+
+d
+euler
+-1
+2009
+6
+10
+20
+43
+
+d
+games
+-1
+2009
+2
+5
+18
+43
+
+d
+house
+-1
+2008
+3
+27
+8
+2
+
+d
+html
+-1
+2004
+1
+25
+7
+12
+
+d
+i64
+-1
+2008
+6
+22
+20
+7
+
+d
+itanium
+-1
+2008
+1
+12
+6
+56
+
+d
+j2vms
+-1
+2008
+11
+17
+23
+26
+
+d
+misc
+-1
+2004
+1
+25
+7
+12
+
+d
+opensource
+-1
+2009
+9
+8
+19
+29
+
+d
+phone
+-1
+2008
+12
+15
+21
+3
+
+d
+plidocs
+-1
+2004
+1
+25
+7
+12
+
+-
+pli_html_docs-bck.zip
+1531904
+2009
+3
+25
+18
+27
+
+-
+pli_html_docs.bck
+4935168
+2009
+3
+25
+18
+23
+
+-
+reset_backup_saveset_attributes.com
+1536
+2009
+6
+14
+22
+46
+
+-
+reset_backup_saveset_attributes.txt
+1536
+2001
+8
+28
+7
+54
+
+d
+rexx
+-1
+2009
+8
+11
+18
+6
+
+d
+sdlext
+-1
+2008
+12
+19
+8
+35
+
+d
+tools
+-1
+2004
+1
+25
+7
+13
+
+d
+tru64
+-1
+2004
+1
+25
+7
+13
+
+d
+vax
+-1
+2004
+1
+25
+7
+13
+
+-
+vms721.iso
+-1
+2008
+5
+6
+9
+29
+
+d
+windows
+-1
+2011
+8
+26
+5
+53
+
+d
+xmlrtl
+-1
+2009
+6
+3
+17
+24
+
+-
+_site.css
+2560
+2009
+3
+19
+23
+44
+
+-
+_vwcms.css
+7168
+2009
+3
+19
+23
+38
diff --git a/chromium/net/data/ftp/dir-listing-windows-1 b/chromium/net/data/ftp/dir-listing-windows-1
new file mode 100644
index 00000000000..a8ff16d73a4
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-windows-1
@@ -0,0 +1,2 @@
+11-02-09 05:32PM <DIR> NT
+01-06-09 02:42PM 458 Readme.txt
diff --git a/chromium/net/data/ftp/dir-listing-windows-1.expected b/chromium/net/data/ftp/dir-listing-windows-1.expected
new file mode 100644
index 00000000000..068c2969860
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-windows-1.expected
@@ -0,0 +1,17 @@
+d
+NT
+-1
+2009
+11
+2
+17
+32
+
+-
+Readme.txt
+458
+2009
+1
+6
+14
+42
diff --git a/chromium/net/data/ftp/dir-listing-windows-2 b/chromium/net/data/ftp/dir-listing-windows-2
new file mode 100644
index 00000000000..f62fea49959
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-windows-2
@@ -0,0 +1,16 @@
+05-18-09 11:07AM <DIR> beta
+01-06-09 04:25PM <DIR> cdrom
+01-06-09 02:38PM 129 checkdownload.html
+08-19-09 11:23AM <DIR> Digital_Media_Player
+12-29-08 10:27PM <DIR> LiveUpdate
+08-20-09 04:34PM <DIR> mb
+01-06-09 02:38PM 83933 Mb.eng
+11-04-09 03:42PM <DIR> misc
+06-12-09 04:20PM 462 Path.idx
+12-30-08 07:41AM <DIR> PDA
+01-06-09 02:38PM 2625 Platform.idx
+12-30-08 07:41AM <DIR> print
+01-06-09 02:42PM 458 Readme.txt
+10-28-09 02:27PM <DIR> server
+12-30-08 08:59AM <DIR> vga
+02-03-09 04:42PM 1951823 VH203_FR.pdf
diff --git a/chromium/net/data/ftp/dir-listing-windows-2.expected b/chromium/net/data/ftp/dir-listing-windows-2.expected
new file mode 100644
index 00000000000..be951fac16e
--- /dev/null
+++ b/chromium/net/data/ftp/dir-listing-windows-2.expected
@@ -0,0 +1,143 @@
+d
+beta
+-1
+2009
+5
+18
+11
+7
+
+d
+cdrom
+-1
+2009
+1
+6
+16
+25
+
+-
+checkdownload.html
+129
+2009
+1
+6
+14
+38
+
+d
+Digital_Media_Player
+-1
+2009
+8
+19
+11
+23
+
+d
+LiveUpdate
+-1
+2008
+12
+29
+22
+27
+
+d
+mb
+-1
+2009
+8
+20
+16
+34
+
+-
+Mb.eng
+83933
+2009
+1
+6
+14
+38
+
+d
+misc
+-1
+2009
+11
+4
+15
+42
+
+-
+Path.idx
+462
+2009
+6
+12
+16
+20
+
+d
+PDA
+-1
+2008
+12
+30
+7
+41
+
+-
+Platform.idx
+2625
+2009
+1
+6
+14
+38
+
+d
+print
+-1
+2008
+12
+30
+7
+41
+
+-
+Readme.txt
+458
+2009
+1
+6
+14
+42
+
+d
+server
+-1
+2009
+10
+28
+14
+27
+
+d
+vga
+-1
+2008
+12
+30
+8
+59
+
+-
+VH203_FR.pdf
+1951823
+2009
+2
+3
+16
+42
diff --git a/chromium/net/data/proxy_resolver_perftest/no-ads.pac b/chromium/net/data/proxy_resolver_perftest/no-ads.pac
new file mode 100644
index 00000000000..e55fa0ffd7e
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_perftest/no-ads.pac
@@ -0,0 +1,1362 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// John's No-ADS proxy auto configuration script
+// http://www.schooner.com/~loverso/no-ads/
+// loverso@schooner.com
+// Questions/help web forum at http://www.network54.com/Hide/Forum/223428
+//
+// Copyright 1996-2004, John LoVerso. All Rights Reserved.
+//
+// Permission is given to use and distribute this file, as long as this
+// copyright message and author notice are not removed.
+//
+// No responsibility is taken for any errors on inaccuracies inherent
+// either to the comments or the code of this program, but if reported
+// to me, then an attempt will be made to fix them.
+//
+// ("no monies exchanged" in Copyright clause removed 11/2001)
+//
+var noadsver = "$Id: no-ads.pac,v 5.70 2007/05/11 16:56:01 loverso Exp loverso $";
+
+// ****
+// **** If you do not use a proxy to access the Internet, then the following
+// **** line is already fine.
+// ****
+// **** If you use an a proxy to access the Internet, as required by your
+// **** ISP or firewall, then change the line below, replacing
+// **** "DIRECT" with "PROXY hostname:port", using the correct hostname:port
+// **** for your proxy server.
+// ****
+var normal = "DIRECT";
+
+// ***
+// *** If you are not using a blackhold proxy, then you can leave this
+// *** setting as is.
+// ***
+// *** Otherwise, update the next line with the correct hostname:port
+// *** of your blackhole proxy server. If you are using Larry Wang's
+// *** BHP for Windows, you need to change the "0.0.0.0" to "127.0.0.1"
+// ***
+var blackhole = "PROXY 0.0.0.0:3421";
+
+// ***
+// *** If you need a different proxy to access local/internal hosts vs.
+// *** the rest of the Internet, set 'localproxy' to that value. Otherwise,
+// *** 'localproxy' defaults to the same value as 'normal', so you do
+// *** not need to change anything in the normal case.
+// ***
+// *** Some typical cases:
+// *** - 'normal' might be one proxy, and 'localproxy' might be another
+// *** - 'normal' might be a proxy, and 'localproxy' might be "DIRECT"
+// ***
+// *** You will also need to change the LOCAL section below by adding
+// *** rules to match your local/internal hosts.
+// ***
+var localproxy = normal;
+
+// ***
+// *** 'bypass' is the preferred proxy setting for when no-ads is inactive.
+// *** Either use '= normal' or '= localproxy' (or perhaps just "DIRECT").
+// *** This only matters when you need to use a localproxy.
+// *** (You probably don't need to care about this)
+// ***
+var bypass = normal;
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// This simple kludge uses a mechanism built into most browsers (IE, Netscape,
+// Mozilla, Firefox, and Opera) on most platforms to block connections to
+// banner ad servers.
+//
+// This mechanism uses the "proxy auto configuration" to blackhole requests
+// to load ad images without forcing all your traffic through an ad-blocking
+// proxy server. Of course, unlike ad-blocking proxy servers, this does not
+// otherwise not strip cookies.
+//
+// "Proxy auto configuration" invokes the JavaScript FindProxyForURL function
+// below each time your browser requests a URL. This works even if you have
+// JavaScript otherwise disabled in your browser! (Which you should!)
+//
+
+//
+// Send me your additions or comments. I'll credit you in the file.
+// (But I've removed all email addresses to stop spam harvesters).
+//
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// These are the basic steps needed to use "no-ads.pac".
+// Detailed instructions follow below!
+//
+// 1. Save this as a file (no-ads.pac) on your local disk
+// (or, add it to your home page, if you have one)
+// 2. Select a no-ads "blackhole".
+// 3. Configure your browser to use this file as its auto proxy configuration.
+// 4. Clear your browser's cache
+// (or else it may still show you ads it has saved on your disk).
+//
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// 1. SAVE THIS FILE
+//
+// Copy this file to your local machine; use your home directory (UNIX)
+// or your Desktop or C:\ directory (Windows).
+//
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// 2. SELECT A NO-ADS BLACKHOLE
+//
+// You can skip this section if you are using any version of Internet Explorer.
+// You can also skip this section for Netscape 7.1, Mozilla 1.4, or
+// Firefox 1.0 (or later), as they include PAC failover support (but do
+// read the note in section "2a" below).
+//
+//
+// The basic trick of no-ads is to match the site or URL of annoying web content
+// and tell your browser to use a proxy that will deny loading of that resource
+// (image, page, etc).
+//
+// A "black-hole" proxy server is one that always denies loading a web page.
+// ("send it off to a blackhole").
+//
+// When you initially get "no-ads.pac", it is using this as the blackhole:
+//
+// "PROXY 0.0.0.0:3421"
+//
+// This says to use the local host at a port which nothing should be listening
+// on. Thus, this is "a server that doesn't repond."
+//
+// This is a good default for all systems, and especially Windows.
+// However, if you are using the Blackhole Proxy Server on Windows,
+// be sure to change it to "PROXY 127.0.0.1:3421"
+//
+//
+// Some possibilities for the blackhole:
+//
+// a. A server that doesn't respond.
+//
+// *** This works for all versions of Internet Explorer.
+// *** This mostly works for Mozilla, Firefox, and Netscape.
+//
+// If you do nothing, then this is configured to direct annoying
+// content to the proxy running on your own host at port 3421.
+// Since you shouldn't have anything running on that port, that
+// connection will timeout and the annoying content will never be
+// loaded.
+//
+// Older versions of Netscape wait to connect to the proxy server
+// (usually it needs to load part of the image to layout the web
+// page), and then asks if you want to disable the proxy that
+// doesn't answer.
+//
+// Older versions of Mozilla will give an alert saying it couldn't
+// connect to the proxy server.
+//
+// Mozilla 1.4+, Firefox 1.0+ and Netscape 7.1 will only give
+// you this alert if the whole page being display is blocked,
+// rather than just an image on that page. Thus, I still
+// recommend a blackhole proxy even though it isn't needed.
+//
+// Opera will disable your auto proxy config if the proxy server
+// doesn't respond.
+//
+// IE doesn't care that the proxy server isn't responding. As
+// this avoids a connection for annoying content, it is fastest.
+//
+// b. A simple, blackhole server
+//
+// When needed, I run a simple "server" at port 3421 that denies
+// all requests. Some options you can use for this:
+//
+// - On Windows, you can try Larry Wang's black-hole proxy program:
+//
+// http://leisuresuit10.tripod.com/BlackHoleProxy/
+//
+// I can not vouch that his binaries are virus free, but he does
+// offer the source code.
+//
+// - I use this shell script on UNIX; it is invoked via inetd.
+// /usr/local/lib/noproxy:
+//
+// #!/bin/sh
+// read a
+// read b
+// echo HTTP/1.0 501 No Ads Accepted
+// echo ""
+// exit
+//
+// Add this line to inetd.conf ('kill -HUP' inetd afterwards):
+//
+// 3421 stream tcp nowait nobody /usr/local/lib/noproxy noproxy
+//
+// This simple script doesn't work on Linux because of the
+// (IMHO) broken way its TCP stack works. See the bottom of
+// http://www.schooner.com/~loverso/no-ads/ for a complete copy
+// of the `noproxy' shell script.
+//
+// If always exec'ing a shell was expensive on your computer
+// (it isn't on mine), then you could use a "wait"-style Perl
+// script that would accept() incoming connections.
+//
+// - Sean Burke has a black-hole proxy written in Perl script:
+//
+// http://www.speech.cs.cmu.edu/~sburke/pub/black_hole_http_server.pl
+// (This is a standalone server, not run from inetd).
+//
+// e. A trick: use an HTTP/1.0 non-proxy server
+//
+// An HTTP/1.0 non-proxy server will return a 501 error when
+// given a proxy request. Thus, just use the address of your
+// local intranet web server as your blackhole PROXY.
+// The downside of this is that it will probably also log an
+// error, which wastes a small amount of resources.
+//
+// ***
+// *** Be sure to update the "blackhole" variable above with a setting of
+// *** "PROXY hostname:port" that matches your blackhole server!!
+// ***
+//
+// ***
+// *** If you already use a proxy server to access the WWW,
+// *** change the "normal" variable above from "DIRECT" to
+// *** be "PROXY proxy:port" to match your proxy server.
+// ***
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// 3. TO CONFIGURE YOUR BROWSER
+//
+// The Proxy Auto Configuration file can be either on the local disk or
+// accessed from a web server, with the following constraints:
+//
+// a. IE4 can only load the PAC from a web server (http:// URL)
+// b. Netscape, Mozilla, Firefox and IE (5 or later) can load the
+// PAC from anywhere.
+// c. Netscape, Mozilla, Firefox and (probably) Opera require the correct
+// MIME type when loading the PAC from a web server.
+//
+//
+// To set the Proxy Auto Configuration with Netscape, Mozilla, or Firefox:
+//
+// 1. Enable Proxy Auto Config:
+//
+// For Netsacpe/Mozilla:
+//
+// Open "Edit->Preferences"
+// Select "Advanced"
+// Select "Proxies"
+//
+// For Firefox (1.0):
+//
+// Open "Tools->Options"
+// Select "Coonection Settings" on the General tab:
+//
+// Select the "Auto proxy configuration URL" option.
+// Enter URL or path of where you've saved this file, such as:
+//
+// http://yourserver/no-ads.pac
+//
+// If you place this on your local disk, you should use a
+// file: URL such as:
+//
+// file:/home/loverso/no-ads.pac (UNIX)
+// file:///c:/windows/desktop/no-ads.pac (Windows)
+//
+// (file:/ and file:// will work in Mozilla, but file:/// is correct
+// required for Firefox)
+//
+// 2. If you are serving this from a web server, these browsers require
+// the correct MIME type on the file before using it. You must configure
+// your web server to provide a "application/x-ns-proxy-autoconfig"
+// MIME type.
+//
+// a. For Apache, name the file with a ".pac" extension and add this
+// line to the http.conf (or the .htaccess file in the same directory):
+//
+// AddType application/x-ns-proxy-autoconfig .pac
+//
+// b. For IIS (instructions from Kevin Roth)
+//
+// Open Internet Services Manager
+// Right click on the web site (or directory) you wish to change.
+// Choose Properties
+// Click the "HTTP Headers" tab
+// Click the "File Types" button in the "MIME Map" section
+// Click the "New Type..." button
+// Enter "pac" for "Associated Extension"
+// Enter "application/x-ns-proxy-autoconfig" for "Content Type (MIME)"
+// Click OK to close the Add type dialog, the MIME types dialog,
+// and the main properties dialog.
+//
+// (This is definately needed for NS, but not for IE)
+//
+//
+// To set the Proxy Auto Configuration with IE:
+//
+// 1. Enable Proxy Auto Config:
+//
+// Open "Tools->Internet Options"
+// Select "Connections" tab
+// Click "LAN Settings"
+// or Choose an entry from "Dial-up settings" and click "Settings"
+//
+// On the settings dialog, select "Use automatic configuration script"
+// Enter the URL of this file in Address field.
+//
+// http://yourserver/no-ads.pac
+// file:///c:/windows/desktop/no-ads.pac (Windows)
+//
+// You can only use a file: URL with IE5 (or later).
+// ("file:///" with with IE versions after 5.0 SP2)
+//
+// 2. Fix Security Settings (IMPORTANT):
+//
+// Select "Security" tab
+// Select "Local intranet"
+// Click "Sites" box
+// Unselect "include all sites that bypass the proxy server" option
+//
+// 3. Disable "Auto Proxy Caching" (IMPORTANT):
+// (thanks to Kevin Roth for alerting me of this!)
+//
+// IE contains a proxy result caching mechanism that will defeat the
+// ability to block servers that server both ad and non-ad content.
+// To prevent this, add the registry key described in this MS KB article:
+//
+// http://support.microsoft.com/?kbid=271361
+//
+// You can do so by downloading this file and clicking on it to load
+// it into the registry. This must be done on a per-user basis.
+// http://www.schooner.com/~loverso/no-ads/IE-no-auto-proxy-cache.reg
+//
+// IE doesn't currently check the MIME type of the PAC file.
+//
+// To see some notes from MS on PAC in IE, see
+// http://msdn.microsoft.com/library/periodic/period99/faq0599.htm
+// (they seem to have removed this URL)
+//
+//
+// To set the Proxy Auto Configuration with Opera 6 (6.04 on Windows tested):
+//
+// 1. Enable Proxy Auto Config:
+// Open the Preferences (Alt-P)
+// Select "Network"
+// Click the "Proxy servers" box
+// Select "Use automatic proxy configuration"
+// Enter the URL of this file as
+//
+// http://yourserver/no-ads.pac
+// file://c:/windows/desktop/no-ads.pac
+//
+// (file:/// might be needed; I've not tested Opera lately)
+//
+// 2. You must use a blackhole proxy for Opera (it will not work with an
+// address of a server that does not respond).
+//
+// 3. Be sure to clear the cache and exit/restart Opera.
+//
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// 4. CLEAR YOUR BROWSER'S CACHE
+//
+// For Internet Explorer:
+//
+// Open "Tools->Internet Options"
+// Select "Delete Files" under "Temporary Internet Files"
+// Click "OK"
+//
+// For Mozilla/Netscape Navigator:
+//
+// Open "Edit->Preferences"
+// Select "Advanced"
+// Select "Proxies"
+// Click "Clear Disk Cache"
+// Click "Clear Memory Cache"
+//
+// For Firefox:
+//
+// Open "Tools->Options"
+// Select the "Privay" tab
+// Scroll down or go to the "Cache" section
+// Click "Clear"
+//
+// For Opera:
+//
+// Open "File->Preferences"
+// Select "History and cache"
+// Click "Empty now"
+//
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// To see the definition of this page's JavaScript contents, see
+//
+// http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html
+//
+// Microsoft includes this in their KB article:
+//
+// http://support.microsoft.com/support/kb/articles/Q209/2/66.ASP
+//
+// Special PAC functions:
+// Hostname:
+// isPlainHostName(host)
+// dnsDomainIs(host, domain)
+// localHostOrDomainIs(host, hostdom)
+// isResolvable(host)
+// isInNet(host, pattern, mask)
+// Utility:
+// dnsResolve(host)
+// myIpAddress()
+// dnsDomainLevels(host)
+// URL:
+// shExpMatch(str, shexp)
+// Time:
+// weekdayRange(wd1, wd2, gmt)
+// dateRange(...)
+// timeRange(...)
+//
+// Other functions and methods that may work:
+// http://developer.netscape.com/docs/manuals/communicator/jsref/win1.htm
+// Note that "alert()" only works with Netscape4 and IE, and Mozilla 1.4+.
+//
+// NOTE:
+// isInNet() will resolve a hostname to an IP address, and cause
+// hangs on Mozilla/Firefox. Currently, these are stubbed out and replaced
+// with shExpMatch(host, "a.b.c.*"), which doesn't do the same thing,
+// but is sufficient for these purposes.
+//
+// Additional Mozilla/Firefox comments:
+//
+// All the above PAC functions are implemented in JavaScript,
+// and are added to the body of your PAC file when it is loaded.
+// See the "components/nsProxyAutoConfig.js" browser install
+// directory.
+//
+// - shExpMatch() is implemented as three pattern.replaces()
+// followed by a call to RegExp() (SLOW)
+// - isPlainHostname() just checks for lack of "." in the string
+// - dnsDomainIs() just matches strings exactly
+// - alert() is bound to this.proxyAlert(), which displays a message
+// in the JavaScript console window
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// Regular Expressions
+//
+// Angus Turnbull pointed out the JavaScript 1.2 RE operators to me.
+// These should work in NS4 and IE4 (or later), but I have only tested on
+// Mozilla (1.3), IE5.5, and IE6. PLEASE TELL ME IF IT WORKS FOR YOU!
+//
+// A good introduction is at:
+// http://www.evolt.org/article/Regular_Expressions_in_JavaScript/17/36435/
+// Some references:
+// (old Netscape documentation is gone)
+// http://devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/regexp.html
+// http://developer.netscape.com/docs/manuals/js/client/jsref/regexp.htm
+// http://www.webreference.com/js/column5/
+// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsobjRegExpression.asp
+// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsgrpRegExpSyntax.asp
+// Real-time evaluator:
+// http://www.cuneytyilmaz.com/prog/jrx/
+//
+// I'm slowly replacing multiple glob patterns with regexps.
+// By using RE literals of /.../ rather than the constructor 'new RegExp()',
+// the regexps should be compiled as no-ads.pac is loaded.
+//
+// Important notes:
+// - if using the constructor, \ needs to be quoted; thus "\\." is used
+// to match a literal '.'. In the RE literal form, I need to end up
+// quoting any / for a URL path.
+// - Avoid these for now; they are broken or not supported in "older"
+// browsers such as NS4 and IE4:
+// - look-aheads (?=pat)
+// - non-greedy ? - a ? that follows *,+,?, and {}; (s)? is NOT non-greedy
+//
+
+// matches several common URL paths for ad images:
+// such as: /banner/ /..._banner/ /banner_...
+// but matches several words and includes plurals
+var re_banner = /\/(.*_){0,1}(ad|adverts?|adimage|adframe|adserver|admentor|adview|banner|popup|popunder)(s)?[_.\/]/i;
+
+// matches host names staring with "ad" but not (admin|add|adsl)
+// or any hostname starting with "pop", "clicks", and "cash"
+// or any hostname containing "banner"
+// ^(ad(s)?.{0,4}\.|pop|click|cash|[^.]*banner|[^.]*adserv)
+// ^(ad(?!(min|sl|d\.))|pop|click|cash|[^.]*banner|[^.]*adserv)
+// ^(ad(?!(min|sl|d\.))|pop|click|cash|[^.]*banner|[^.]*adserv|.*\.ads\.)
+var re_adhost = /^(www\.)?(ad(?!(ult|obe.*|min|sl|d|olly.*))|tology|pop|click|cash|[^.]*banner|[^.]*adserv|.+\.ads?\.)/i;
+
+// neg:
+// admin.foobar.com
+// add.iahoo.com
+// adsl.allow.com
+// administration.all.net
+// pos:
+// fire.ads.ighoo.com
+// ads.foo.org
+// ad0121.aaaa.com
+// adserver.goo.biz
+// popup.foo.bar
+
+///////////////////////////////////////////////////////////////////////////////
+
+var isActive = 1;
+
+function FindProxyForURL(url, host)
+{
+ // debug
+ // alert("checking: url=" + url + ", host=" + host);
+
+ // Excellent kludge from Sean M. Burke:
+ // Enable or disable no-ads for the current browser session.
+ //
+ // To disable, visit this URL: http://no-ads.int/off
+ // To re-enable, visit this URL: http://no-ads.int/on
+ //
+ // (this will not work with Mozilla or Opera if the alert()s are present)
+ //
+ // This happens before lowercasing the URL, so make sure you use lowercase!
+ //
+ if (shExpMatch(host, "no-ads.int")) {
+ if (shExpMatch(url, "*/on*")) {
+ isActive = 1;
+ //alert("no-ads is enabled.\n" + url);
+ } else if (shExpMatch(url, "*/off*")) {
+ isActive = 0;
+ //alert("no-ads has been disabled.\n" + url);
+ } else if (shExpMatch(url, "*no-ads.int/")) {
+ alert("no-ads is "+(isActive ? "enabled" : "disabled")+".\n" + url);
+ } else {
+ alert("no-ads unknown option.\n" + url);
+ }
+
+ return blackhole;
+ }
+
+ if (!isActive) {
+ // alert("allowing (not active): return " + bypass);
+ return bypass;
+ }
+
+ // Suggestion from Quinten Martens
+ // Make everything lower case.
+ // WARNING: all shExpMatch rules following MUST be lowercase!
+ url = url.toLowerCase();
+ host = host.toLowerCase();
+
+ //
+ // Local/Internal rule
+ // matches to this rule get the 'local' proxy.
+ // Adding rules here enables the use of 'local'
+ //
+ if (0
+ // LOCAL
+ // add rules such as:
+ // || dnsDomainIs(host, "schooner.com")
+ // || isPlainHostName(host)
+ // or for a single host
+ // || (host == "some-local-host")
+ ) {
+ // alert("allowing (local): return " + localproxy);
+ return localproxy;
+ }
+
+ //
+ // Whitelist section from InvisiBill
+ //
+ // Add sites here that should never be matched for ads.
+ //
+ if (0
+ // WHITELIST
+ // To add whitelist domains, simple add a line such as:
+ // || dnsDomainIs(host, "schooner.com")
+ // or for a single host
+ // || (host == "some-host-name")
+
+ // Note: whitelisting schooner.com will defeat the "is-it-working"
+ // test page at http://www.schooner.com/~loverso/no-ads/ads/
+
+ // Apple.com "Switch" ads
+ || shExpMatch(url, "*.apple.com/switch/ads/*")
+
+ // SprintPCS
+ || dnsDomainIs(host, ".sprintpcs.com")
+
+ // Lego
+ || dnsDomainIs(host, ".lego.com")
+
+ // Dell login popups
+ || host == "ecomm.dell.com"
+
+ || host == "click2tab.mozdev.org"
+ || host == "addons.mozilla.org"
+
+ // Uncomment for metacrawler
+ // || (host == "clickit.go2net.com")
+
+ // Wunderground weather station banners
+ || shExpMatch(url, "*banners.wunderground.com/cgi-bin/banner/ban/wxbanner*")
+ || shExpMatch(url, "*banners.wunderground.com/weathersticker/*")
+ ) {
+ // alert("allowing (whitelist): return " + normal);
+ return normal;
+ }
+
+ // To add more sites, simply include them in the correct format.
+ //
+ // The sites below are ones I currently block. Tell me of others you add!
+
+ if (0
+ // BLOCK
+ // Block IE4/5 "favicon.ico" fetches
+ // (to avoid being tracked as having bookmarked the site)
+ || shExpMatch(url, "*/favicon.ico")
+
+ //////
+ //
+ // Global Section
+ // tries to match common names
+ //
+
+ // RE for common URL paths
+ || re_banner.test(url)
+
+ // RE for common adserver hostnames.
+ // The regexp matches all hostnames starting with "ad" that are not
+ // admin|add|adsl
+ // (replaces explicit shExpMatch's below)
+ || re_adhost.test(host)
+
+// || (re_adhost.test(host)
+// && !(
+// shExpMatch(host, "add*")
+// || shExpMatch(host, "admin*")
+// || shExpMatch(host, "adsl*")
+// )
+// )
+// // or any subdomain "ads"
+// || (dnsDomainLevels(host) > 2 && shExpMatch(host, "*.ads.*"))
+
+ //////
+ //
+ // banner/ad organizations
+ // Just delete the entire namespace
+ //
+
+ // doubleclick
+ || dnsDomainIs(host, ".doubleclick.com")
+ || dnsDomainIs(host, ".doubleclick.net")
+ || dnsDomainIs(host, ".rpts.net")
+ || dnsDomainIs(host, ".2mdn.net")
+ || dnsDomainIs(host, ".2mdn.com")
+
+ // these set cookies
+ || dnsDomainIs(host, ".globaltrack.com")
+ || dnsDomainIs(host, ".burstnet.com")
+ || dnsDomainIs(host, ".adbureau.net")
+ || dnsDomainIs(host, ".targetnet.com")
+ || dnsDomainIs(host, ".humanclick.com")
+ || dnsDomainIs(host, ".linkexchange.com")
+
+ || dnsDomainIs(host, ".fastclick.com")
+ || dnsDomainIs(host, ".fastclick.net")
+
+ // one whole class C full of ad servers (fastclick)
+ // XXX this might need the resolver
+// || isInNet(host, "205.180.85.0", "255.255.255.0")
+ || shExpMatch(host, "205.180.85.*")
+
+ // these use 1x1 images to track you
+ || dnsDomainIs(host, ".admonitor.com")
+ || dnsDomainIs(host, ".focalink.com")
+
+ || dnsDomainIs(host, ".websponsors.com")
+ || dnsDomainIs(host, ".advertising.com")
+ || dnsDomainIs(host, ".cybereps.com")
+ || dnsDomainIs(host, ".postmasterdirect.com")
+ || dnsDomainIs(host, ".mediaplex.com")
+ || dnsDomainIs(host, ".adtegrity.com")
+ || dnsDomainIs(host, ".bannerbank.ru")
+ || dnsDomainIs(host, ".bannerspace.com")
+ || dnsDomainIs(host, ".theadstop.com")
+ || dnsDomainIs(host, ".l90.com")
+ || dnsDomainIs(host, ".webconnect.net")
+ || dnsDomainIs(host, ".avenuea.com")
+ || dnsDomainIs(host, ".flycast.com")
+ || dnsDomainIs(host, ".engage.com")
+ || dnsDomainIs(host, ".imgis.com")
+ || dnsDomainIs(host, ".datais.com")
+ || dnsDomainIs(host, ".link4ads.com")
+ || dnsDomainIs(host, ".247media.com")
+ || dnsDomainIs(host, ".hightrafficads.com")
+ || dnsDomainIs(host, ".tribalfusion.com")
+ || dnsDomainIs(host, ".rightserve.net")
+ || dnsDomainIs(host, ".admaximize.com")
+ || dnsDomainIs(host, ".valueclick.com")
+ || dnsDomainIs(host, ".adlibris.se")
+ || dnsDomainIs(host, ".vibrantmedia.com")
+ || dnsDomainIs(host, ".coremetrics.com")
+ || dnsDomainIs(host, ".vx2.cc")
+ || dnsDomainIs(host, ".webpower.com")
+ || dnsDomainIs(host, ".everyone.net")
+ || dnsDomainIs(host, ".zedo.com")
+ || dnsDomainIs(host, ".bigbangmedia.com")
+ || dnsDomainIs(host, ".ad-annex.com")
+ || dnsDomainIs(host, ".iwdirect.com")
+ || dnsDomainIs(host, ".adlink.de")
+ || dnsDomainIs(host, ".bidclix.net")
+ || dnsDomainIs(host, ".webclients.net")
+ || dnsDomainIs(host, ".linkcounter.com")
+ || dnsDomainIs(host, ".sitetracker.com")
+ || dnsDomainIs(host, ".adtrix.com")
+ || dnsDomainIs(host, ".netshelter.net")
+ || dnsDomainIs(host, ".rn11.com")
+ // http://vpdc.ru4.com/content/images/66/011.gif
+ || dnsDomainIs(host, ".ru4.com")
+ // no '.' for rightmedia.net
+ || dnsDomainIs(host, "rightmedia.net")
+ || dnsDomainIs(host, ".casalemedia.com")
+ || dnsDomainIs(host, ".casalemedia.com")
+
+ // C-J
+ || dnsDomainIs(host, ".commission-junction.com")
+ || dnsDomainIs(host, ".qkimg.net")
+ // emjcd.com ... many others
+
+ // */adv/*
+ || dnsDomainIs(host, ".bluestreak.com")
+
+ // Virtumundo -- as annoying as they get
+ || dnsDomainIs(host, ".virtumundo.com")
+ || dnsDomainIs(host, ".treeloot.com")
+ || dnsDomainIs(host, ".memberprize.com")
+
+ // internetfuel and _some_ of the sites they redirect to
+ // (more internetfuel - from Sam G)
+ || dnsDomainIs(host, ".internetfuel.net")
+ || dnsDomainIs(host, ".internetfuel.com")
+ || dnsDomainIs(host, ".peoplecaster.com")
+ || dnsDomainIs(host, ".cupidsdatabase.com")
+ || dnsDomainIs(host, ".automotive-times.com")
+ || dnsDomainIs(host, ".healthy-lifetimes.com")
+ || dnsDomainIs(host, ".us-world-business.com")
+ || dnsDomainIs(host, ".internet-2-web.com")
+ || dnsDomainIs(host, ".my-job-careers.com")
+ || dnsDomainIs(host, ".freeonline.com")
+ || dnsDomainIs(host, ".exitfuel.com")
+ || dnsDomainIs(host, ".netbroadcaster.com")
+ || dnsDomainIs(host, ".spaceports.com")
+ || dnsDomainIs(host, ".mircx.com")
+ || dnsDomainIs(host, ".exitchat.com")
+ || dnsDomainIs(host, ".atdmt.com")
+ || dnsDomainIs(host, ".partner2profit.com")
+ || dnsDomainIs(host, ".centrport.net")
+ || dnsDomainIs(host, ".centrport.com")
+ || dnsDomainIs(host, ".rampidads.com")
+
+ //////
+ //
+ // banner servers
+ // (typically these set cookies or serve animated ads)
+ //
+
+ || dnsDomainIs(host, "commonwealth.riddler.com")
+ || dnsDomainIs(host, "banner.freeservers.com")
+ || dnsDomainIs(host, "usads.futurenet.com")
+ || dnsDomainIs(host, "banners.egroups.com")
+ || dnsDomainIs(host, "ngadclient.hearme.com")
+ || dnsDomainIs(host, "affiliates.allposters.com")
+ || dnsDomainIs(host, "adincl.go2net.com")
+ || dnsDomainIs(host, "webads.bizservers.com")
+ || dnsDomainIs(host, ".addserv.com")
+ || dnsDomainIs(host, ".falkag.net")
+ || (host == "promote.pair.com")
+
+ // marketwatch.com (flash ads), but CSS get loaded
+ || (dnsDomainIs(host, ".mktw.net")
+ && !shExpMatch(url, "*/css/*"))
+ || dnsDomainIs(host, ".cjt1.net")
+ || dnsDomainIs(host, ".bns1.net")
+
+ // "undergroundonline"
+ // comes from iframe with this url: http://mediamgr.ugo.com/html.ng/size=728x90&affiliate=megagames&channel=games&subchannel=pc&Network=affiliates&rating=g
+ || dnsDomainIs(host, "image.ugo.com")
+ || dnsDomainIs(host, "mediamgr.ugo.com")
+
+ // web ads and "cheap Long Distance"
+ || dnsDomainIs(host, "zonecms.com")
+ || dnsDomainIs(host, "zoneld.com")
+
+ // AOL
+ || dnsDomainIs(host, ".atwola.com")
+ || dnsDomainIs(host, "toolbar.aol.com")
+
+ // animated ads shown at techbargains
+ || (dnsDomainIs(host, ".overstock.com")
+ && shExpMatch(url, "*/linkshare/*"))
+ || (dnsDomainIs(host, ".supermediastore.com")
+ && shExpMatch(url, "*/lib/supermediastore/*"))
+ || (dnsDomainIs(host, ".shop4tech.com")
+ && shExpMatch(url, "*/assets/*"))
+ || (dnsDomainIs(host, ".softwareandstuff.com")
+ && shExpMatch(url, "*/media/*"))
+ || (dnsDomainIs(host, ".buy.com")
+ && shExpMatch(url, "*/affiliate/*"))
+
+ || (dnsDomainIs(host, "pdaphonehome.com")
+ && (shExpMatch(url, "*/pocketpcmagbest.gif")
+ || shExpMatch(url, "*/link-msmobiles.gif")))
+ || (dnsDomainIs(host, "ppc4you.com")
+ && shExpMatch(url, "*/ppc_top_sites.gif"))
+
+ // more animated ads... these really drive me crazy
+ || (dnsDomainIs(host, ".freewarepalm.com")
+ && shExpMatch(url, "*/sponsors/*"))
+
+ //////
+ //
+ // popups/unders
+ //
+
+ || dnsDomainIs(host, "remotead.cnet.com")
+ || dnsDomainIs(host, ".1st-dating.com")
+ || dnsDomainIs(host, ".mousebucks.com")
+ || dnsDomainIs(host, ".yourfreedvds.com")
+ || dnsDomainIs(host, ".popupsavings.com")
+ || dnsDomainIs(host, ".popupmoney.com")
+ || dnsDomainIs(host, ".popuptraffic.com")
+ || dnsDomainIs(host, ".popupnation.com")
+ || dnsDomainIs(host, ".infostart.com")
+ || dnsDomainIs(host, ".popupad.net")
+ || dnsDomainIs(host, ".usapromotravel.com")
+ || dnsDomainIs(host, ".goclick.com")
+ || dnsDomainIs(host, ".trafficwave.net")
+ || dnsDomainIs(host, ".popupad.net")
+ || dnsDomainIs(host, ".paypopup.com")
+
+ // Popups from ezboard
+ || dnsDomainIs(host, ".greenreaper.com")
+ || dnsDomainIs(host, ".spewey.com")
+ || dnsDomainIs(host, ".englishharbour.com")
+ || dnsDomainIs(host, ".casino-trade.com")
+ || dnsDomainIs(host, "got2goshop.com")
+ // more ezboard crud (from Miika Asunta)
+ || dnsDomainIs(host, ".addynamix.com")
+ || dnsDomainIs(host, ".trafficmp.com")
+ || dnsDomainIs(host, ".makingmoneyfromhome.net")
+ || dnsDomainIs(host, ".leadcart.com")
+
+ // http://www.power-mark.com/js/popunder.js
+ || dnsDomainIs(host, ".power-mark.com")
+
+ //////
+ //
+ // User tracking (worse than ads) && hit counting "services"
+ //
+
+ // "web trends live"
+ || dnsDomainIs(host, ".webtrendslive.com")
+ || dnsDomainIs(host, ".wtlive.com")
+
+ // 1x1 tracking images
+ // ** (but also used in some pay-for-clicks that I want to follow,
+ // ** so disabled for now. 9/2001)
+ // || dnsDomainIs(host, "service.bfast.com")
+
+ // one whole class C full of ad servers
+ // XXX this might need the resolver
+// || isInNet(host, "66.40.16.0", "255.255.255.0")
+ || shExpMatch(host, "66.40.16.*")
+
+ || dnsDomainIs(host, ".web-stat.com")
+ || dnsDomainIs(host, ".superstats.com")
+ || dnsDomainIs(host, ".allhits.ru")
+ || dnsDomainIs(host, ".list.ru")
+ || dnsDomainIs(host, ".counted.com")
+ || dnsDomainIs(host, ".rankyou.com")
+ || dnsDomainIs(host, ".clickcash.com")
+ || dnsDomainIs(host, ".clickbank.com")
+ || dnsDomainIs(host, ".paycounter.com")
+ || dnsDomainIs(host, ".cashcount.com")
+ || dnsDomainIs(host, ".clickedyclick.com")
+ || dnsDomainIs(host, ".clickxchange.com")
+ || dnsDomainIs(host, ".sitestats.com")
+ || dnsDomainIs(host, ".site-stats.com")
+ || dnsDomainIs(host, ".hitbox.com")
+ || dnsDomainIs(host, ".exitdirect.com")
+ || dnsDomainIs(host, ".realtracker.com")
+ || dnsDomainIs(host, ".etracking.com")
+ || dnsDomainIs(host, ".livestat.com")
+ || dnsDomainIs(host, ".spylog.com")
+ || dnsDomainIs(host, ".freestats.com")
+ || dnsDomainIs(host, ".addfreestats.com")
+ || dnsDomainIs(host, ".topclicks.net")
+ || dnsDomainIs(host, ".mystat.pl")
+ || dnsDomainIs(host, ".hitz4you.de")
+ || dnsDomainIs(host, ".hitslink.com")
+ || dnsDomainIs(host, ".thecounter.com")
+ || dnsDomainIs(host, ".roiservice.com")
+ || dnsDomainIs(host, ".overture.com")
+ || dnsDomainIs(host, ".xiti.com")
+ || dnsDomainIs(host, ".cj.com")
+ || dnsDomainIs(host, ".anrdoezrs.net")
+ || dnsDomainIs(host, ".hey.it")
+ || dnsDomainIs(host, ".ppctracking.net")
+ || dnsDomainIs(host, ".darkcounter.com")
+ || dnsDomainIs(host, ".2o7.com")
+ || dnsDomainIs(host, ".2o7.net")
+ || dnsDomainIs(host, ".gostats.com")
+ || dnsDomainIs(host, ".everstats.com")
+ || dnsDomainIs(host, ".onestat.com")
+ || dnsDomainIs(host, ".statcounter.com")
+ || dnsDomainIs(host, ".trafic.ro")
+ || dnsDomainIs(host, ".exitexchange.com")
+
+ // clickability, via CNN
+ || dnsDomainIs(host, ".clickability.com")
+ || dnsDomainIs(host, ".savethis.com")
+
+ //////
+ //
+ // Dead domain parking
+ //
+ || dnsDomainIs(host, ".netster.com")
+
+ //////
+ //
+ // Search engine "optimizers"
+ //
+ || dnsDomainIs(host, ".searchmarketing.com")
+
+ //////
+ //
+ // Spyware/worms
+ //
+
+ || dnsDomainIs(host, ".friendgreetings.com")
+ || dnsDomainIs(host, ".permissionedmedia.com")
+ || dnsDomainIs(host, ".searchbarcash.com")
+
+ //////
+ //
+ // "Surveys"
+ //
+
+ || dnsDomainIs(host, ".zoomerang.com")
+
+ //////
+ //
+ // "Casino" ads (scams)
+ //
+
+ || dnsDomainIs(host, ".aceshigh.com")
+ || dnsDomainIs(host, ".idealcasino.net")
+ || dnsDomainIs(host, ".casinobar.net")
+ || dnsDomainIs(host, ".casinoionair.com")
+
+ || (dnsDomainIs(host, ".go2net.com")
+ && shExpMatch(url, "*adclick*")
+ )
+
+ //////
+ //
+ // Spammers
+ //
+
+ || dnsDomainIs(host, ".licensed-collectibles.com")
+ || dnsDomainIs(host, ".webdesignprofessional.com")
+
+ //////
+ //
+ // Directed at extra annoying places
+ //
+
+ // Attempts to download ad-supported spyware without asking first
+ || dnsDomainIs(host, ".gator.com")
+
+ // ebay
+ || ((dnsDomainIs(host, "pics.ebay.com")
+ || dnsDomainIs(host, "pics.ebaystatic.com"))
+ && shExpMatch(url, "*/pics/mops/*/*[0-9]x[0-9]*")
+ )
+ || (dnsDomainIs(host, "ebayobjects.com")
+ && shExpMatch(url, "*search/keywords*")
+ )
+ || dnsDomainIs(host, "admarketplace.com")
+ || dnsDomainIs(host, "admarketplace.net")
+
+ // Bravenet & Ezboard
+ || (dnsDomainIs(host, ".ezboard.com")
+ && shExpMatch(url, "*/bravenet/*")
+ )
+ || (dnsDomainIs(host, ".bravenet.com")
+ && ( shExpMatch(host, "*counter*")
+ || shExpMatch(url, "*/jsbanner*")
+ || shExpMatch(url, "*/bravenet/*")
+ )
+ )
+
+ // GeoCities
+ // (checking "toto" from Prakash Persaud)
+ || (( dnsDomainIs(host,"geo.yahoo.com")
+ || dnsDomainIs(host,".geocities.com"))
+ && (
+ shExpMatch(url,"*/toto?s*")
+ || shExpMatch(url, "*geocities.com/js_source*")
+ || dnsDomainIs(host, "visit.geocities.com")
+ )
+ )
+
+ // Yahoo ads (direct and via Akamai)
+ // http://us.a1.yimg.com/us.yimg.com/a/...
+ || (dnsDomainIs(host,"yimg.com")
+ && ( shExpMatch(url,"*yimg.com/a/*")
+ || shExpMatch(url,"*yimg.com/*/adv/*")
+ )
+ )
+ // "eyewonder" ads at Yahoo
+ || dnsDomainIs(host,"qz3.net")
+ || dnsDomainIs(host,".eyewonder.com")
+
+ // background ad images
+ || dnsDomainIs(host,"buzzcity.com")
+
+ // FortuneCity - ads and tracking
+ || (dnsDomainIs(host,".fortunecity.com")
+ && ( shExpMatch(url,"*/js/adscript*")
+ || shExpMatch(url,"*/js/fctrack*")
+ )
+ )
+
+ // zdnet
+ // tracking webbugs:
+ // http://gserv.zdnet.com/clear/ns.gif?a000009999999999999+2093
+ || (dnsDomainIs(host, ".zdnet.com")
+ && ( dnsDomainIs(host, "ads3.zdnet.com")
+ || host == "gserv.zdnet.com"
+ || shExpMatch(url, "*/texis/cs/ad.html")
+ || shExpMatch(url, "*/adverts")
+ )
+ )
+
+ // cnet
+ // web bugs and ad redirections
+ // taken care of by hostname rules:
+ // http://adimg.com.com/...
+ // http://adlog.com.com/...
+ // http://dw.com.com/clear/c.gif
+ // http://dw.com.com/redir?astid=2&destUrl=http%3A%2F%2Fwww.buy ...
+ // http://mads.com.com/mac-ad?...
+ || (host == "dw.com.com" || host == "mads.com.com")
+ || (dnsDomainIs(host, ".com.com")
+ && ( host == "dw.com.com"
+ || host == "mads.com.com"
+ )
+ )
+
+ // nytimes
+ || (dnsDomainIs(host, ".nytimes.com")
+ && shExpMatch(url,"*/adx/*")
+ )
+
+ // pop-after
+ || dnsDomainIs(host, ".unicast.net")
+
+
+ // Be Free affiliate ads
+ || dnsDomainIs(host, ".reporting.net")
+ || dnsDomainIs(host, ".affliate.net")
+ || (dnsDomainIs(host, ".akamai.net")
+ && shExpMatch(url, "*.affiliate.net/*")
+ )
+
+ // Infospace.com popunder
+ // for "webmarket.com" & "shopping.dogpile.com" -- just say no!
+ || (dnsDomainIs(host, ".infospace.com")
+ && shExpMatch(url, "*/goshopping/*")
+ )
+ || dnsDomainIs(host, ".webmarket.com")
+ || dnsDomainIs(host, "shopping.dogpile.com")
+
+ // goto.com popunder for information.gopher.com
+ || dnsDomainIs(host, "information.gopher.com")
+
+ // About.com popunder and floating ad bar
+ || (dnsDomainIs(host, ".about.com")
+ && (0
+ || shExpMatch(url, "*/sprinks/*")
+ || shExpMatch(url, "*about.com/0/js/*")
+ || shExpMatch(url, "*about.com/f/p/*")
+ )
+ )
+
+ // Dell
+ || (dnsDomainIs(host, ".dell.com")
+ && shExpMatch(url, "*/images/affiliates/*")
+ )
+
+ // IFilm iframes
+ || (dnsDomainIs(host, ".ifilm.com")
+ && (shExpMatch(url, "*/partners/*")
+ || shExpMatch(url, "*/redirect*")
+ )
+ )
+
+ // tomshardware
+ // they are most annoying:
+ // - cookies on their background images to track you
+ // - looping shockwave ads
+ // this kills most of the crud
+// || isInNet(host, "216.92.21.0", "255.255.255.0")
+ || ((dnsDomainIs(host, ".tomshardware.com")
+ || shExpMatch(host, "216.92.21.*"))
+ && ( shExpMatch(url, "*/cgi-bin/banner*")
+ || shExpMatch(url, "*/cgi-bin/bd.m*")
+ || shExpMatch(url, "*/images/banner/*")
+ )
+ )
+
+ || shExpMatch(url, "*mapsonus.com/ad.images*")
+
+ // Slashdot: added these when I saw hidden 1x1 images with cookies
+ || dnsDomainIs(host, "adfu.blockstackers.com")
+ || (dnsDomainIs(host, "slashdot.org")
+ && (
+ shExpMatch(url, "*/slashdot/pc.gif*")
+ || shExpMatch(url, "*/pagecount.gif*")
+ || shExpMatch(url, "*/adlog.pl*")
+ )
+ )
+ || dnsDomainIs(host, "googlesyndication.com")
+ || dnsDomainIs(host, "google-analytics.com")
+
+ // it-aint-cool.com
+ || (dnsDomainIs(host, "aintitcool.com")
+ && (
+ shExpMatch(url, "*/newline/*")
+ || shExpMatch(url, "*/drillteammedia/*")
+ || shExpMatch(url, "*/foxsearchlight/*")
+ || shExpMatch(url, "*/media/aol*")
+ || shExpMatch(url, "*swf")
+ )
+ )
+
+ // Staples & CrossMediaServices
+ || (dnsDomainIs(host, ".staples.com")
+ && shExpMatch(url, "*/pixeltracker/*")
+ )
+ || dnsDomainIs(host, "pt.crossmediaservices.com")
+
+ // OfficeMax affiliate art (affArt->affart because of toLowerCase)
+ || (dnsDomainIs(host, ".officemax.com")
+ && shExpMatch(url, "*/affart/*")
+ )
+
+ // complicated JavaScript for directed ads!
+// 1/5/2004: allow /js/ as they now use it for graphs
+// || (dnsDomainIs(host, ".anandtech.com")
+// && (shExpMatch(url,"*/js/*")
+// || shExpMatch(url,"*/bnr_*")
+// )
+// )
+
+ // hardocp
+ // http://65.119.30.151/UploadFilesForNewegg/onlineads/newegg728hardocp.swf
+ || (host == "hera.hardocp.com")
+ || shExpMatch(url,"*/onlineads/*")
+
+ // complicated JavaScript for gliding ads!
+ || (dnsDomainIs(host, ".fatwallet.com")
+ && shExpMatch(url,"*/js/*")
+ )
+
+ // cnet ads
+ || dnsDomainIs(host, "promo.search.com")
+
+ // IMDB celeb photos
+ // (Photos/CMSIcons->photos/cmsicons because of toLowerCase)
+ || (dnsDomainIs(host, "imdb.com")
+ && ( shExpMatch(url, "*/photos/cmsicons/*")
+ || shExpMatch(url, "*/icons/*/celeb/*")
+ || shExpMatch(url, "*.swf")
+ )
+ )
+ // incredibly annoying IMDB shock/flash ads
+ || dnsDomainIs(host, "kliptracker.com")
+ || dnsDomainIs(host, "klipmart.com")
+
+ || host == "spinbox.techtracker.com"
+
+ // Amazon affiliate 'search'. retrieves a JS that writes new HTML
+ // that references one or more images "related to your search".
+ // (If there is a real use for rcm.amazon.com, let me know)
+ // http://rcm.amazon.com/e/cm?t=starlingtechnolo&amp;l=st1&amp;search=cynicism&amp;mode=books&amp;p=11&amp;o=1&amp;bg1=CEE7FF&amp;fc1=000000&amp;lc1=083194&amp;lt1=_blank
+ || host == "rcm.amazon.com"
+
+ //////
+ //
+ // "Other Scum And Villainry"
+ //
+
+ // Popup from "reserved" domains at register.com
+ // (I considered blocking all of register.com)
+ || (dnsDomainIs(host, ".register.com")
+ && (shExpMatch(url,"*.js")
+ || shExpMatch(host, "searchtheweb*")
+ || shExpMatch(host, "futuresite*")
+ )
+ )
+
+ || dnsDomainIs(host, ".oingo.com")
+ || dnsDomainIs(host, ".namingsolutions.com")
+
+ // "Data collection"
+ || dnsDomainIs(host, ".coremetrics.com")
+
+ // Sets your home page
+ || dnsDomainIs(host, ".firehunt.com")
+
+ // tracking
+ || dnsDomainIs(host, ".appliedsemantics.com")
+
+ // Scum who buy ad space from the above
+ // || dnsDomainIs(host, ".hartfordrents.com")
+ // || dnsDomainIs(host, ".chicagocomputerrentals.com")
+ // || dnsDomainIs(host, ".ccrsolutions.com")
+ // || dnsDomainIs(host, ".rushcomputer.com")
+ // || dnsDomainIs(host, ".localesimates.com")
+ // || dnsDomainIs(host, ".unitedvision.com")
+ // XXX this might need the resolver
+// || isInNet(host, "216.216.246.31", "255.255.255.255")
+ || (host == "216.216.246.31")
+
+ // avsforum ads
+// || isInNet(host, "216.66.21.35", "255.255.255.255")
+ || (host == "216.66.21.35")
+ || dnsDomainIs(host, ".avsads.com")
+
+ // bogus "search" sites at non-existent sites
+ || dnsDomainIs(host, ".search411.com")
+
+ // palmgear.com
+ || (dnsDomainIs(host, ".palmgear.com")
+ && ( shExpMatch(url, "*/adsales/*")
+ || shExpMatch(url, "*/emailblast*")
+ )
+ )
+
+ //////
+ //
+ // Contributed adult sites
+ //
+
+ || dnsDomainIs(host, ".porntrack.com")
+ || dnsDomainIs(host, ".sexe-portail.com")
+ || dnsDomainIs(host, ".sextracker.com")
+ || dnsDomainIs(host, ".sexspy.com")
+ || dnsDomainIs(host, ".offshoreclicks.com")
+ || dnsDomainIs(host, ".exxxit.com")
+ || dnsDomainIs(host, "private-dailer.biz")
+ || shExpMatch(url, "*retestrak.nl/misc/reet.gif")
+ || shExpMatch(url, "*dontstayin.com/*.swf")
+
+ // debug
+ // || (alertmatch("NOT:" + url) && 0)
+
+ ) {
+
+ // alert("blackholing: " + url);
+
+ // deny this request
+ return blackhole;
+
+ } else {
+ // debug
+ // alert("allowing: " + url);
+
+ // all other requests go direct and avoid any overhead
+ return normal;
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// This line is just for testing; you can ignore it. But, if you are having
+// problems where you think this PAC file isn't being loaded, then change this
+// to read "if (1)" and the alert box should appear when the browser loads this
+// file.
+//
+// This works for IE4, IE5, IE5.5, IE6 and Netscape 2.x, 3.x, and 4.x.
+// (For IE6, tested on Win2K)
+// This does not work for Mozilla before 1.4 (and not for Netscape 6.x).
+// In Mozilla 1.4+ and Fireox, this will write to the JavaScript console.
+//
+if (0) {
+ alert("no-ads.pac: LOADED:\n" +
+ " version: "+noadsver+"\n" +
+ " normal: "+normal+"\n" +
+ " blackhole: "+blackhole+"\n" +
+ " localproxy: "+localproxy+"\n" +
+ " bypass: "+bypass+"\n"
+ // MSG
+ );
+}
+
+// The above should show you that this JavaScript is executed in an
+// unprotected global context. NEVER point at someone elses autoconfig file;
+// always load from your own copy!
+
+// an alert that returns true
+function alertmatch(str)
+{
+ // alert("match: "+str);
+ return 1;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// Replacement function for dnsDomainIs(). This is to replace the
+// prefix problem, which a leading '.' used to be used for.
+//
+// dnsDomainIs("bar.com", "bar.com") => true
+// dnsDomainIs("www.bar.com", "bar.com") => true
+// dnsDomainIs("www.foobar.com", "bar.com") => true <<< incorrect
+//
+// isInDomain("bar.com", "bar.com") => true
+// isInDomain("www.bar.com", "bar.com") => true
+// isInDomain("www.foobar.com", "bar.com") => false <<< correct
+//
+function isInDomain(host, domain) {
+ if (host.length > domain.length) {
+ return (host.substring(host.length - domain.length - 1) == "."+domain);
+ }
+ return (host == domain);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// Tired of reading boring comments? Try reading today's comics:
+// http://www.schooner.com/~loverso/comics/
+//
+// or getting a quote from my collection:
+// http://www.schooner.com/~loverso/quote/
+//
+
+// eof
+ //intelliserv.net
+ //intellisrv.net
+ //rambler.ru
+ //rightmedia.net
+ //calloffate.com
+ //fairmeasures.com
+
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/dns.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/dns.js
new file mode 100644
index 00000000000..fbfb74ec5db
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/dns.js
@@ -0,0 +1,31 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ alert('iteration: ' + g_iteration++);
+
+ var ips = [
+ myIpAddress(),
+ dnsResolve(''),
+ dnsResolveEx('host1'),
+ dnsResolve('host2'),
+ dnsResolve('host3'),
+ myIpAddress(),
+ dnsResolve('host3'),
+ dnsResolveEx('host1'),
+ myIpAddress(),
+ dnsResolve('host2'),
+ dnsResolveEx('host6'),
+ myIpAddressEx(),
+ dnsResolve('host1'),
+ ];
+
+ for (var i = 0; i < ips.length; ++i) {
+ // Stringize everything.
+ ips[i] = '' + ips[i];
+ }
+
+ var proxyHost = ips.join('-');
+ proxyHost = proxyHost.replace(/[^0-9a-zA-Z.-]/g, '_');
+
+ return "PROXY " + proxyHost + ":99";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/dns_during_init.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/dns_during_init.js
new file mode 100644
index 00000000000..55aef52e6f1
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/dns_during_init.js
@@ -0,0 +1,14 @@
+var g_ips = [
+ dnsResolve('host1'),
+ dnsResolve('host2')
+];
+
+alert('Watsup');
+alert('Watsup2');
+
+function FindProxyForURL(url, host) {
+ // Note that host1 and host2 should not resolve using the same cache as was
+ // used for g_ips!
+ var ips = g_ips.concat([dnsResolve('host1'), dnsResolve('host2')]);
+ return 'PROXY ' + ips.join('-') + ':99';
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/error.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/error.js
new file mode 100644
index 00000000000..83e534c28f2
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/error.js
@@ -0,0 +1,8 @@
+function FindProxyForURL(url, host) {
+ if (host == 'throw-an-error') {
+ alert('Prepare to DIE!');
+ var x = null;
+ return x.split('-'); // Throws exception.
+ }
+ return "PROXY i-approve-this-message:42";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects1.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects1.js
new file mode 100644
index 00000000000..251af9f7546
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects1.js
@@ -0,0 +1,14 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+
+ var ips = [
+ dnsResolve('host1'),
+ dnsResolve('crazy' + g_iteration)
+ ];
+
+ alert('iteration: ' + g_iteration);
+
+ return 'PROXY ' + ips.join('-') + ':100';
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects2.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects2.js
new file mode 100644
index 00000000000..f5e5076a7f8
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects2.js
@@ -0,0 +1,18 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+
+ var ips;
+
+ if (g_iteration < 3) {
+ ips = [
+ dnsResolve('host1'),
+ dnsResolve('host2')
+ ];
+ } else {
+ ips = [ dnsResolve('host' + g_iteration) ];
+ }
+
+ return 'PROXY ' + ips.join('-') + ':100';
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects3.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects3.js
new file mode 100644
index 00000000000..04211260c3b
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects3.js
@@ -0,0 +1,13 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+
+ var results = [];
+ for (var i = 1; i <= g_iteration; ++i) {
+ results.push('' + dnsResolve('host' + i));
+ }
+
+ alert('iteration: ' + g_iteration);
+ return 'PROXY ' + results.join('-') + ':' + g_iteration;
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects4.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects4.js
new file mode 100644
index 00000000000..1bfbbfd88e5
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/global_sideffects4.js
@@ -0,0 +1,15 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+
+ for (var i = 0; i < g_iteration; ++i) {
+ myIpAddress();
+ }
+
+ var result = '' + dnsResolve('host' + g_iteration);
+ result += g_iteration;
+
+ alert('iteration: ' + g_iteration);
+ return 'PROXY ' + result + ':34';
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/simple.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/simple.js
new file mode 100644
index 00000000000..f742081f8dd
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/simple.js
@@ -0,0 +1,3 @@
+function FindProxyForURL(url, host) {
+ return "PROXY " + host + ":99";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/simple_dns.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/simple_dns.js
new file mode 100644
index 00000000000..24867b07a30
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/simple_dns.js
@@ -0,0 +1,8 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+ myIpAddress();
+ var ip = dnsResolve(host);
+ return "PROXY " + ip + ':' + g_iteration;
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/terminate.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/terminate.js
new file mode 100644
index 00000000000..88fe4cb2389
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/terminate.js
@@ -0,0 +1,20 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+
+ var ip1 = dnsResolve("host1");
+ var ip2 = dnsResolveEx("host2");
+
+ if (ip1 == "182.111.0.222" && ip2 == "111.33.44.55")
+ return "PROXY foopy:" + g_iteration;
+
+ // If the script didn't terminate when abandoned, then it will reach this and
+ // hang.
+ for (;;) {}
+ throw "not reached";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_alerts.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_alerts.js
new file mode 100644
index 00000000000..564e30ec638
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_alerts.js
@@ -0,0 +1,13 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+
+ dnsResolve(host);
+
+ for (var i = 0; i < 50; i++) {
+ alert('Gee, all these alerts are silly!');
+ }
+
+ return "PROXY foo:" + g_iteration;
+}
diff --git a/chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_empty_alerts.js b/chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_empty_alerts.js
new file mode 100644
index 00000000000..6fe85d43dcd
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_tracing_unittest/too_many_empty_alerts.js
@@ -0,0 +1,13 @@
+var g_iteration = 0;
+
+function FindProxyForURL(url, host) {
+ g_iteration++;
+
+ dnsResolve(host);
+
+ for (var i = 0; i < 1000; i++) {
+ alert('');
+ }
+
+ return "PROXY foo:" + g_iteration;
+}
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/binding_from_global.js b/chromium/net/data/proxy_resolver_v8_unittest/binding_from_global.js
new file mode 100644
index 00000000000..91bbcf2378f
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/binding_from_global.js
@@ -0,0 +1,8 @@
+// Calls a bindings outside of FindProxyForURL(). This causes the code to
+// get exercised during initialization.
+
+var x = myIpAddress();
+
+function FindProxyForURL(url, host) {
+ return "PROXY " + x + ":80";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/bindings.js b/chromium/net/data/proxy_resolver_v8_unittest/bindings.js
new file mode 100644
index 00000000000..7cf9f263465
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/bindings.js
@@ -0,0 +1,62 @@
+// Try calling the browser-side bound functions with varying (invalid)
+// inputs. There is no notion of "success" for this test, other than
+// verifying the correct C++ bindings were reached with expected values.
+
+function MyObject() {
+ this.x = "3";
+}
+
+MyObject.prototype.toString = function() {
+ throw "exception from calling toString()";
+}
+
+function expectEquals(expectation, actual) {
+ if (!(expectation === actual)) {
+ throw "FAIL: expected: " + expectation + ", actual: " + actual;
+ }
+}
+
+function FindProxyForURL(url, host) {
+ // Call dnsResolve with some wonky arguments.
+ // Those expected to fail (because we have passed a non-string parameter)
+ // will return |null|, whereas those that have called through to the C++
+ // bindings will return '127.0.0.1'.
+ expectEquals(null, dnsResolve());
+ expectEquals(null, dnsResolve(null));
+ expectEquals(null, dnsResolve(undefined));
+ expectEquals('127.0.0.1', dnsResolve(""));
+ expectEquals(null, dnsResolve({foo: 'bar'}));
+ expectEquals(null, dnsResolve(fn));
+ expectEquals(null, dnsResolve(['3']));
+ expectEquals('127.0.0.1', dnsResolve("arg1", "arg2", "arg3", "arg4"));
+
+ // Call alert with some wonky arguments.
+ alert();
+ alert(null);
+ alert(undefined);
+ alert({foo:'bar'});
+
+ // This should throw an exception when we toString() the argument
+ // to alert in the bindings.
+ try {
+ alert(new MyObject());
+ } catch (e) {
+ alert(e);
+ }
+
+ // Call myIpAddress() with wonky arguments
+ myIpAddress(null);
+ myIpAddress(null, null);
+
+ // Call myIpAddressEx() correctly (no arguments).
+ myIpAddressEx();
+
+ // Call dnsResolveEx() (note that isResolvableEx() implicity calls it.)
+ isResolvableEx("is_resolvable");
+ dnsResolveEx("foobar");
+
+ return "DIRECT";
+}
+
+function fn() {}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/direct.js b/chromium/net/data/proxy_resolver_v8_unittest/direct.js
new file mode 100644
index 00000000000..43a04da7c8c
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/direct.js
@@ -0,0 +1,4 @@
+function FindProxyForURL(url, host) {
+ return "DIRECT";
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/dns_fail.js b/chromium/net/data/proxy_resolver_v8_unittest/dns_fail.js
new file mode 100644
index 00000000000..c71bcc38304
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/dns_fail.js
@@ -0,0 +1,27 @@
+// This script should be run in an environment where all DNS resolution are
+// failing. It tests that functions return the expected values.
+//
+// Returns "PROXY success:80" on success.
+function FindProxyForURL(url, host) {
+ try {
+ expectEq("127.0.0.1", myIpAddress());
+ expectEq("", myIpAddressEx());
+
+ expectEq(null, dnsResolve("not-found"));
+ expectEq("", dnsResolveEx("not-found"));
+
+ expectEq(false, isResolvable("not-found"));
+ expectEq(false, isResolvableEx("not-found"));
+
+ return "PROXY success:80";
+ } catch(e) {
+ alert(e);
+ return "PROXY failed:80";
+ }
+}
+
+function expectEq(expected, actual) {
+ if (expected != actual)
+ throw "Expected " + expected + " but was " + actual;
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/ends_with_comment.js b/chromium/net/data/proxy_resolver_v8_unittest/ends_with_comment.js
new file mode 100644
index 00000000000..bbfef8561d2
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/ends_with_comment.js
@@ -0,0 +1,8 @@
+function FindProxyForURL(url, host) {
+ return "PROXY success:80";
+}
+
+// We end the script with a comment (and no trailing newline).
+// This used to cause problems, because internally ProxyResolverV8
+// would append some functions to the script; the first line of
+// those extra functions was being considered part of the comment. \ No newline at end of file
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/ends_with_statement_no_semicolon.js b/chromium/net/data/proxy_resolver_v8_unittest/ends_with_statement_no_semicolon.js
new file mode 100644
index 00000000000..ea03714b3bc
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/ends_with_statement_no_semicolon.js
@@ -0,0 +1,3 @@
+// Ends with a statement, and no terminal newline.
+function FindProxyForURL(url, host) { return "PROXY success:" + x; }
+x = 3 \ No newline at end of file
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/international_domain_names.js b/chromium/net/data/proxy_resolver_v8_unittest/international_domain_names.js
new file mode 100644
index 00000000000..546af13d51d
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/international_domain_names.js
@@ -0,0 +1,16 @@
+// Try resolving hostnames containing non-ASCII characters.
+
+function FindProxyForURL(url, host) {
+ // This international hostname has a non-ASCII character. It is represented
+ // in punycode as 'xn--bcher-kva.ch'
+ var idn = 'B\u00fccher.ch';
+
+ // We disregard the actual return value -- all we care about is that on
+ // the C++ end the bindings were passed the punycode equivalent of this
+ // unicode hostname.
+ dnsResolve(idn);
+ dnsResolveEx(idn);
+
+ return "DIRECT";
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/missing_close_brace.js b/chromium/net/data/proxy_resolver_v8_unittest/missing_close_brace.js
new file mode 100644
index 00000000000..8018f8f595e
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/missing_close_brace.js
@@ -0,0 +1,6 @@
+// This PAC script is invalid, because there is a missing close brace
+// on the function FindProxyForURL().
+
+function FindProxyForURL(url, host) {
+ return "DIRECT";
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/no_entrypoint.js b/chromium/net/data/proxy_resolver_v8_unittest/no_entrypoint.js
new file mode 100644
index 00000000000..8993059435c
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/no_entrypoint.js
@@ -0,0 +1,2 @@
+var x = "This is an invalid PAC script because it lacks a " +
+ "FindProxyForURL() function";
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/pac_library_unittest.js b/chromium/net/data/proxy_resolver_v8_unittest/pac_library_unittest.js
new file mode 100644
index 00000000000..0c0a4a98150
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/pac_library_unittest.js
@@ -0,0 +1,366 @@
+// This should output "PROXY success:80" if all the tests pass.
+// Otherwise it will output "PROXY failure:<num-failures>".
+//
+// This aims to unit-test the PAC library functions, which are
+// exposed in the PAC's execution environment. (Namely, dnsDomainLevels,
+// timeRange, etc.)
+
+function FindProxyForURL(url, host) {
+ var numTestsFailed = 0;
+
+ // Run all the tests
+ for (var test in Tests) {
+ var t = new TestContext(test);
+
+ // Run the test.
+ Tests[test](t);
+
+ if (t.failed()) {
+ numTestsFailed++;
+ }
+ }
+
+ if (numTestsFailed == 0) {
+ return "PROXY success:80";
+ }
+ return "PROXY failure:" + numTestsFailed;
+}
+
+// --------------------------
+// Tests
+// --------------------------
+
+var Tests = {};
+
+Tests.testDnsDomainIs = function(t) {
+ t.expectTrue(dnsDomainIs("google.com", ".com"));
+ t.expectTrue(dnsDomainIs("google.co.uk", ".co.uk"));
+ t.expectFalse(dnsDomainIs("google.com", ".co.uk"));
+ t.expectFalse(dnsDomainIs("www.adobe.com", ".ad"));
+};
+
+Tests.testDnsDomainLevels = function(t) {
+ t.expectEquals(0, dnsDomainLevels("www"));
+ t.expectEquals(2, dnsDomainLevels("www.google.com"));
+ t.expectEquals(3, dnsDomainLevels("192.168.1.1"));
+};
+
+Tests.testIsInNet = function(t) {
+ t.expectTrue(
+ isInNet("192.89.132.25", "192.89.132.25", "255.255.255.255"));
+ t.expectFalse(
+ isInNet("193.89.132.25", "192.89.132.25", "255.255.255.255"));
+
+ t.expectTrue(isInNet("192.89.132.25", "192.89.0.0", "255.255.0.0"));
+ t.expectFalse(isInNet("193.89.132.25", "192.89.0.0", "255.255.0.0"));
+
+ t.expectFalse(
+ isInNet("192.89.132.a", "192.89.0.0", "255.255.0.0"));
+};
+
+Tests.testIsPlainHostName = function(t) {
+ t.expectTrue(isPlainHostName("google"));
+ t.expectFalse(isPlainHostName("google.com"));
+};
+
+Tests.testLocalHostOrDomainIs = function(t) {
+ t.expectTrue(localHostOrDomainIs("www.google.com", "www.google.com"));
+ t.expectTrue(localHostOrDomainIs("www", "www.google.com"));
+ t.expectFalse(localHostOrDomainIs("maps.google.com", "www.google.com"));
+};
+
+Tests.testShExpMatch = function(t) {
+ t.expectTrue(shExpMatch("foo.jpg", "*.jpg"));
+ t.expectTrue(shExpMatch("foo5.jpg", "*o?.jpg"));
+ t.expectFalse(shExpMatch("foo.jpg", ".jpg"));
+ t.expectFalse(shExpMatch("foo.jpg", "foo"));
+};
+
+Tests.testSortIpAddressList = function(t) {
+ t.expectEquals("::1;::2;::3", sortIpAddressList("::2;::3;::1"));
+ t.expectEquals(
+ "2001:4898:28:3:201:2ff:feea:fc14;fe80::5efe:157:9d3b:8b16;157.59.139.22",
+ sortIpAddressList("157.59.139.22;" +
+ "2001:4898:28:3:201:2ff:feea:fc14;" +
+ "fe80::5efe:157:9d3b:8b16"));
+
+ // Single IP address (v4 and v6).
+ t.expectEquals("127.0.0.1", sortIpAddressList("127.0.0.1"));
+ t.expectEquals("::1", sortIpAddressList("::1"))
+
+ // Verify that IPv6 address is not re-written (not reduced).
+ t.expectEquals("0:0::1;192.168.1.1", sortIpAddressList("192.168.1.1;0:0::1"));
+
+ // Input is already sorted.
+ t.expectEquals("::1;192.168.1.3", sortIpAddressList("::1;192.168.1.3"));
+
+ // Same-valued IP addresses (also tests stability).
+ t.expectEquals("0::1;::1;0:0::1", sortIpAddressList("0::1;::1;0:0::1"));
+
+ // Contains extra semi-colons.
+ t.expectEquals("127.0.0.1", sortIpAddressList(";127.0.0.1;"));
+
+ // Contains whitespace (spaces and tabs).
+ t.expectEquals("192.168.0.1;192.168.0.2",
+ sortIpAddressList("192.168.0.1; 192.168.0.2"));
+ t.expectEquals("127.0.0.0;127.0.0.1;127.0.0.2",
+ sortIpAddressList("127.0.0.1; 127.0.0.2; 127.0.0.0"));
+
+ // Empty lists.
+ t.expectFalse(sortIpAddressList(""));
+ t.expectFalse(sortIpAddressList(" "));
+ t.expectFalse(sortIpAddressList(";"));
+ t.expectFalse(sortIpAddressList(";;"));
+ t.expectFalse(sortIpAddressList(" ; ; "));
+
+ // Invalid IP addresses.
+ t.expectFalse(sortIpAddressList("256.0.0.1"));
+ t.expectFalse(sortIpAddressList("192.168.1.1;0:0:0:1;127.0.0.1"));
+
+ // Call sortIpAddressList() with wonky arguments.
+ t.expectEquals(null, sortIpAddressList());
+ t.expectEquals(null, sortIpAddressList(null));
+ t.expectEquals(null, sortIpAddressList(null, null));
+};
+
+Tests.testIsInNetEx = function(t) {
+ t.expectTrue(isInNetEx("198.95.249.79", "198.95.249.79/32"));
+ t.expectTrue(isInNetEx("198.95.115.10", "198.95.0.0/16"));
+ t.expectTrue(isInNetEx("198.95.1.1", "198.95.0.0/16"));
+ t.expectTrue(isInNetEx("198.95.1.1", "198.95.3.3/16"));
+ t.expectTrue(isInNetEx("0:0:0:0:0:0:7f00:1", "0:0:0:0:0:0:7f00:1/32"));
+ t.expectTrue(isInNetEx("3ffe:8311:ffff:abcd:1234:dead:beef:101",
+ "3ffe:8311:ffff::/48"));
+
+ // IPv4 and IPv6 mix.
+ t.expectFalse(isInNetEx("127.0.0.1", "0:0:0:0:0:0:7f00:1/16"));
+ t.expectFalse(isInNetEx("192.168.24.3", "fe80:0:0:0:0:0:c0a8:1803/32"));
+
+ t.expectFalse(isInNetEx("198.95.249.78", "198.95.249.79/32"));
+ t.expectFalse(isInNetEx("198.96.115.10", "198.95.0.0/16"));
+ t.expectFalse(isInNetEx("3fff:8311:ffff:abcd:1234:dead:beef:101",
+ "3ffe:8311:ffff::/48"));
+
+ // Call isInNetEx with wonky arguments.
+ t.expectEquals(null, isInNetEx());
+ t.expectEquals(null, isInNetEx(null));
+ t.expectEquals(null, isInNetEx(null, null));
+ t.expectEquals(null, isInNetEx(null, null, null));
+ t.expectEquals(null, isInNetEx("198.95.249.79"));
+
+ // Invalid IP address.
+ t.expectFalse(isInNetEx("256.0.0.1", "198.95.249.79"));
+ t.expectFalse(isInNetEx("127.0.0.1 ", "127.0.0.1/32")); // Extra space.
+
+ // Invalid prefix.
+ t.expectFalse(isInNetEx("198.95.115.10", "198.95.0.0/34"));
+ t.expectFalse(isInNetEx("127.0.0.1", "127.0.0.1")); // Missing '/' in prefix.
+};
+
+Tests.testWeekdayRange = function(t) {
+ // Test with local time.
+ MockDate.setCurrent("Tue Mar 03 2009");
+ t.expectEquals(true, weekdayRange("MON", "FRI"));
+ t.expectEquals(true, weekdayRange("TUE", "FRI"));
+ t.expectEquals(true, weekdayRange("TUE", "TUE"));
+ t.expectEquals(true, weekdayRange("TUE"));
+ t.expectEquals(false, weekdayRange("WED", "FRI"));
+ t.expectEquals(false, weekdayRange("SUN", "MON"));
+ t.expectEquals(false, weekdayRange("SAT"));
+ t.expectEquals(false, weekdayRange("FRI", "MON"));
+
+ // Test with GMT time.
+ MockDate.setCurrent("Tue Mar 03 2009 GMT");
+ t.expectEquals(true, weekdayRange("MON", "FRI", "GMT"));
+ t.expectEquals(true, weekdayRange("TUE", "FRI", "GMT"));
+ t.expectEquals(true, weekdayRange("TUE", "TUE", "GMT"));
+ t.expectEquals(true, weekdayRange("TUE", "GMT"));
+ t.expectEquals(false, weekdayRange("WED", "FRI", "GMT"));
+ t.expectEquals(false, weekdayRange("SUN", "MON", "GMT"));
+ t.expectEquals(false, weekdayRange("SAT", "GMT"));
+};
+
+Tests.testDateRange = function(t) {
+ // dateRange(day)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange(3));
+ t.expectEquals(false, dateRange(1));
+
+ // dateRange(day, "GMT")
+ MockDate.setCurrent("Mar 03 2009 GMT");
+ t.expectEquals(true, dateRange(3, "GMT"));
+ t.expectEquals(false, dateRange(1, "GMT"));
+
+ // dateRange(day1, day2)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange(1, 4));
+ t.expectEquals(false, dateRange(4, 20));
+
+ // dateRange(day, month)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange(3, "MAR"));
+ MockDate.setCurrent("Mar 03 2014");
+ t.expectEquals(true, dateRange(3, "MAR"));
+ // TODO(eroman):
+ //t.expectEquals(false, dateRange(2, "MAR"));
+ //t.expectEquals(false, dateRange(3, "JAN"));
+
+ // dateRange(day, month, year)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange(3, "MAR", 2009));
+ t.expectEquals(false, dateRange(4, "MAR", 2009));
+ t.expectEquals(false, dateRange(3, "FEB", 2009));
+ MockDate.setCurrent("Mar 03 2014");
+ t.expectEquals(false, dateRange(3, "MAR", 2009));
+
+ // dateRange(month1, month2)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange("JAN", "MAR"));
+ t.expectEquals(true, dateRange("MAR", "APR"));
+ t.expectEquals(false, dateRange("MAY", "SEP"));
+
+ // dateRange(day1, month1, day2, month2)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange(1, "JAN", 3, "MAR"));
+ t.expectEquals(true, dateRange(3, "MAR", 4, "SEP"));
+ t.expectEquals(false, dateRange(4, "MAR", 4, "SEP"));
+
+ // dateRange(month1, year1, month2, year2)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange("FEB", 2009, "MAR", 2009));
+ MockDate.setCurrent("Apr 03 2009");
+ t.expectEquals(true, dateRange("FEB", 2009, "MAR", 2010));
+ t.expectEquals(false, dateRange("FEB", 2009, "MAR", 2009));
+
+ // dateRange(day1, month1, year1, day2, month2, year2)
+ MockDate.setCurrent("Mar 03 2009");
+ t.expectEquals(true, dateRange(1, "JAN", 2009, 3, "MAR", 2009));
+ t.expectEquals(true, dateRange(3, "MAR", 2009, 4, "SEP", 2009));
+ t.expectEquals(true, dateRange(3, "JAN", 2009, 4, "FEB", 2010));
+ t.expectEquals(false, dateRange(4, "MAR", 2009, 4, "SEP", 2009));
+};
+
+Tests.testTimeRange = function(t) {
+ // timeRange(hour)
+ MockDate.setCurrent("Mar 03, 2009 03:34:01");
+ t.expectEquals(true, timeRange(3));
+ t.expectEquals(false, timeRange(2));
+
+ // timeRange(hour1, hour2)
+ MockDate.setCurrent("Mar 03, 2009 03:34:01");
+ t.expectEquals(true, timeRange(2, 3));
+ t.expectEquals(true, timeRange(2, 4));
+ t.expectEquals(true, timeRange(3, 5));
+ t.expectEquals(false, timeRange(1, 2));
+ t.expectEquals(false, timeRange(11, 12));
+
+ // timeRange(hour1, min1, hour2, min2)
+ MockDate.setCurrent("Mar 03, 2009 03:34:01");
+ t.expectEquals(true, timeRange(1, 0, 3, 34));
+ t.expectEquals(true, timeRange(1, 0, 3, 35));
+ t.expectEquals(true, timeRange(3, 34, 5, 0));
+ t.expectEquals(false, timeRange(1, 0, 3, 0));
+ t.expectEquals(false, timeRange(11, 0, 16, 0));
+
+ // timeRange(hour1, min1, sec1, hour2, min2, sec2)
+ MockDate.setCurrent("Mar 03, 2009 03:34:14");
+ t.expectEquals(true, timeRange(1, 0, 0, 3, 34, 14));
+ t.expectEquals(false, timeRange(1, 0, 0, 3, 34, 0));
+ t.expectEquals(true, timeRange(1, 0, 0, 3, 35, 0));
+ t.expectEquals(true, timeRange(3, 34, 0, 5, 0, 0));
+ t.expectEquals(false, timeRange(1, 0, 0, 3, 0, 0));
+ t.expectEquals(false, timeRange(11, 0, 0, 16, 0, 0));
+};
+
+// --------------------------
+// TestContext
+// --------------------------
+
+// |name| is the name of the test being executed, it will be used when logging
+// errors.
+function TestContext(name) {
+ this.numFailures_ = 0;
+ this.name_ = name;
+};
+
+TestContext.prototype.failed = function() {
+ return this.numFailures_ != 0;
+};
+
+TestContext.prototype.expectEquals = function(expectation, actual) {
+ if (!(expectation === actual)) {
+ this.numFailures_++;
+ this.log("FAIL: expected: " + expectation + ", actual: " + actual);
+ }
+};
+
+TestContext.prototype.expectTrue = function(x) {
+ this.expectEquals(true, x);
+};
+
+TestContext.prototype.expectFalse = function(x) {
+ this.expectEquals(false, x);
+};
+
+TestContext.prototype.log = function(x) {
+ // Prefix with the test name that generated the log.
+ try {
+ alert(this.name_ + ": " + x);
+ } catch(e) {
+ // In case alert() is not defined.
+ }
+};
+
+// --------------------------
+// MockDate
+// --------------------------
+
+function MockDate() {
+ this.wrappedDate_ = new MockDate.super_(MockDate.currentDateString_);
+};
+
+// Setup the MockDate so it forwards methods to "this.wrappedDate_" (which is a
+// real Date object). We can't simply chain the prototypes since Date() doesn't
+// allow it.
+MockDate.init = function() {
+ MockDate.super_ = Date;
+
+ function createProxyMethod(methodName) {
+ return function() {
+ return this.wrappedDate_[methodName]
+ .apply(this.wrappedDate_, arguments);
+ }
+ };
+
+ for (i in MockDate.methodNames_) {
+ var methodName = MockDate.methodNames_[i];
+ // Don't define the closure directly in the loop body, since Javascript's
+ // crazy scoping rules mean |methodName| actually bleeds out of the loop!
+ MockDate.prototype[methodName] = createProxyMethod(methodName);
+ }
+
+ // Replace the native Date() with our mock.
+ Date = MockDate;
+};
+
+// Unfortunately Date()'s methods are non-enumerable, therefore list manually.
+MockDate.methodNames_ = [
+ "toString", "toDateString", "toTimeString", "toLocaleString",
+ "toLocaleDateString", "toLocaleTimeString", "valueOf", "getTime",
+ "getFullYear", "getUTCFullYear", "getMonth", "getUTCMonth",
+ "getDate", "getUTCDate", "getDay", "getUTCDay", "getHours", "getUTCHours",
+ "getMinutes", "getUTCMinutes", "getSeconds", "getUTCSeconds",
+ "getMilliseconds", "getUTCMilliseconds", "getTimezoneOffset", "setTime",
+ "setMilliseconds", "setUTCMilliseconds", "setSeconds", "setUTCSeconds",
+ "setMinutes", "setUTCMinutes", "setHours", "setUTCHours", "setDate",
+ "setUTCDate", "setMonth", "setUTCMonth", "setFullYear", "setUTCFullYear",
+ "toGMTString", "toUTCString", "getYear", "setYear"
+];
+
+MockDate.setCurrent = function(currentDateString) {
+ MockDate.currentDateString_ = currentDateString;
+}
+
+// Bind the methods to proxy requests to the wrapped Date().
+MockDate.init();
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/passthrough.js b/chromium/net/data/proxy_resolver_v8_unittest/passthrough.js
new file mode 100644
index 00000000000..832ac6624b4
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/passthrough.js
@@ -0,0 +1,45 @@
+// Return a single-proxy result, which encodes ALL the arguments that were
+// passed to FindProxyForURL().
+
+function FindProxyForURL(url, host) {
+ if (arguments.length != 2) {
+ throw "Wrong number of arguments passed to FindProxyForURL!";
+ return "FAIL";
+ }
+
+ return "PROXY " + makePseudoHost(url + "." + host);
+}
+
+// Form a string that kind-of resembles a host. We will replace any
+// non-alphanumeric character with a dot, then fix up the oddly placed dots.
+function makePseudoHost(str) {
+ var result = "";
+
+ for (var i = 0; i < str.length; ++i) {
+ var c = str.charAt(i);
+ if (!isValidPseudoHostChar(c)) {
+ c = '.'; // Replace unsupported characters with a dot.
+ }
+
+ // Take care not to place multiple adjacent dots,
+ // a dot at the beginning, or a dot at the end.
+ if (c == '.' &&
+ (result.length == 0 ||
+ i == str.length - 1 ||
+ result.charAt(result.length - 1) == '.')) {
+ continue;
+ }
+ result += c;
+ }
+ return result;
+}
+
+function isValidPseudoHostChar(c) {
+ if (c >= '0' && c <= '9')
+ return true;
+ if (c >= 'a' && c <= 'z')
+ return true;
+ if (c >= 'A' && c <= 'Z')
+ return true;
+ return false;
+}
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/resolve_host.js b/chromium/net/data/proxy_resolver_v8_unittest/resolve_host.js
new file mode 100644
index 00000000000..0461de98628
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/resolve_host.js
@@ -0,0 +1,9 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This script passes the URL's host to dnsResolveEx().
+function FindProxyForURL(url, host) {
+ dnsResolveEx(host);
+ return 'DIRECT';
+}
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/return_empty_string.js b/chromium/net/data/proxy_resolver_v8_unittest/return_empty_string.js
new file mode 100644
index 00000000000..3342196a82c
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/return_empty_string.js
@@ -0,0 +1,4 @@
+function FindProxyForURL(url, host) {
+ return "";
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/return_function.js b/chromium/net/data/proxy_resolver_v8_unittest/return_function.js
new file mode 100644
index 00000000000..90055530f51
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/return_function.js
@@ -0,0 +1,4 @@
+function FindProxyForURL(url, host) {
+ return FindProxyForURL;
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/return_integer.js b/chromium/net/data/proxy_resolver_v8_unittest/return_integer.js
new file mode 100644
index 00000000000..d86b2998c78
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/return_integer.js
@@ -0,0 +1,4 @@
+function FindProxyForURL(url, host) {
+ return 0;
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/return_null.js b/chromium/net/data/proxy_resolver_v8_unittest/return_null.js
new file mode 100644
index 00000000000..6cf90c53a08
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/return_null.js
@@ -0,0 +1,4 @@
+function FindProxyForURL(url, host) {
+ return null;
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/return_object.js b/chromium/net/data/proxy_resolver_v8_unittest/return_object.js
new file mode 100644
index 00000000000..3824f8a211d
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/return_object.js
@@ -0,0 +1,4 @@
+function FindProxyForURL(url, host) {
+ return {result: "PROXY foo"};
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/return_undefined.js b/chromium/net/data/proxy_resolver_v8_unittest/return_undefined.js
new file mode 100644
index 00000000000..0f0aa9891f9
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/return_undefined.js
@@ -0,0 +1,4 @@
+function FindProxyForURL(url, host) {
+ return undefined;
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/return_unicode.js b/chromium/net/data/proxy_resolver_v8_unittest/return_unicode.js
new file mode 100644
index 00000000000..5ecdd1c2fec
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/return_unicode.js
@@ -0,0 +1,4 @@
+// U+200B is the codepoint for zero-width-space.
+function FindProxyForURL(url, host) {
+ return "PROXY foo.com\u200B";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/side_effects.js b/chromium/net/data/proxy_resolver_v8_unittest/side_effects.js
new file mode 100644
index 00000000000..39b3b2d6ca3
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/side_effects.js
@@ -0,0 +1,10 @@
+if (!gCounter) {
+ // We write it this way so if the script gets loaded twice,
+ // gCounter remains dirty.
+ var gCounter = 0;
+}
+
+function FindProxyForURL(url, host) {
+ return "PROXY sideffect_" + gCounter++;
+}
+
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/simple.js b/chromium/net/data/proxy_resolver_v8_unittest/simple.js
new file mode 100644
index 00000000000..c5dfa6d6f56
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/simple.js
@@ -0,0 +1,21 @@
+// PAC script which uses isInNet on both IP addresses and hosts, and calls
+// isResolvable().
+
+function FindProxyForURL(url, host) {
+ var my_ip = myIpAddress();
+
+ if (isInNet(my_ip, "172.16.0.0", "255.248.0.0")) {
+ return "PROXY a:80";
+ }
+
+ if (url.substring(0, 6) != "https:" &&
+ isInNet(host, "10.0.0.0", "255.0.0.0")) {
+ return "PROXY b:80";
+ }
+
+ if (dnsDomainIs(host, "foo.bar.baz.com") || !isResolvable(host)) {
+ return "PROXY c:100";
+ }
+
+ return "DIRECT";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/terminate.js b/chromium/net/data/proxy_resolver_v8_unittest/terminate.js
new file mode 100644
index 00000000000..08d92891907
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/terminate.js
@@ -0,0 +1,26 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function FindProxyForURL(url, host) {
+ if (host != 'hang')
+ return 'PROXY ' + host + ':88';
+
+ var ip = dnsResolve("host1");
+
+ // The following may or may not be executed, even if dnsResolve() terminates
+ // the script execution.
+ dnsResolveEx("host2");
+ dnsResolveEx("host3");
+ alert("hahaha");
+
+ // Hang!
+ for (;;) {}
+
+ // The following definitely won't be executed, since control should never
+ // make it past the preceding hang.
+ dnsResolve("host4");
+ dnsResolve("host5");
+ alert("uhm...");
+ throw "not reached";
+}
diff --git a/chromium/net/data/proxy_resolver_v8_unittest/unhandled_exception.js b/chromium/net/data/proxy_resolver_v8_unittest/unhandled_exception.js
new file mode 100644
index 00000000000..9cc28569e08
--- /dev/null
+++ b/chromium/net/data/proxy_resolver_v8_unittest/unhandled_exception.js
@@ -0,0 +1,5 @@
+function FindProxyForURL(url, host) {
+ // This will throw a runtime exception.
+ return "PROXY x" + undefined_variable;
+}
+
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/404.pac b/chromium/net/data/proxy_script_fetcher_unittest/404.pac
new file mode 100644
index 00000000000..15e6da3e273
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/404.pac
@@ -0,0 +1 @@
+-404.pac-
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/404.pac.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/404.pac.mock-http-headers
new file mode 100644
index 00000000000..d8378a5aacb
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/404.pac.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 404 OK
+Content-Type: application/x-javascript-config
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/500.pac b/chromium/net/data/proxy_script_fetcher_unittest/500.pac
new file mode 100644
index 00000000000..fa4fa3e2b43
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/500.pac
@@ -0,0 +1 @@
+-500.pac-
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/500.pac.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/500.pac.mock-http-headers
new file mode 100644
index 00000000000..48114a5e2d6
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/500.pac.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 500 OK
+Content-Type: application/x-javascript-config
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac b/chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac
new file mode 100644
index 00000000000..f71b53af815
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac
@@ -0,0 +1 @@
+-cacheable_1hr.pac-
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac.mock-http-headers
new file mode 100644
index 00000000000..5b64f73788c
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/cacheable_1hr.pac.mock-http-headers
@@ -0,0 +1,3 @@
+HTTP/1.1 200 OK
+Content-Type: application/x-javascript-config
+Cache-Control: public, max-age=3600
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac b/chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac
new file mode 100644
index 00000000000..596643649a5
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac
@@ -0,0 +1 @@
+-downloadable.pac-
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac.mock-http-headers
new file mode 100644
index 00000000000..7efc4adca15
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/downloadable.pac.mock-http-headers
@@ -0,0 +1,3 @@
+HTTP/1.1 200 OK
+Content-Type: application/x-javascript-config
+Content-Disposition: attachment; filename="download-pac.pac"
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/gzipped_pac b/chromium/net/data/proxy_script_fetcher_unittest/gzipped_pac
new file mode 100644
index 00000000000..f44a604e69b
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/gzipped_pac
Binary files differ
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/gzipped_pac.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/gzipped_pac.mock-http-headers
new file mode 100644
index 00000000000..b9a3312dce2
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/gzipped_pac.mock-http-headers
@@ -0,0 +1,3 @@
+HTTP/1.1 200 OK
+Content-Type: application/x-ns-proxy-autoconfig
+Content-Encoding: gzip
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy b/chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy
new file mode 100644
index 00000000000..762ca2a61a8
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy
@@ -0,0 +1 @@
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy.mock-http-headers
new file mode 100644
index 00000000000..56019e4833b
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/large-pac.nsproxy.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 200 OK
+Content-Type: application/x-ns-proxy-autoconfig
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/pac.html b/chromium/net/data/proxy_script_fetcher_unittest/pac.html
new file mode 100644
index 00000000000..7f5a9931e52
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/pac.html
@@ -0,0 +1 @@
+-pac.html-
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/pac.html.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/pac.html.mock-http-headers
new file mode 100644
index 00000000000..524e3d8cb9b
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/pac.html.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 200 OK
+Content-Type: text/html
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy b/chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy
new file mode 100644
index 00000000000..7fe7da4fb9b
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy
@@ -0,0 +1 @@
+-pac.nsproxy-
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy.mock-http-headers
new file mode 100644
index 00000000000..56019e4833b
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/pac.nsproxy.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 200 OK
+Content-Type: application/x-ns-proxy-autoconfig
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/pac.txt b/chromium/net/data/proxy_script_fetcher_unittest/pac.txt
new file mode 100644
index 00000000000..9950aa5ba66
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/pac.txt
@@ -0,0 +1 @@
+-pac.txt-
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/pac.txt.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/pac.txt.mock-http-headers
new file mode 100644
index 00000000000..5c695b9136f
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/pac.txt.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 200 OK
+Content-Type: text/plain
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/utf16be_pac b/chromium/net/data/proxy_script_fetcher_unittest/utf16be_pac
new file mode 100644
index 00000000000..892841f8d5f
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/utf16be_pac
Binary files differ
diff --git a/chromium/net/data/proxy_script_fetcher_unittest/utf16be_pac.mock-http-headers b/chromium/net/data/proxy_script_fetcher_unittest/utf16be_pac.mock-http-headers
new file mode 100644
index 00000000000..1bd08ee771b
--- /dev/null
+++ b/chromium/net/data/proxy_script_fetcher_unittest/utf16be_pac.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 200 OK
+Content-Type: text/javascript; charset=UTF16-BE
diff --git a/chromium/net/data/quic_in_memory_cache_data/quic-datatesturl.com/index.html b/chromium/net/data/quic_in_memory_cache_data/quic-datatesturl.com/index.html
new file mode 100644
index 00000000000..041f56d8870
--- /dev/null
+++ b/chromium/net/data/quic_in_memory_cache_data/quic-datatesturl.com/index.html
@@ -0,0 +1,14 @@
+HTTP/1.1 200 OK
+Date: Sat, 22 Jun 2013 01:21:01 GMT
+Server: Apache/2.2.22 (Ubuntu)
+Last-Modified: Fri, 21 Jun 2013 22:20:24 GMT
+ETag: "2a9d2-98-4dfb17827450a"
+Accept-Ranges: bytes
+Vary: Accept-Encoding
+Content-Encoding: None
+Keep-Alive: timeout=5, max=100
+Connection: Keep-Alive
+Content-Type: text/html
+X-Original-Url: http://quic.test.url/index.html
+
+This is a test page.
diff --git a/chromium/net/data/ssl/certificates/1024-rsa-ee-by-1024-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-1024-rsa-intermediate.pem
new file mode 100644
index 00000000000..725bfce68dc
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-1024-rsa-intermediate.pem
@@ -0,0 +1,50 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=1024 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:de:52:f9:7c:4e:29:e3:35:24:63:74:83:70:5b:
+ 90:75:75:53:65:cb:74:a1:8e:b8:5a:bf:17:d0:0d:
+ a5:73:af:13:08:94:e4:ad:c3:d3:5c:bd:fd:b0:f7:
+ 0b:97:55:bd:7b:4d:87:54:d3:6b:0f:3f:1c:b9:fc:
+ 3b:65:20:29:4e:18:f0:77:fe:13:bb:b3:25:30:e4:
+ 3e:04:fa:49:4a:45:d0:80:a0:de:ba:1c:c9:be:ca:
+ 83:cc:94:18:f9:16:ab:3d:0f:43:28:b2:2c:d9:cf:
+ 43:17:17:48:9a:8e:6f:7a:53:46:4e:aa:ff:89:7b:
+ a8:0e:e4:04:41:b8:45:a5:4f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 99:ed:12:d1:1c:a1:a4:f6:88:30:23:40:69:af:14:ba:7b:e9:
+ 24:ef:01:a9:6f:b0:77:78:91:49:f7:84:17:84:ca:63:e1:71:
+ 8c:52:50:b7:20:06:fc:58:c9:20:d4:fa:78:89:5f:da:0b:2d:
+ 88:c9:41:ed:a6:52:c6:f8:dc:c9:1a:11:c7:ab:0a:ae:80:e4:
+ 7c:15:41:ac:64:63:3e:93:e5:ad:dc:de:e8:dc:d6:ca:0a:fd:
+ 01:01:d7:4d:4a:dd:c6:93:7c:52:ad:61:18:09:8c:29:ae:6b:
+ 42:d1:3a:98:d8:14:45:e4:d7:e1:b2:1e:12:92:99:65:6c:13:
+ 03:46
+-----BEGIN CERTIFICATE-----
+MIICDTCCAXYCAgDtMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTEwMjQgcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIy
+NDc1M1owYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3lL5fE4p4zUkY3SD
+cFuQdXVTZct0oY64Wr8X0A2lc68TCJTkrcPTXL39sPcLl1W9e02HVNNrDz8cufw7
+ZSApThjwd/4Tu7MlMOQ+BPpJSkXQgKDeuhzJvsqDzJQY+RarPQ9DKLIs2c9DFxdI
+mo5velNGTqr/iXuoDuQEQbhFpU8CAwEAAaMTMBEwDwYDVR0RBAgwBocEfwAAATAN
+BgkqhkiG9w0BAQUFAAOBgQCZ7RLRHKGk9ogwI0BprxS6e+kk7wGpb7B3eJFJ94QX
+hMpj4XGMUlC3IAb8WMkg1Pp4iV/aCy2IyUHtplLG+NzJGhHHqwqugOR8FUGsZGM+
+k+Wt3N7o3NbKCv0BAddNSt3Gk3xSrWEYCYwprmtC0TqY2BRF5Nfhsh4SkpllbBMD
+Rg==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/1024-rsa-ee-by-2048-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-2048-rsa-intermediate.pem
new file mode 100644
index 00000000000..69482c31305
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-2048-rsa-intermediate.pem
@@ -0,0 +1,59 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:f0:6b:dc:59:dc:ed:79:a3:68:4f:10:00:8b:31:
+ cd:aa:44:34:b9:3b:94:6c:4c:d1:05:3a:ba:bc:93:
+ f6:d6:89:00:ec:71:10:ed:9b:11:84:10:80:d4:51:
+ 30:fe:3e:17:bd:d7:e2:89:7b:22:80:ca:73:75:98:
+ e3:67:cd:fd:c4:c8:d1:7a:95:ae:f3:98:95:45:06:
+ 91:3c:6f:dc:37:e5:4d:29:9a:e1:99:9b:a3:6b:b5:
+ 74:be:1d:f8:97:92:27:1c:15:fb:5b:cb:e4:88:e7:
+ 10:ff:2f:8a:59:fd:59:53:76:0f:57:83:db:27:45:
+ 0a:00:b0:4f:3a:e9:4d:24:5f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 5f:a8:ec:ff:b6:09:b6:6e:42:82:c5:72:9e:ba:d5:d2:7b:36:
+ 06:fc:c3:8c:ce:ad:47:18:60:4c:ce:aa:08:fc:7d:85:df:e4:
+ d7:44:86:89:be:36:bc:04:c9:be:5e:af:85:f5:92:7c:ec:96:
+ 24:1a:11:c3:e7:8f:bc:79:51:c0:44:4e:4b:d3:d9:3a:6c:7c:
+ 2c:80:21:d3:22:db:2f:e8:04:94:0d:b0:13:32:ea:d8:26:bd:
+ e8:01:c0:ff:57:6a:2d:86:a1:f1:e0:a2:8b:39:73:7a:8b:e9:
+ 0b:ee:a1:e8:45:56:f7:45:fa:7f:a1:c4:e6:9a:32:c8:2e:03:
+ c2:57:f8:f9:be:c1:af:82:39:73:7a:39:e7:8c:c2:36:5c:47:
+ 5b:c7:20:e2:b1:5f:06:1e:34:c7:f3:e0:4f:a9:b5:34:79:83:
+ a0:b2:79:70:a2:b7:1c:a3:1b:7d:7c:e3:24:57:90:0e:3a:43:
+ b9:98:68:97:70:17:dc:31:c7:e1:be:2b:d4:a7:1f:97:8a:e4:
+ 57:58:2f:b3:c6:27:3b:1b:f4:f3:11:0e:4c:31:73:5e:22:c9:
+ e0:07:7b:0e:87:06:ba:f9:10:f5:bb:4d:5e:cf:14:ab:57:6b:
+ 76:8e:bd:66:2d:39:4b:8a:42:00:3e:0b:5e:dc:39:69:89:ca:
+ 5a:37:4f:bc
+-----BEGIN CERTIFICATE-----
+MIICjjCCAXYCAgDtMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTIwNDggcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIy
+NDc1M1owYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA8GvcWdzteaNoTxAA
+izHNqkQ0uTuUbEzRBTq6vJP21okA7HEQ7ZsRhBCA1FEw/j4XvdfiiXsigMpzdZjj
+Z839xMjRepWu85iVRQaRPG/cN+VNKZrhmZuja7V0vh34l5InHBX7W8vkiOcQ/y+K
+Wf1ZU3YPV4PbJ0UKALBPOulNJF8CAwEAAaMTMBEwDwYDVR0RBAgwBocEfwAAATAN
+BgkqhkiG9w0BAQUFAAOCAQEAX6js/7YJtm5CgsVynrrV0ns2BvzDjM6tRxhgTM6q
+CPx9hd/k10SGib42vATJvl6vhfWSfOyWJBoRw+ePvHlRwEROS9PZOmx8LIAh0yLb
+L+gElA2wEzLq2Ca96AHA/1dqLYah8eCiizlzeovpC+6h6EVW90X6f6HE5poyyC4D
+wlf4+b7Br4I5c3o554zCNlxHW8cg4rFfBh40x/PgT6m1NHmDoLJ5cKK3HKMbfXzj
+JFeQDjpDuZhol3AX3DHH4b4r1Kcfl4rkV1gvs8YnOxv08xEOTDFzXiLJ4Ad7DocG
+uvkQ9btNXs8Uq1drdo69Zi05S4pCAD4LXtw5aYnKWjdPvA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/1024-rsa-ee-by-768-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-768-rsa-intermediate.pem
new file mode 100644
index 00000000000..1b278f90e2e
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-768-rsa-intermediate.pem
@@ -0,0 +1,47 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=768 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:b5:21:de:d6:d7:1b:b3:ba:1d:9b:cd:89:56:7f:
+ c4:82:cb:86:34:d0:27:3a:95:d9:57:bc:e8:74:e6:
+ cd:01:1a:8c:72:07:68:5b:ad:4e:2a:91:e0:50:e7:
+ 23:34:c7:c8:18:d9:7f:e9:f1:a8:09:2e:eb:e1:3f:
+ 26:5a:b5:9a:9d:50:82:fb:30:4a:b3:f4:d3:1d:3c:
+ 90:5b:67:dc:92:eb:70:78:4f:c4:62:b8:7b:93:3f:
+ 70:56:6d:18:4b:a5:63:03:d0:15:c6:94:f5:ed:3c:
+ 5b:0d:7e:0a:85:0b:26:2f:0d:c9:68:08:42:33:94:
+ a2:81:7d:b0:34:12:f2:d3:db
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ ac:96:12:2e:32:99:ba:13:11:ba:67:e3:8c:71:03:4e:ea:3f:
+ 03:d4:88:a1:eb:93:83:dd:53:02:3b:df:9f:f5:7c:f6:49:e8:
+ 71:c0:2a:2e:75:c1:53:9e:be:a1:0a:13:21:0c:e2:44:2f:a0:
+ 12:6e:ed:f5:60:43:2d:79:e8:6d:58:e6:c8:f1:b0:64:04:31:
+ 0e:f7:61:7c:a0:35:f1:d6:b3:67:b2:6c:e4:5c:6e:ec:02:43:
+ a5:7e:00:d8:bf:a7
+-----BEGIN CERTIFICATE-----
+MIIB6zCCAXUCAgDtMA0GCSqGSIb3DQEBBQUAMCcxJTAjBgNVBAMMHDc2OCByc2Eg
+VGVzdCBpbnRlcm1lZGlhdGUgQ0EwHhcNMTExMjEyMjI0NzUzWhcNMjExMjA5MjI0
+NzUzWjBgMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UE
+BwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3
+LjAuMC4xMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1Id7W1xuzuh2bzYlW
+f8SCy4Y00Cc6ldlXvOh05s0BGoxyB2hbrU4qkeBQ5yM0x8gY2X/p8agJLuvhPyZa
+tZqdUIL7MEqz9NMdPJBbZ9yS63B4T8RiuHuTP3BWbRhLpWMD0BXGlPXtPFsNfgqF
+CyYvDcloCEIzlKKBfbA0EvLT2wIDAQABoxMwETAPBgNVHREECDAGhwR/AAABMA0G
+CSqGSIb3DQEBBQUAA2EArJYSLjKZuhMRumfjjHEDTuo/A9SIoeuTg91TAjvfn/V8
+9knoccAqLnXBU56+oQoTIQziRC+gEm7t9WBDLXnobVjmyPGwZAQxDvdhfKA18daz
+Z7Js5Fxu7AJDpX4A2L+n
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/1024-rsa-ee-by-prime256v1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-prime256v1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..1032f821997
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-prime256v1-ecdsa-intermediate.pem
@@ -0,0 +1,44 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: ecdsa-with-SHA1
+ Issuer: CN=prime256v1 ecdsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:cc:ca:df:89:1f:e5:aa:3c:2e:d1:62:85:de:2a:
+ 4c:bd:68:89:d0:05:06:56:30:f5:6e:93:a4:4f:74:
+ c0:7e:14:5f:1b:dd:93:33:ea:b7:17:8d:63:3e:c4:
+ 2e:2c:b3:0c:62:37:0f:1b:90:16:8e:73:b5:90:3f:
+ c5:e2:08:9d:b6:8f:80:e0:95:3d:28:d3:8f:d7:b7:
+ 0e:8b:43:8c:95:29:a9:51:3b:6d:0d:35:ea:c1:ff:
+ d8:8b:47:71:7b:3b:4c:65:7f:a9:85:43:6e:43:1f:
+ 9d:9c:ff:15:d2:ac:29:db:5f:56:42:88:4a:68:0d:
+ 49:73:0a:fd:b2:94:58:95:f7
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: ecdsa-with-SHA1
+ 30:45:02:20:07:1e:96:23:74:f5:77:05:b4:a9:fa:2f:8c:b3:
+ 3c:48:89:46:38:f0:0d:18:76:d2:9c:ee:cd:2d:8d:ce:7a:71:
+ 02:21:00:ff:b1:8b:0d:40:a4:ef:1b:9d:ba:d6:92:30:04:38:
+ 21:b1:ad:53:61:71:83:01:9a:3c:3e:ef:d4:53:59:c7:df
+-----BEGIN CERTIFICATE-----
+MIIB0zCCAXoCAgDtMAkGByqGSM49BAEwMDEuMCwGA1UEAwwlcHJpbWUyNTZ2MSBl
+Y2RzYSBUZXN0IGludGVybWVkaWF0ZSBDQTAeFw0xMTEyMTIyMjQ3NTNaFw0yMTEy
+MDkyMjQ3NTNaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYw
+FAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQD
+DAkxMjcuMC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMzK34kf5ao8
+LtFihd4qTL1oidAFBlYw9W6TpE90wH4UXxvdkzPqtxeNYz7ELiyzDGI3DxuQFo5z
+tZA/xeIInbaPgOCVPSjTj9e3DotDjJUpqVE7bQ016sH/2ItHcXs7TGV/qYVDbkMf
+nZz/FdKsKdtfVkKISmgNSXMK/bKUWJX3AgMBAAGjEzARMA8GA1UdEQQIMAaHBH8A
+AAEwCQYHKoZIzj0EAQNIADBFAiAHHpYjdPV3BbSp+i+MszxIiUY48A0YdtKc7s0t
+jc56cQIhAP+xiw1ApO8bnbrWkjAEOCGxrVNhcYMBmjw+79RTWcff
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/1024-rsa-ee-by-secp256k1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-secp256k1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..2d47aced565
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/1024-rsa-ee-by-secp256k1-ecdsa-intermediate.pem
@@ -0,0 +1,44 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: ecdsa-with-SHA1
+ Issuer: CN=secp256k1 ecdsa Test intermediate CA
+ Validity
+ Not Before: Dec 10 01:51:17 2011 GMT
+ Not After : Dec 9 01:51:17 2012 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:9b:1b:ad:af:0e:61:db:3f:dc:b7:91:5d:bf:1f:
+ 0a:70:6a:fa:89:b7:6e:fc:aa:ef:ce:9e:db:6c:4c:
+ 9a:2d:81:7b:59:96:20:eb:11:ef:e4:85:c6:ca:33:
+ 41:22:4a:20:86:9c:01:02:f9:63:13:9b:3b:1e:f5:
+ a9:3e:40:98:8e:78:1f:99:32:64:2f:4c:dc:ae:3a:
+ e7:cf:00:22:2f:77:f2:be:7b:64:9c:a0:92:27:b1:
+ 35:4d:44:de:7b:cd:75:4a:a7:9b:27:e0:3c:0b:13:
+ ee:57:5a:f7:c2:81:c0:b8:ea:0b:39:b5:6f:17:57:
+ 24:f0:c0:c5:4b:b3:0d:92:6f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: ecdsa-with-SHA1
+ 30:46:02:21:00:83:ef:77:11:e7:67:3c:53:20:88:b6:03:10:
+ e8:e5:9b:a1:12:48:3a:1e:a8:3b:31:fa:1b:56:95:28:d3:6e:
+ 6b:02:21:00:cd:e3:2c:6e:41:59:e2:6a:d4:ec:de:11:99:99:
+ e6:b7:7e:90:89:91:e5:35:d1:2c:c7:15:e7:46:94:ab:11:6f
+-----BEGIN CERTIFICATE-----
+MIIB0zCCAXkCAgDtMAkGByqGSM49BAEwLzEtMCsGA1UEAwwkc2VjcDI1NmsxIGVj
+ZHNhIFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMDAxNTExN1oXDTEyMTIw
+OTAxNTExN1owYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAU
+BgNVBAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMM
+CTEyNy4wLjAuMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAmxutrw5h2z/c
+t5Fdvx8KcGr6ibdu/Krvzp7bbEyaLYF7WZYg6xHv5IXGyjNBIkoghpwBAvljE5s7
+HvWpPkCYjngfmTJkL0zcrjrnzwAiL3fyvntknKCSJ7E1TUTee811SqebJ+A8CxPu
+V1r3woHAuOoLObVvF1ck8MDFS7MNkm8CAwEAAaMTMBEwDwYDVR0RBAgwBocEfwAA
+ATAJBgcqhkjOPQQBA0kAMEYCIQCD73cR52c8UyCItgMQ6OWboRJIOh6oOzH6G1aV
+KNNuawIhAM3jLG5BWeJq1OzeEZmZ5rd+kImR5TXRLMcV50aUqxFv
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/1024-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/1024-rsa-intermediate.pem
new file mode 100644
index 00000000000..54f02176cee
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/1024-rsa-intermediate.pem
@@ -0,0 +1,63 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 RSA Test Root CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: CN=1024 rsa Test intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:bf:d2:b4:44:b4:7a:03:64:91:ca:2d:cf:7b:22:
+ bd:02:f3:5d:b7:97:fa:72:91:cd:c8:9c:4f:e1:6a:
+ 52:08:67:3b:2c:06:63:89:c0:0a:cd:e1:80:56:88:
+ 27:93:12:32:d6:47:6e:e5:34:ac:9e:f4:17:f3:c8:
+ b1:29:65:3f:75:5a:01:c9:2a:63:48:d7:8a:13:a4:
+ 08:ae:8c:a4:95:e4:78:2d:35:ff:73:5e:49:d3:1d:
+ 14:f7:c7:7c:56:9c:ff:c9:f9:d4:bf:44:c7:4d:57:
+ 71:4d:7d:64:3d:7e:ec:9f:eb:69:50:7b:34:9c:8d:
+ 99:0a:4f:26:90:1e:b5:06:8d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 67:2E:75:A1:D2:3D:9D:36:78:59:C4:20:6E:8C:2F:AD:75:5C:16:8B
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 44:49:10:c4:22:4f:57:bb:c2:29:c7:77:21:48:a8:1d:ca:7a:
+ 86:c3:24:3d:7a:f6:05:3b:77:75:5f:54:6f:04:8c:c0:89:e9:
+ 17:4f:84:c7:23:33:fb:23:d8:f8:c5:46:e4:cc:e1:69:6b:4f:
+ b3:a9:1d:36:6c:92:c4:55:c7:73:bd:ff:5b:56:b5:80:f5:a7:
+ 2c:50:73:04:76:44:b0:ad:61:1e:bc:d0:78:88:77:74:94:1d:
+ 2d:1d:4f:3b:15:11:47:02:d6:a4:af:f4:8b:75:39:bf:bf:41:
+ 41:77:db:e1:7d:28:8f:da:66:88:0e:4a:53:81:30:e2:18:3f:
+ e6:09:8c:d3:98:00:50:ac:d7:24:08:bf:2d:2c:20:b2:74:06:
+ 2c:3e:9b:3c:e6:3c:72:08:b0:6d:49:a9:b9:26:67:17:d4:ed:
+ 95:48:71:72:5d:fe:8d:0a:0f:31:e6:bd:15:ec:e1:36:65:c1:
+ b0:00:45:ae:bc:d2:13:0d:ac:6e:4f:8c:f4:29:2c:b1:a0:cb:
+ aa:a4:ff:21:92:5b:8d:f7:23:9b:df:18:f6:cb:a4:4b:6c:56:
+ e6:bf:e1:74:2e:74:30:8a:d6:ab:16:c3:f2:b2:21:4b:04:a5:
+ dd:c5:c4:98:71:4d:ae:47:43:d6:af:8f:d3:4c:13:44:e0:3d:
+ d3:4f:68:6a
+-----BEGIN CERTIFICATE-----
+MIICgjCCAWqgAwIBAgICAO0wDQYJKoZIhvcNAQEFBQAwIDEeMBwGA1UEAwwVMjA0
+OCBSU0EgVGVzdCBSb290IENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIyNDc1
+M1owKDEmMCQGA1UEAwwdMTAyNCByc2EgVGVzdCBpbnRlcm1lZGlhdGUgQ0EwgZ8w
+DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL/StES0egNkkcotz3sivQLzXbeX+nKR
+zcicT+FqUghnOywGY4nACs3hgFaIJ5MSMtZHbuU0rJ70F/PIsSllP3VaAckqY0jX
+ihOkCK6MpJXkeC01/3NeSdMdFPfHfFac/8n51L9Ex01XcU19ZD1+7J/raVB7NJyN
+mQpPJpAetQaNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFGcu
+daHSPZ02eFnEIG6ML611XBaLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUF
+AAOCAQEAREkQxCJPV7vCKcd3IUioHcp6hsMkPXr2BTt3dV9UbwSMwInpF0+ExyMz
++yPY+MVG5MzhaWtPs6kdNmySxFXHc73/W1a1gPWnLFBzBHZEsK1hHrzQeIh3dJQd
+LR1POxURRwLWpK/0i3U5v79BQXfb4X0oj9pmiA5KU4Ew4hg/5gmM05gAUKzXJAi/
+LSwgsnQGLD6bPOY8cgiwbUmpuSZnF9TtlUhxcl3+jQoPMea9FezhNmXBsABFrrzS
+Ew2sbk+M9CkssaDLqqT/IZJbjfcjm98Y9sukS2xW5r/hdC50MIrWqxbD8rIhSwSl
+3cXEmHFNrkdD1q+P00wTROA9009oag==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2029_globalsign_com_cert.pem b/chromium/net/data/ssl/certificates/2029_globalsign_com_cert.pem
new file mode 100644
index 00000000000..cd0d9882388
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2029_globalsign_com_cert.pem
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFTjCCBDagAwIBAgILAQAAAAABJbCbWRgwDQYJKoZIhvcNAQELBQAwcDEmMCQG
+A1UECxMdRXh0ZW5kZWQgVmFsaWRhdGlvbiBTSEEyNTYgQ0ExEzARBgNVBAoTCkds
+b2JhbFNpZ24xMTAvBgNVBAMTKEdsb2JhbFNpZ24gRXh0ZW5kZWQgVmFsaWRhdGlv
+biBTSEEyNTYgQ0EwHhcNMDkxMjIxMDkwNTA4WhcNMTExMjIxMDkwNTA4WjCB4TEb
+MBkGA1UEDxMSVjEuMCwgQ2xhdXNlIDUuKGIpMRcwFQYDVQQFEw4wMTEwLTAxLTA0
+MDE4MTETMBEGCysGAQQBgjc8AgEDEwJKUDELMAkGA1UEBhMCSlAxDjAMBgNVBAgT
+BVRPS1lPMRAwDgYDVQQHEwdTaGlidXlhMRkwFwYDVQQJExAyMC0xIHNha3VyYWdh
+b2thMRIwEAYDVQQLEwlUZWNobmljYWwxGDAWBgNVBAoTD0dsb2JhbFNpZ24gSy5L
+LjEcMBoGA1UEAxMTMjAyOS5nbG9iYWxzaWduLmNvbTCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAK1O+qRY8VTYBzAU+RkWEli4/0uTMtYJmR138O7iOrog
+3rRPfAZouTz9zZf8aKCp2S1VAHufuxzn1GhQRdlI6fnyDEjJoUpDo4mJbJFUghLt
+bwnFIsScSHdqaTKx0N99xRR9SJbEshfeIszBWTdLsUdBDzj64YiBg9qJMfPynPGC
+dbbf4crM/28jXaiaB/AJ8lv1AAstW8bps+y6ZHrZqG9i3llfetpe+4Dg9XqUQAD4
+0OBNIn8fD2CXk916wiN2JfnZjSOStTKSsy5zXlx5mgMFkSMtOkqbJDgbjcYmajA2
+YDnzlSbz9oYL4jv/NZ+A2aJzoqbP7tef88P/cN+/XXECAwEAAaOCAXUwggFxMB0G
+A1UdDgQWBBRZvNlp97Blu8g0xdLC7xd4pkceizAfBgNVHSMEGDAWgBSK/BQbPaNZ
+Z6U74XOSpmKRf+R4MDBUBggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6
+Ly9zZWN1cmUuZ2xvYmFsc2lnbi5uZXQvY2FjZXJ0L1NIQTI1NmV4dGVuZHZhbDEu
+Y3J0MD8GA1UdHwQ4MDYwNKAyoDCGLmh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQv
+U0hBMjU2RXh0ZW5kVmFsMS5jcmwwCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCBPAw
+HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEsGA1UdIAREMEIwQAYJKwYB
+BAGgMgEBMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuZ2xvYmFsc2lnbi5uZXQv
+cmVwb3NpdG9yeS8wEQYJYIZIAYb4QgEBBAQDAgbAMA0GCSqGSIb3DQEBCwUAA4IB
+AQBCfnYnxZkYxp3amwmrrCAwac5SYVK4bDwxKtAHa9NbOGV6jAXFNIknttAuwy9I
+w7h4E5HHnZeDVZpWQ1ncmMqkMPfYruThLGx8GOMThigkMHOZLPx+WmB4alDKj9Ra
+SOISmiIHMfw7RKPZuL3dttzr477DVukILeUjfKeQ9dlQwAyeMNH840jrOmyVl54R
+nfFnOL7O46NqJBrC0cNp5bdyzVJ77qZ29r7e3+uJ61OeCzovImyPrgGDy96rhxaB
+ZjdXGKH2nlFQ3SpsH5QMVr8kn8a1etoIGexJ8L7FdSu3ywvyjaIPOANI/Y0gTlax
+vIkF1Dc5EejvaEMyVwrVTbzJ
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2048-rsa-ee-by-1024-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-1024-rsa-intermediate.pem
new file mode 100644
index 00000000000..259786e9833
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-1024-rsa-intermediate.pem
@@ -0,0 +1,61 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 238 (0xee)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=1024 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:54 2011 GMT
+ Not After : Dec 9 22:47:54 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:ae:52:d9:c5:51:d2:0f:bf:ee:b1:7c:a0:4e:c7:
+ a3:b5:e5:bf:72:f1:53:d5:dc:9e:2e:0b:72:5e:06:
+ 77:71:ee:0d:be:93:9b:b2:77:d4:b6:f8:e2:f9:3c:
+ e1:0e:6a:7a:35:4f:74:df:f0:b9:f6:b1:85:dd:ef:
+ 13:0c:67:df:25:eb:ee:21:70:e5:39:e9:61:5f:ad:
+ e7:42:17:69:a4:dd:2b:47:99:33:71:63:3e:0d:6a:
+ 36:97:01:4b:a2:e8:32:41:a5:87:91:af:f8:3e:e8:
+ 8c:e2:f1:86:8f:0f:7b:98:30:56:55:75:8b:82:75:
+ a2:ef:26:da:5b:83:12:5f:ee:92:08:cc:a0:64:30:
+ 9d:56:30:9c:64:79:34:a0:09:a0:c5:e0:47:a1:89:
+ e7:d3:43:b7:b4:13:26:bc:a2:50:75:07:9f:98:67:
+ 22:ba:e9:00:da:96:ee:2c:2a:d9:b5:2f:7f:7f:70:
+ 3f:26:d7:45:28:eb:90:de:f7:37:89:c7:9d:a2:06:
+ 81:30:7f:c2:cf:8f:4c:3d:c4:43:48:6d:5d:2a:c4:
+ e6:c5:5a:b4:54:55:e0:87:65:67:24:f8:e1:af:c0:
+ 5e:e4:99:0d:55:c8:8a:d8:73:3a:9c:b3:3d:91:51:
+ b8:4e:16:d0:ca:36:92:01:4f:b9:a2:d6:da:39:8d:
+ 4e:71
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 00:05:e5:a4:4b:3d:15:1d:26:0f:42:2c:69:ce:b1:c4:fc:33:
+ 07:d9:50:66:25:57:2f:57:e9:7f:9e:dd:df:bf:74:2e:c1:49:
+ f5:d3:3c:17:0b:80:86:9f:11:a5:95:8d:88:f3:43:ce:68:04:
+ 96:4a:59:05:4a:3b:f8:df:f1:e1:e3:48:ae:ab:f5:a9:9d:ce:
+ 04:a5:9b:90:f5:9d:f4:c2:49:6b:e4:34:2b:91:85:2a:ae:c1:
+ 7b:b8:3d:6d:27:0e:ad:24:0a:33:31:dd:b9:cd:00:04:e7:8d:
+ 39:34:3a:3c:fc:4d:a8:2d:06:13:71:0e:03:29:31:c4:25:5f:
+ cd:0c
+-----BEGIN CERTIFICATE-----
+MIICkTCCAfoCAgDuMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTEwMjQgcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1NFoXDTIxMTIwOTIy
+NDc1NFowYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK5S2cVR0g+/
+7rF8oE7Ho7Xlv3LxU9Xcni4Lcl4Gd3HuDb6Tm7J31Lb44vk84Q5qejVPdN/wufax
+hd3vEwxn3yXr7iFw5TnpYV+t50IXaaTdK0eZM3FjPg1qNpcBS6LoMkGlh5Gv+D7o
+jOLxho8Pe5gwVlV1i4J1ou8m2luDEl/ukgjMoGQwnVYwnGR5NKAJoMXgR6GJ59ND
+t7QTJryiUHUHn5hnIrrpANqW7iwq2bUvf39wPybXRSjrkN73N4nHnaIGgTB/ws+P
+TD3EQ0htXSrE5sVatFRV4IdlZyT44a/AXuSZDVXIithzOpyzPZFRuE4W0Mo2kgFP
+uaLW2jmNTnECAwEAAaMTMBEwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQUF
+AAOBgQAABeWkSz0VHSYPQixpzrHE/DMH2VBmJVcvV+l/nt3fv3QuwUn10zwXC4CG
+nxGllY2I80POaASWSlkFSjv43/Hh40iuq/Wpnc4EpZuQ9Z30wklr5DQrkYUqrsF7
+uD1tJw6tJAozMd25zQAE5405NDo8/E2oLQYTcQ4DKTHEJV/NDA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2048-rsa-ee-by-2048-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-2048-rsa-intermediate.pem
new file mode 100644
index 00000000000..f23d6367198
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-2048-rsa-intermediate.pem
@@ -0,0 +1,71 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 238 (0xee)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:54 2011 GMT
+ Not After : Dec 9 22:47:54 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:9f:da:64:07:a7:c4:a4:31:eb:21:18:56:5f:8d:
+ bb:f1:ac:dd:2b:a1:45:e9:42:e1:a3:5c:6a:91:a4:
+ f1:78:ac:e9:c1:0a:c3:87:59:5a:51:f5:04:47:73:
+ 5b:f8:47:b5:ab:81:d5:30:7e:13:e7:67:be:fa:14:
+ 33:79:49:92:2a:fc:ec:61:3e:38:74:64:d5:e6:1b:
+ 53:51:5f:56:a4:c2:d3:57:13:0d:e1:c0:66:f8:49:
+ eb:bb:e5:8e:4c:dc:b1:38:57:84:05:f4:a8:6c:e2:
+ 51:1c:10:3f:d5:9d:ec:d5:db:b9:7d:0b:fc:b9:19:
+ 07:28:ed:63:98:33:d1:7b:eb:59:2e:9e:16:ff:2d:
+ aa:cf:8e:0e:2d:9c:5c:40:7c:6b:1a:9a:0a:5a:15:
+ 02:d2:f1:93:c6:89:79:dd:93:e8:0b:01:7f:95:f3:
+ 23:78:9c:69:77:ae:27:a9:67:4f:03:91:13:6f:01:
+ 7f:e9:8f:f8:d9:44:be:e4:c2:e7:b1:06:47:05:0e:
+ 13:98:48:a3:45:6f:ff:c5:17:1d:2c:cb:7f:c8:a2:
+ 5d:6b:53:e3:9b:45:81:5a:b6:43:49:1c:1f:07:b5:
+ 69:30:52:64:73:d7:3c:e7:48:df:12:db:a5:17:35:
+ 0d:45:44:0b:68:f4:52:8d:b1:5a:d7:b5:9a:ce:8d:
+ 8e:cf
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 08:ef:7a:ce:d2:0b:a8:1e:34:a2:d5:ee:b0:7a:b4:b4:fc:ba:
+ 76:3b:f4:92:21:42:80:85:49:1f:b1:dd:77:45:85:97:5d:22:
+ a8:c9:e3:d9:54:a2:df:57:ae:e9:a0:fb:1a:bd:69:9b:dd:df:
+ 58:8a:38:c8:59:92:9c:f3:31:d0:23:5c:cb:e8:7a:c2:8b:60:
+ 31:bd:9c:51:05:92:30:13:43:c9:f1:51:54:21:61:e5:3a:8d:
+ 4f:d2:2d:93:5c:dc:ed:51:30:6a:6f:30:0f:21:09:45:e2:34:
+ 03:c7:d0:78:83:d6:78:72:fc:6d:37:2f:e1:ca:25:df:18:79:
+ 99:c0:5e:b7:a3:ec:a6:b3:08:e6:9a:00:2c:a7:4d:01:20:d5:
+ f1:7f:62:fe:e2:33:5e:60:6a:87:0c:df:24:83:67:99:e1:dc:
+ eb:e3:59:12:15:1c:a8:dc:99:4c:fe:b6:99:37:a1:b0:90:b4:
+ c7:ff:0f:70:99:f9:94:c8:f1:fc:bf:45:fd:d5:98:1e:b6:4f:
+ 14:7e:1a:c6:f0:d2:26:1e:d7:d3:ed:45:23:6e:19:68:4c:2d:
+ cb:23:d6:9b:bd:47:eb:5b:64:14:c6:13:0a:5d:99:6d:d2:5f:
+ 17:dc:f2:d9:5b:f5:ad:2f:41:f0:3a:4c:ee:e1:86:d9:f3:57:
+ d9:0c:34:4c
+-----BEGIN CERTIFICATE-----
+MIIDEjCCAfoCAgDuMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTIwNDggcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1NFoXDTIxMTIwOTIy
+NDc1NFowYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ/aZAenxKQx
+6yEYVl+Nu/Gs3SuhRelC4aNcapGk8Xis6cEKw4dZWlH1BEdzW/hHtauB1TB+E+dn
+vvoUM3lJkir87GE+OHRk1eYbU1FfVqTC01cTDeHAZvhJ67vljkzcsThXhAX0qGzi
+URwQP9Wd7NXbuX0L/LkZByjtY5gz0XvrWS6eFv8tqs+ODi2cXEB8axqaCloVAtLx
+k8aJed2T6AsBf5XzI3icaXeuJ6lnTwORE28Bf+mP+NlEvuTC57EGRwUOE5hIo0Vv
+/8UXHSzLf8iiXWtT45tFgVq2Q0kcHwe1aTBSZHPXPOdI3xLbpRc1DUVEC2j0Uo2x
+Wte1ms6Njs8CAwEAAaMTMBEwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQUF
+AAOCAQEACO96ztILqB40otXusHq0tPy6djv0kiFCgIVJH7Hdd0WFl10iqMnj2VSi
+31eu6aD7Gr1pm93fWIo4yFmSnPMx0CNcy+h6wotgMb2cUQWSMBNDyfFRVCFh5TqN
+T9Itk1zc7VEwam8wDyEJReI0A8fQeIPWeHL8bTcv4col3xh5mcBet6PsprMI5poA
+LKdNASDV8X9i/uIzXmBqhwzfJINnmeHc6+NZEhUcqNyZTP62mTehsJC0x/8PcJn5
+lMjx/L9F/dWYHrZPFH4axvDSJh7X0+1FI24ZaEwtyyPWm71H61tkFMYTCl2ZbdJf
+F9zy2Vv1rS9B8DpM7uGG2fNX2Qw0TA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2048-rsa-ee-by-768-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-768-rsa-intermediate.pem
new file mode 100644
index 00000000000..29e5eb71ba0
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-768-rsa-intermediate.pem
@@ -0,0 +1,59 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 238 (0xee)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=768 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:f1:de:da:de:0d:99:88:05:1e:96:f3:3c:4d:11:
+ 1e:c6:b4:47:9a:ff:74:4c:ba:ae:2b:8d:30:e7:d5:
+ 15:e2:08:70:58:33:51:44:03:cb:c4:9c:67:dd:24:
+ 65:51:10:f8:a7:f2:8a:38:d7:82:99:2c:04:98:da:
+ 48:d6:2b:b7:dd:1f:af:7f:26:d1:19:67:10:36:54:
+ a0:fe:f2:7c:17:40:d9:18:2e:cf:82:ef:d6:c8:c5:
+ 5c:1f:ca:6c:34:f8:7f:2c:f1:a2:8e:5e:81:53:b6:
+ 54:98:b6:90:50:60:96:fd:82:20:fb:4c:25:5b:61:
+ 52:dc:af:55:6c:55:f6:46:b0:33:b6:65:4f:0a:ff:
+ 94:6c:c8:27:0a:bb:cd:44:f2:45:ff:a1:ba:56:c3:
+ d9:a6:ad:64:fc:ab:95:28:6e:a8:80:1b:66:37:44:
+ 71:1e:6f:1f:5c:32:bd:c6:d1:97:ce:08:1a:15:fc:
+ a8:20:e3:cd:2a:5f:b4:49:7f:aa:2f:36:f1:3e:45:
+ 33:80:63:38:a6:b2:c5:35:2a:5c:58:a2:19:e0:6a:
+ 43:50:77:0b:7a:a2:2e:29:5e:c0:7d:32:f4:94:bd:
+ 7d:40:b0:95:d2:35:a8:98:88:a2:68:4a:f2:c8:45:
+ ab:9b:04:24:7b:d3:47:7a:e0:5d:d9:b6:aa:da:4e:
+ 3e:7b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 7b:3d:57:0d:58:2c:23:2a:24:b8:35:ee:0a:05:fb:39:fe:77:
+ 4a:38:17:63:72:ea:1c:6f:f6:2e:a8:3c:11:c3:0f:fb:f5:e1:
+ e5:ce:64:7f:63:e5:99:e0:dc:39:90:a4:4c:ca:4f:ad:39:ba:
+ e6:eb:89:e9:78:43:50:6d:c6:99:6f:ea:50:76:83:32:da:50:
+ 7b:55:f0:a5:73:f8:69:25:9e:89:0d:1d:fd:b7:1e:19:96:40:
+ ae:ff:9b:cc:7b:16
+-----BEGIN CERTIFICATE-----
+MIICbzCCAfkCAgDuMA0GCSqGSIb3DQEBBQUAMCcxJTAjBgNVBAMMHDc2OCByc2Eg
+VGVzdCBpbnRlcm1lZGlhdGUgQ0EwHhcNMTExMjEyMjI0NzUzWhcNMjExMjA5MjI0
+NzUzWjBgMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UE
+BwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3
+LjAuMC4xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8d7a3g2ZiAUe
+lvM8TREexrRHmv90TLquK40w59UV4ghwWDNRRAPLxJxn3SRlURD4p/KKONeCmSwE
+mNpI1iu33R+vfybRGWcQNlSg/vJ8F0DZGC7Pgu/WyMVcH8psNPh/LPGijl6BU7ZU
+mLaQUGCW/YIg+0wlW2FS3K9VbFX2RrAztmVPCv+UbMgnCrvNRPJF/6G6VsPZpq1k
+/KuVKG6ogBtmN0RxHm8fXDK9xtGXzggaFfyoIOPNKl+0SX+qLzbxPkUzgGM4prLF
+NSpcWKIZ4GpDUHcLeqIuKV7AfTL0lL19QLCV0jWomIiiaEryyEWrmwQke9NHeuBd
+2baq2k4+ewIDAQABoxMwETAPBgNVHREECDAGhwR/AAABMA0GCSqGSIb3DQEBBQUA
+A2EAez1XDVgsIyokuDXuCgX7Of53SjgXY3LqHG/2Lqg8EcMP+/Xh5c5kf2PlmeDc
+OZCkTMpPrTm65uuJ6XhDUG3GmW/qUHaDMtpQe1XwpXP4aSWeiQ0d/bceGZZArv+b
+zHsW
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2048-rsa-ee-by-prime256v1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-prime256v1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..7b80a7c44dd
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-prime256v1-ecdsa-intermediate.pem
@@ -0,0 +1,56 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 238 (0xee)
+ Signature Algorithm: ecdsa-with-SHA1
+ Issuer: CN=prime256v1 ecdsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:54 2011 GMT
+ Not After : Dec 9 22:47:54 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:92:b8:c2:a0:68:77:27:d3:07:af:d4:3f:4a:d9:
+ 56:08:ec:12:e5:d1:70:0a:1f:c1:29:b9:20:2b:65:
+ 1a:de:b3:25:72:5c:3b:72:28:9e:11:d9:9f:f5:2a:
+ 8a:f5:1e:f2:d0:cd:fd:8b:ba:2f:22:19:8e:34:f8:
+ 8a:c5:df:f0:d7:c9:d9:cb:fc:18:94:9f:5d:8c:e7:
+ c3:33:f7:b5:18:dd:48:24:16:1c:56:19:92:cf:1e:
+ 1a:aa:45:2e:85:23:57:f1:b2:6c:04:e8:75:a2:92:
+ 15:c9:02:64:96:b0:86:14:26:ab:6f:c1:4d:db:07:
+ 7b:16:61:7e:d7:26:83:5f:0b:b2:5e:08:5b:63:30:
+ 38:bf:50:92:3c:cc:57:fd:05:91:4a:f4:99:1b:a3:
+ 4b:de:99:08:2f:e4:b6:4e:e2:74:ee:35:5e:8a:9d:
+ 32:4d:60:c6:89:cf:c8:34:1b:73:95:dc:58:75:fd:
+ fd:fb:83:08:78:09:fe:09:58:f3:c2:64:95:14:28:
+ bd:92:c4:a4:25:9d:4e:a9:07:4b:ca:7c:ec:2b:e3:
+ 8b:f1:2e:bd:64:d4:53:c7:4a:4e:0a:b3:65:df:08:
+ fe:37:20:db:87:8d:cc:67:62:4a:98:b2:ed:47:9a:
+ 77:26:da:b2:03:2f:59:5d:a2:41:35:78:b1:b2:85:
+ 4a:15
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: ecdsa-with-SHA1
+ 30:46:02:21:00:94:ad:24:93:85:3b:9f:cf:67:8c:cc:01:31:
+ ed:8c:23:ed:79:fa:3d:88:b0:57:e1:29:71:f2:d1:15:90:cc:
+ 73:02:21:00:a8:66:ce:74:c8:3f:e7:71:c2:08:46:54:5b:7b:
+ 0a:a3:76:1b:13:0b:9c:0e:8d:13:c0:01:6d:2b:34:93:86:7e
+-----BEGIN CERTIFICATE-----
+MIICWDCCAf4CAgDuMAkGByqGSM49BAEwMDEuMCwGA1UEAwwlcHJpbWUyNTZ2MSBl
+Y2RzYSBUZXN0IGludGVybWVkaWF0ZSBDQTAeFw0xMTEyMTIyMjQ3NTRaFw0yMTEy
+MDkyMjQ3NTRaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYw
+FAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQD
+DAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCSuMKg
+aHcn0wev1D9K2VYI7BLl0XAKH8EpuSArZRresyVyXDtyKJ4R2Z/1Kor1HvLQzf2L
+ui8iGY40+IrF3/DXydnL/BiUn12M58Mz97UY3UgkFhxWGZLPHhqqRS6FI1fxsmwE
+6HWikhXJAmSWsIYUJqtvwU3bB3sWYX7XJoNfC7JeCFtjMDi/UJI8zFf9BZFK9Jkb
+o0vemQgv5LZO4nTuNV6KnTJNYMaJz8g0G3OV3Fh1/f37gwh4Cf4JWPPCZJUUKL2S
+xKQlnU6pB0vKfOwr44vxLr1k1FPHSk4Ks2XfCP43INuHjcxnYkqYsu1Hmncm2rID
+L1ldokE1eLGyhUoVAgMBAAGjEzARMA8GA1UdEQQIMAaHBH8AAAEwCQYHKoZIzj0E
+AQNJADBGAiEAlK0kk4U7n89njMwBMe2MI+15+j2IsFfhKXHy0RWQzHMCIQCoZs50
+yD/nccIIRlRbewqjdhsTC5wOjRPAAW0rNJOGfg==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2048-rsa-ee-by-secp256k1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-secp256k1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..d23179db870
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2048-rsa-ee-by-secp256k1-ecdsa-intermediate.pem
@@ -0,0 +1,56 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 238 (0xee)
+ Signature Algorithm: ecdsa-with-SHA1
+ Issuer: CN=secp256k1 ecdsa Test intermediate CA
+ Validity
+ Not Before: Dec 10 01:51:17 2011 GMT
+ Not After : Dec 9 01:51:17 2012 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:e7:10:f2:68:0c:18:a5:e5:dd:a8:4b:2f:6b:f5:
+ 71:f4:bf:dd:ef:39:69:04:38:3d:52:c5:e7:cc:b3:
+ eb:98:57:13:4e:3e:79:cf:80:4b:d7:9d:7e:88:f3:
+ a9:02:47:b8:d9:ec:8a:8c:34:20:aa:29:3b:a1:d6:
+ 45:23:b5:6d:36:56:3c:a4:64:13:ee:23:70:09:fa:
+ 75:83:c6:b7:be:b5:b3:3f:80:cb:ce:7b:18:1f:ac:
+ 7c:25:b6:58:bc:07:b7:35:77:2b:64:1e:ca:14:0b:
+ d0:bb:6c:6e:1d:2f:ee:10:90:a1:ce:a9:ab:88:0a:
+ 28:74:ae:ae:ca:fc:da:c3:3a:ba:39:de:c8:1b:46:
+ bf:93:98:a2:5b:ba:b2:a6:d8:bd:54:52:be:52:31:
+ fa:07:3a:6d:8f:42:c2:92:80:31:5c:ae:cb:15:f0:
+ 72:cf:f6:5c:b9:f2:6b:91:b0:03:48:08:ae:a6:8d:
+ e4:bd:a1:f6:05:38:1c:70:43:b6:7d:34:b5:c1:b9:
+ 0b:f7:ec:71:0c:a4:20:92:2b:0f:c0:41:80:16:84:
+ 64:98:6d:13:38:df:ce:82:98:8c:ac:97:56:10:6d:
+ f8:e1:d5:19:ed:b7:60:44:c8:9e:72:61:1f:16:3b:
+ 81:13:a8:c3:99:99:47:ba:81:68:af:2a:39:80:c5:
+ 88:1b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: ecdsa-with-SHA1
+ 30:45:02:21:00:b4:35:4d:5d:8b:9c:bd:ea:be:86:13:75:ab:
+ d0:af:cc:fb:39:85:20:0b:2d:a7:84:d7:ce:8f:44:54:b6:6a:
+ 7c:02:20:62:49:3e:32:da:e2:fe:bb:f3:db:8d:f6:78:de:0a:
+ 46:e3:93:87:1c:e7:b1:6f:81:9e:1d:b2:3b:5e:a2:2c:7b
+-----BEGIN CERTIFICATE-----
+MIICVjCCAf0CAgDuMAkGByqGSM49BAEwLzEtMCsGA1UEAwwkc2VjcDI1NmsxIGVj
+ZHNhIFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMDAxNTExN1oXDTEyMTIw
+OTAxNTExN1owYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAU
+BgNVBAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMM
+CTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOcQ8mgM
+GKXl3ahLL2v1cfS/3e85aQQ4PVLF58yz65hXE04+ec+AS9edfojzqQJHuNnsiow0
+IKopO6HWRSO1bTZWPKRkE+4jcAn6dYPGt761sz+Ay857GB+sfCW2WLwHtzV3K2Qe
+yhQL0Ltsbh0v7hCQoc6pq4gKKHSursr82sM6ujneyBtGv5OYolu6sqbYvVRSvlIx
++gc6bY9CwpKAMVyuyxXwcs/2XLnya5GwA0gIrqaN5L2h9gU4HHBDtn00tcG5C/fs
+cQykIJIrD8BBgBaEZJhtEzjfzoKYjKyXVhBt+OHVGe23YETInnJhHxY7gROow5mZ
+R7qBaK8qOYDFiBsCAwEAAaMTMBEwDwYDVR0RBAgwBocEfwAAATAJBgcqhkjOPQQB
+A0gAMEUCIQC0NU1di5y96r6GE3Wr0K/M+zmFIAstp4TXzo9EVLZqfAIgYkk+Mtri
+/rvz2432eN4KRuOThxznsW+Bnh2yO16iLHs=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2048-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/2048-rsa-intermediate.pem
new file mode 100644
index 00000000000..8a5bc3d8f6c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2048-rsa-intermediate.pem
@@ -0,0 +1,75 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 238 (0xee)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 RSA Test Root CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: CN=2048 rsa Test intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:ca:0a:cb:c7:e3:8d:05:87:73:4b:a2:fc:31:a3:
+ 87:21:2a:d6:0f:83:d0:3d:c2:d8:d2:77:62:28:05:
+ fe:06:ad:b9:c5:e9:97:87:b3:90:f2:e5:13:45:47:
+ b0:9e:8b:bd:1b:7f:f9:35:7f:25:f6:bc:5d:c1:dc:
+ 6c:42:49:56:70:69:d7:55:a0:75:e0:68:7a:c8:8d:
+ 51:07:15:66:3d:30:3f:20:bb:e6:20:df:d0:5b:f1:
+ 4b:fd:0a:3f:d7:88:01:20:4f:21:f7:84:61:36:e5:
+ ca:63:c5:e8:d8:50:a5:a0:43:f5:a7:4c:f7:89:9b:
+ 2b:40:0e:bf:78:6c:33:85:87:73:78:1a:bc:2f:e2:
+ a8:ae:81:1f:89:e7:a0:88:96:d5:b5:bf:9a:68:d2:
+ 44:42:fa:af:f5:d9:82:93:97:c7:df:a6:22:11:16:
+ 90:06:14:0f:fb:84:a1:75:ba:2a:2b:ba:5b:4f:cf:
+ f0:21:81:9f:66:a7:88:70:64:5c:27:96:b4:9a:e1:
+ 53:a3:e5:25:0b:60:fa:48:05:6b:b1:73:ee:94:f2:
+ 9b:be:8b:01:f6:14:0c:3c:a2:28:01:64:6c:81:86:
+ 25:ac:0d:e8:df:37:3c:2c:a9:42:a3:b9:42:19:95:
+ a9:2f:aa:35:0c:13:4f:e2:1a:b3:6e:dc:4d:c6:28:
+ 09:6f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 48:6A:51:0C:3A:1F:20:7F:BD:4C:6B:0A:11:1F:A4:16:84:FB:83:C5
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 3a:f6:e3:fc:14:01:a3:89:91:84:7b:cb:50:e5:64:0a:a4:40:
+ d6:ad:40:26:53:29:28:c3:17:3b:12:42:8a:e8:bf:78:4a:77:
+ d2:65:08:0e:50:75:c9:fd:9e:13:de:f0:95:44:35:4a:98:50:
+ f6:ce:24:6b:e1:8c:a4:56:04:3e:4c:c7:f2:a8:07:bb:94:64:
+ ec:63:cb:e9:0d:a0:96:d8:d0:25:d5:22:cc:c7:a3:79:31:23:
+ 24:8a:24:9c:0c:a2:6c:05:a9:49:80:07:21:4f:f4:84:0f:34:
+ 9e:64:15:ed:3b:b9:ae:fc:3f:d8:06:92:b7:01:56:99:1f:91:
+ a6:13:06:11:9e:5b:66:71:30:ca:d2:44:6d:6f:8b:98:75:57:
+ 62:01:3b:47:aa:3e:ac:ea:97:00:24:5e:95:44:39:c3:df:cd:
+ f3:61:22:74:3f:64:31:11:31:b7:6e:a6:36:90:ee:9e:07:ca:
+ b9:81:e4:c7:fe:a9:ed:16:4f:f2:bc:14:1e:ef:79:44:23:33:
+ 42:e3:ab:eb:71:5e:ef:14:43:f8:29:48:7a:b4:40:80:6e:b5:
+ c0:de:d4:db:42:01:0f:9f:88:43:72:7e:76:01:72:a3:25:c1:
+ 2f:47:59:7e:a0:c8:e0:06:98:e0:47:9b:e9:98:55:5f:92:3e:
+ 7d:41:79:6a
+-----BEGIN CERTIFICATE-----
+MIIDBjCCAe6gAwIBAgICAO4wDQYJKoZIhvcNAQEFBQAwIDEeMBwGA1UEAwwVMjA0
+OCBSU0EgVGVzdCBSb290IENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIyNDc1
+M1owKDEmMCQGA1UEAwwdMjA0OCByc2EgVGVzdCBpbnRlcm1lZGlhdGUgQ0EwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKCsvH440Fh3NLovwxo4chKtYP
+g9A9wtjSd2IoBf4GrbnF6ZeHs5Dy5RNFR7Cei70bf/k1fyX2vF3B3GxCSVZwaddV
+oHXgaHrIjVEHFWY9MD8gu+Yg39Bb8Uv9Cj/XiAEgTyH3hGE25cpjxejYUKWgQ/Wn
+TPeJmytADr94bDOFh3N4Grwv4qiugR+J56CIltW1v5po0kRC+q/12YKTl8ffpiIR
+FpAGFA/7hKF1uiorultPz/AhgZ9mp4hwZFwnlrSa4VOj5SULYPpIBWuxc+6U8pu+
+iwH2FAw8oigBZGyBhiWsDejfNzwsqUKjuUIZlakvqjUME0/iGrNu3E3GKAlvAgMB
+AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEhqUQw6HyB/vUxrChEf
+pBaE+4PFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAOvbj/BQB
+o4mRhHvLUOVkCqRA1q1AJlMpKMMXOxJCiui/eEp30mUIDlB1yf2eE97wlUQ1SphQ
+9s4ka+GMpFYEPkzH8qgHu5Rk7GPL6Q2gltjQJdUizMejeTEjJIoknAyibAWpSYAH
+IU/0hA80nmQV7Tu5rvw/2AaStwFWmR+RphMGEZ5bZnEwytJEbW+LmHVXYgE7R6o+
+rOqXACRelUQ5w9/N82EidD9kMRExt26mNpDungfKuYHkx/6p7RZP8rwUHu95RCMz
+QuOr63Fe7xRD+ClIerRAgG61wN7U20IBD5+IQ3J+dgFyoyXBL0dZfqDI4AaY4Eeb
+6ZhVX5I+fUF5ag==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/2048-rsa-root.pem b/chromium/net/data/ssl/certificates/2048-rsa-root.pem
new file mode 100644
index 00000000000..ef7dde1f517
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/2048-rsa-root.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICvDCCAaQCCQCTFvHGgBv5DTANBgkqhkiG9w0BAQUFADAgMR4wHAYDVQQDDBUy
+MDQ4IFJTQSBUZXN0IFJvb3QgQ0EwHhcNMTExMjEyMjI0NzQwWhcNMjExMjA5MjI0
+NzQwWjAgMR4wHAYDVQQDDBUyMDQ4IFJTQSBUZXN0IFJvb3QgQ0EwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3qdvYWmdiR80bRDk+xLGgAsjeqFJJQbSx
+jyBmB9BP4vf14FZrwezRt83RDqE7PlbWZ7BAG0MZ2SsuY6ZTu20zeoqMGaFPLWA9
+nqSI+DIoc5cARpMDFvZJaA1ip9NQw9kZrgGBgCUkYQpQyQ/ZKP3eU7dlDT6szj8g
+sZh0aQqelIDLo+KGan32ICPorV6gjSOlklw5io6/h5rf6UpCmoON0WWkO2+rXsgW
+OcJ5lzoCRAk7uPvbe0MklJlaCGtnfDI0ftH+uB54odT/cGp+k9ok7o8qvM/nNDOq
+i+jWqwr4XzdroqN7DnqOj14Luq1SfuwTdVQohUiJBjDrA2ZZbd0jAgMBAAEwDQYJ
+KoZIhvcNAQEFBQADggEBAII1PYV5jW0uK4t9aNbAaK6M2L+WCRUQrc+xZqbMqkK0
+L7ZFOuRt0uDq/fp3dlF16KoIsMKHkpGqxF0ipbvhLpH2olW52dMQQ/D5Kb84DZ+g
+etjutHQWHon2xCGFPfnl1i04hiKg4XVuupGhu2rR4HFqerc0HXFHcnlDQ7BlQ1+I
+Ug8GcOwc2lXbnB8cfDCmOnpUNUd1D3bNEZUy+YhvqxYlKLgp9xc1mWfEyW/8Caqx
++XNntHZ7xEWBX+OJu3Sg7iBLUUGzckl6KJ6DxMam3Bi334zgKW/dlML8vJ7vnkG+
+mpvuz+9C6Dq5r2VVkLrAHjGLLPAiiXUvoXOEitKsTQs=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/768-rsa-ee-by-1024-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/768-rsa-ee-by-1024-rsa-intermediate.pem
new file mode 100644
index 00000000000..5556aa2a19e
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/768-rsa-ee-by-1024-rsa-intermediate.pem
@@ -0,0 +1,47 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=1024 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (768 bit)
+ Modulus (768 bit):
+ 00:99:15:16:6e:0f:58:af:87:bc:b8:83:ae:3a:57:
+ 85:f9:9c:70:f8:b7:9b:e2:17:c6:5e:4b:c2:4b:e3:
+ 94:ba:c3:5d:85:91:2d:cb:73:6d:ee:9b:76:9f:b1:
+ ce:34:cc:9f:73:75:00:1f:d7:cf:66:e9:a4:cc:8b:
+ 93:2e:b6:15:15:16:c0:7f:eb:70:00:ed:9c:f1:19:
+ d3:8e:38:60:bb:39:68:38:68:5b:06:67:84:13:7b:
+ 5a:69:71:82:a7:90:99
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 98:23:c2:af:db:c3:76:a7:5d:c2:29:ae:03:be:30:6d:aa:c9:
+ ef:01:04:a8:9d:45:ad:45:4b:f1:7f:6e:bb:7d:ee:41:d6:a6:
+ da:65:e1:07:28:05:fd:35:ca:89:25:a4:c3:3a:49:8e:d5:2f:
+ fe:95:8a:26:a7:82:5b:ea:b7:c6:85:bf:3f:03:1c:d5:90:e4:
+ 40:95:12:3c:1a:8f:ef:1a:ef:f3:ac:4b:05:21:63:4a:d8:4f:
+ 5f:4a:9a:b2:6e:b2:8b:d5:3a:93:0a:c9:84:c0:3e:9a:ac:b7:
+ b3:a6:36:fb:fe:6a:9a:5a:10:fc:be:40:09:ac:2b:d6:93:30:
+ b3:50
+-----BEGIN CERTIFICATE-----
+MIIB6TCCAVICAgDsMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTEwMjQgcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIy
+NDc1M1owYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTB8MA0GCSqGSIb3DQEBAQUAA2sAMGgCYQCZFRZuD1ivh7y4g646V4X5
+nHD4t5viF8ZeS8JL45S6w12FkS3Lc23um3afsc40zJ9zdQAf189m6aTMi5MuthUV
+FsB/63AA7ZzxGdOOOGC7OWg4aFsGZ4QTe1ppcYKnkJkCAwEAAaMTMBEwDwYDVR0R
+BAgwBocEfwAAATANBgkqhkiG9w0BAQUFAAOBgQCYI8Kv28N2p13CKa4DvjBtqsnv
+AQSonUWtRUvxf267fe5B1qbaZeEHKAX9NcqJJaTDOkmO1S/+lYomp4Jb6rfGhb8/
+AxzVkORAlRI8Go/vGu/zrEsFIWNK2E9fSpqybrKL1TqTCsmEwD6arLezpjb7/mqa
+WhD8vkAJrCvWkzCzUA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/768-rsa-ee-by-2048-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/768-rsa-ee-by-2048-rsa-intermediate.pem
new file mode 100644
index 00000000000..7385c612cc8
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/768-rsa-ee-by-2048-rsa-intermediate.pem
@@ -0,0 +1,56 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (768 bit)
+ Modulus (768 bit):
+ 00:d8:33:27:fc:e4:01:aa:68:42:d1:6d:26:ae:8f:
+ e5:9e:85:a7:af:98:86:9a:bc:ad:a9:c6:81:75:fb:
+ 2d:fc:ce:84:16:bc:02:d7:93:37:98:f1:c7:9e:b5:
+ 5a:ce:45:92:2d:0f:fd:79:07:16:36:ef:63:e2:7b:
+ 81:02:1f:ee:ea:2b:68:66:75:d0:51:29:ce:77:cd:
+ db:06:29:e2:83:41:86:90:98:3a:a3:21:b6:82:ad:
+ 0a:b7:c8:04:fd:b5:2f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 1c:93:4c:b9:cf:c2:3f:7e:b7:09:1c:d9:14:ca:36:f7:a6:93:
+ c7:99:09:77:ce:0e:a9:1b:ca:19:90:20:2f:3b:ca:62:5c:3d:
+ 28:75:b1:f4:be:99:3b:2d:d6:bf:df:8a:4d:81:7d:9c:a2:16:
+ 7d:93:73:a1:61:cb:13:63:88:94:20:fb:87:a4:4b:c8:d5:5b:
+ 77:07:7a:3a:d8:c8:fb:f1:76:2d:68:5b:7b:69:37:74:4a:96:
+ 32:39:5d:99:18:10:80:6a:ee:43:6d:72:74:69:85:1a:9f:ee:
+ 4d:f7:b0:cd:b9:0b:c3:1b:b0:76:3a:53:6f:9b:b4:f6:8c:af:
+ f7:b7:33:b2:d6:18:94:3b:ae:db:22:72:0b:d7:ea:d3:3d:6d:
+ db:50:78:e8:60:2f:04:aa:f3:68:23:43:fe:83:b7:be:39:54:
+ 0a:06:df:b9:0f:13:56:0b:ba:cf:dd:f0:ca:c1:d6:f6:a7:15:
+ e9:c8:20:fe:a0:46:86:2a:2b:26:cd:0b:9c:0c:0d:a3:84:3a:
+ bf:ae:60:65:88:2f:e5:6d:d6:e5:d7:e0:75:3d:00:73:65:ae:
+ dd:f1:2b:1d:ff:5c:9d:58:db:07:4b:c7:3a:78:06:6a:d1:73:
+ 30:d8:bf:cb:9b:1d:e3:fc:f8:42:49:08:4b:e8:f9:67:c6:fd:
+ f9:34:54:a1
+-----BEGIN CERTIFICATE-----
+MIICajCCAVICAgDsMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTIwNDggcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIy
+NDc1M1owYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTB8MA0GCSqGSIb3DQEBAQUAA2sAMGgCYQDYMyf85AGqaELRbSauj+We
+haevmIaavK2pxoF1+y38zoQWvALXkzeY8ceetVrORZItD/15BxY272Pie4ECH+7q
+K2hmddBRKc53zdsGKeKDQYaQmDqjIbaCrQq3yAT9tS8CAwEAAaMTMBEwDwYDVR0R
+BAgwBocEfwAAATANBgkqhkiG9w0BAQUFAAOCAQEAHJNMuc/CP363CRzZFMo296aT
+x5kJd84OqRvKGZAgLzvKYlw9KHWx9L6ZOy3Wv9+KTYF9nKIWfZNzoWHLE2OIlCD7
+h6RLyNVbdwd6OtjI+/F2LWhbe2k3dEqWMjldmRgQgGruQ21ydGmFGp/uTfewzbkL
+wxuwdjpTb5u09oyv97czstYYlDuu2yJyC9fq0z1t21B46GAvBKrzaCND/oO3vjlU
+CgbfuQ8TVgu6z93wysHW9qcV6cgg/qBGhiorJs0LnAwNo4Q6v65gZYgv5W3W5dfg
+dT0Ac2Wu3fErHf9cnVjbB0vHOngGatFzMNi/y5sd4/z4QkkIS+j5Z8b9+TRUoQ==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/768-rsa-ee-by-768-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/768-rsa-ee-by-768-rsa-intermediate.pem
new file mode 100644
index 00000000000..bec71b2b320
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/768-rsa-ee-by-768-rsa-intermediate.pem
@@ -0,0 +1,44 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=768 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (768 bit)
+ Modulus (768 bit):
+ 00:a2:72:21:2e:6e:fa:d0:4e:6c:13:b8:7c:c4:e4:
+ 7b:c8:e9:ab:d3:b8:ce:f5:9f:f6:c2:25:39:08:c4:
+ a0:c8:a9:30:43:d4:e3:fa:f1:23:57:9a:93:51:ec:
+ 00:7d:a1:85:22:2d:cf:75:b7:c4:60:f7:e0:e9:6d:
+ ac:45:e5:eb:15:a5:27:5c:f6:a9:3d:87:7b:82:dc:
+ 5a:39:65:03:8b:ee:32:55:f7:2a:52:fa:a8:07:5e:
+ 31:de:d7:02:74:bc:01
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 70:6a:2e:12:b8:3e:49:6a:f4:5b:c1:57:54:b8:fd:5b:0a:20:
+ d1:c7:71:35:2f:61:3a:64:25:9f:9f:f2:88:d0:10:f6:08:a5:
+ 0f:19:b1:ba:ee:a2:21:ff:da:ca:d1:1e:41:54:8a:e4:c2:4b:
+ 53:aa:dc:5f:46:aa:66:13:6f:3e:65:c5:f3:05:ea:a3:7c:fc:
+ e9:89:b3:9a:8d:c1:e9:98:61:33:1c:5e:64:e3:aa:e2:25:03:
+ fb:70:58:9b:81:99
+-----BEGIN CERTIFICATE-----
+MIIBxzCCAVECAgDsMA0GCSqGSIb3DQEBBQUAMCcxJTAjBgNVBAMMHDc2OCByc2Eg
+VGVzdCBpbnRlcm1lZGlhdGUgQ0EwHhcNMTExMjEyMjI0NzUzWhcNMjExMjA5MjI0
+NzUzWjBgMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UE
+BwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3
+LjAuMC4xMHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAKJyIS5u+tBObBO4fMTke8jp
+q9O4zvWf9sIlOQjEoMipMEPU4/rxI1eak1HsAH2hhSItz3W3xGD34OltrEXl6xWl
+J1z2qT2He4LcWjllA4vuMlX3KlL6qAdeMd7XAnS8AQIDAQABoxMwETAPBgNVHREE
+CDAGhwR/AAABMA0GCSqGSIb3DQEBBQUAA2EAcGouErg+SWr0W8FXVLj9Wwog0cdx
+NS9hOmQln5/yiNAQ9gilDxmxuu6iIf/aytEeQVSK5MJLU6rcX0aqZhNvPmXF8wXq
+o3z86Ymzmo3B6ZhhMxxeZOOq4iUD+3BYm4GZ
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/768-rsa-ee-by-prime256v1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/768-rsa-ee-by-prime256v1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..c2937098259
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/768-rsa-ee-by-prime256v1-ecdsa-intermediate.pem
@@ -0,0 +1,42 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: ecdsa-with-SHA1
+ Issuer: CN=prime256v1 ecdsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (768 bit)
+ Modulus (768 bit):
+ 00:9f:be:cd:ca:eb:45:e5:2a:77:c6:d2:82:b8:22:
+ 9b:44:d5:d8:04:34:af:8e:35:ba:83:d2:fa:0d:64:
+ e4:1c:4e:1b:34:8b:db:a2:1b:67:36:fb:8d:ac:3b:
+ 52:71:aa:77:63:e7:a5:3b:a5:1c:ae:7a:7f:1e:8c:
+ 98:ac:e8:19:67:ca:a0:fc:fb:df:57:3c:6c:b1:85:
+ bb:7c:a6:15:df:13:82:34:e7:84:7b:75:c7:69:ed:
+ f3:8f:77:63:af:6f:29
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: ecdsa-with-SHA1
+ 30:45:02:20:76:9c:1b:cf:23:dd:36:94:7a:8e:76:80:b8:4a:
+ f1:c9:d0:d0:ca:5c:81:57:e3:cf:21:43:63:72:03:56:f8:5d:
+ 02:21:00:fe:01:ba:f2:5e:ad:ca:2f:56:2f:b3:6d:82:cd:72:
+ 9c:22:2d:0e:10:04:e0:55:e0:d3:c7:4b:a1:60:8d:2c:2b
+-----BEGIN CERTIFICATE-----
+MIIBrzCCAVYCAgDsMAkGByqGSM49BAEwMDEuMCwGA1UEAwwlcHJpbWUyNTZ2MSBl
+Y2RzYSBUZXN0IGludGVybWVkaWF0ZSBDQTAeFw0xMTEyMTIyMjQ3NTNaFw0yMTEy
+MDkyMjQ3NTNaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYw
+FAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQD
+DAkxMjcuMC4wLjEwfDANBgkqhkiG9w0BAQEFAANrADBoAmEAn77NyutF5Sp3xtKC
+uCKbRNXYBDSvjjW6g9L6DWTkHE4bNIvbohtnNvuNrDtScap3Y+elO6Ucrnp/HoyY
+rOgZZ8qg/PvfVzxssYW7fKYV3xOCNOeEe3XHae3zj3djr28pAgMBAAGjEzARMA8G
+A1UdEQQIMAaHBH8AAAEwCQYHKoZIzj0EAQNIADBFAiB2nBvPI902lHqOdoC4SvHJ
+0NDKXIFX488hQ2NyA1b4XQIhAP4BuvJercovVi+zbYLNcpwiLQ4QBOBV4NPHS6Fg
+jSwr
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/768-rsa-ee-by-secp256k1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/768-rsa-ee-by-secp256k1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..5825106a1c7
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/768-rsa-ee-by-secp256k1-ecdsa-intermediate.pem
@@ -0,0 +1,42 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: ecdsa-with-SHA1
+ Issuer: CN=secp256k1 ecdsa Test intermediate CA
+ Validity
+ Not Before: Dec 10 01:51:16 2011 GMT
+ Not After : Dec 9 01:51:16 2012 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (768 bit)
+ Modulus (768 bit):
+ 00:cb:5e:34:c8:77:3c:55:25:ee:1c:68:96:0c:2c:
+ 48:2b:ed:83:ca:91:12:37:ea:71:ff:bc:c8:de:16:
+ 03:0c:cf:b8:40:ff:3c:43:1f:10:ab:bf:d8:e4:8f:
+ c1:82:cf:66:7d:c0:aa:c6:e6:3d:74:65:2d:df:f3:
+ f7:e1:f0:c0:4a:f8:eb:b8:5d:63:ff:78:67:b7:c6:
+ 1b:24:33:6d:0f:9c:39:86:72:41:03:26:8f:e0:55:
+ 1d:1c:72:a5:38:15:8f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: ecdsa-with-SHA1
+ 30:44:02:20:72:f6:48:3b:5d:88:f4:fc:50:c8:74:21:a6:f2:
+ c4:f7:d0:40:69:a1:48:93:98:36:fe:36:16:ec:95:a6:28:12:
+ 02:20:48:e4:7e:32:a0:4b:c0:4d:08:5f:c8:63:f9:67:7f:2d:
+ dc:78:77:78:ec:0e:a2:ee:78:60:d9:07:7d:b3:0a:d3
+-----BEGIN CERTIFICATE-----
+MIIBrTCCAVUCAgDsMAkGByqGSM49BAEwLzEtMCsGA1UEAwwkc2VjcDI1NmsxIGVj
+ZHNhIFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMDAxNTExNloXDTEyMTIw
+OTAxNTExNlowYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAU
+BgNVBAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMM
+CTEyNy4wLjAuMTB8MA0GCSqGSIb3DQEBAQUAA2sAMGgCYQDLXjTIdzxVJe4caJYM
+LEgr7YPKkRI36nH/vMjeFgMMz7hA/zxDHxCrv9jkj8GCz2Z9wKrG5j10ZS3f8/fh
+8MBK+Ou4XWP/eGe3xhskM20PnDmGckEDJo/gVR0ccqU4FY8CAwEAAaMTMBEwDwYD
+VR0RBAgwBocEfwAAATAJBgcqhkjOPQQBA0cAMEQCIHL2SDtdiPT8UMh0IabyxPfQ
+QGmhSJOYNv42FuyVpigSAiBI5H4yoEvATQhfyGP5Z38t3Hh3eOwOou54YNkHfbMK
+0w==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/768-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/768-rsa-intermediate.pem
new file mode 100644
index 00000000000..3ad84e5ae88
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/768-rsa-intermediate.pem
@@ -0,0 +1,60 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 RSA Test Root CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: CN=768 rsa Test intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (768 bit)
+ Modulus (768 bit):
+ 00:cc:6a:db:92:b7:bf:b3:fa:c0:b3:54:8e:3d:26:
+ 08:e6:a3:d0:ca:e2:75:86:25:27:0d:f4:67:e4:9f:
+ 90:0e:2f:4d:d4:15:af:c9:53:1c:44:f4:2e:90:6c:
+ 82:9b:b6:d2:59:0d:89:6a:f8:4a:c4:37:39:4f:c9:
+ 08:f1:c1:ed:e4:51:74:0c:b7:a6:2a:cf:ba:f5:47:
+ 96:6c:09:ac:d3:e4:3c:fe:ec:6f:63:60:ad:7d:ee:
+ 33:d1:cd:4f:15:f4:a7
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ D5:89:AE:A8:B3:CF:6A:F1:0C:AF:E0:11:2F:C8:59:12:A6:31:E9:3E
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 1f:a3:25:77:24:2e:b9:92:5b:06:4c:fe:31:a8:fd:86:23:97:
+ 03:ab:8f:50:7f:44:0b:6a:77:ff:0d:c8:0e:d2:98:e4:26:9c:
+ cc:26:ed:5f:1f:9c:40:0e:9e:e5:8d:1d:7f:7c:cb:2e:64:fc:
+ 8a:81:a6:d9:9d:05:4d:a1:45:76:d2:78:2a:4e:d9:5e:8c:59:
+ b3:cd:be:3b:ae:09:8c:e2:a6:a0:0e:c5:28:93:b1:bb:c1:76:
+ c1:f3:d7:d7:22:e3:25:d4:1c:cc:ae:4a:6e:1b:ae:98:3b:c5:
+ bb:dc:92:87:8b:a3:92:91:b2:23:84:1f:7f:cb:f9:85:42:d2:
+ 85:ff:a7:90:69:e0:26:ae:3f:fd:cb:7f:a6:e9:b9:3f:7f:54:
+ 3f:c7:b3:98:15:e3:22:da:c3:e7:ab:d1:b8:00:62:a2:26:9f:
+ 59:7f:51:b5:c5:10:5a:0e:a4:be:bd:22:26:5b:fc:d6:2d:32:
+ 13:04:ae:28:32:ac:e5:10:7a:81:79:a9:84:ca:67:6c:74:31:
+ 64:07:4e:3e:4f:6f:c4:e9:90:7f:a8:f5:b4:f9:65:4d:35:fa:
+ ab:92:1b:2f:b5:49:c7:73:38:3a:c7:92:f0:16:bb:a5:55:b8:
+ d9:79:4f:98:4e:6e:2a:4d:88:a3:c4:23:5c:c4:3f:ee:f7:26:
+ 56:38:1e:11
+-----BEGIN CERTIFICATE-----
+MIICXTCCAUWgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwIDEeMBwGA1UEAwwVMjA0
+OCBSU0EgVGVzdCBSb290IENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIyNDc1
+M1owJzElMCMGA1UEAwwcNzY4IHJzYSBUZXN0IGludGVybWVkaWF0ZSBDQTB8MA0G
+CSqGSIb3DQEBAQUAA2sAMGgCYQDMatuSt7+z+sCzVI49Jgjmo9DK4nWGJScN9Gfk
+n5AOL03UFa/JUxxE9C6QbIKbttJZDYlq+ErENzlPyQjxwe3kUXQMt6Yqz7r1R5Zs
+CazT5Dz+7G9jYK197jPRzU8V9KcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAd
+BgNVHQ4EFgQU1YmuqLPPavEMr+ARL8hZEqYx6T4wDgYDVR0PAQH/BAQDAgEGMA0G
+CSqGSIb3DQEBBQUAA4IBAQAfoyV3JC65klsGTP4xqP2GI5cDq49Qf0QLanf/DcgO
+0pjkJpzMJu1fH5xADp7ljR1/fMsuZPyKgabZnQVNoUV20ngqTtlejFmzzb47rgmM
+4qagDsUok7G7wXbB89fXIuMl1BzMrkpuG66YO8W73JKHi6OSkbIjhB9/y/mFQtKF
+/6eQaeAmrj/9y3+m6bk/f1Q/x7OYFeMi2sPnq9G4AGKiJp9Zf1G1xRBaDqS+vSIm
+W/zWLTITBK4oMqzlEHqBeamEymdsdDFkB04+T2/E6ZB/qPW0+WVNNfqrkhsvtUnH
+czg6x5LwFrulVbjZeU+YTm4qTYijxCNcxD/u9yZWOB4R
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/README b/chromium/net/data/ssl/certificates/README
new file mode 100644
index 00000000000..01f6dfd69c8
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/README
@@ -0,0 +1,228 @@
+This directory contains various certificates for use with SSL-related
+unit tests.
+
+- google.binary.p7b
+- google.chain.pem
+- google.pem_cert.p7b
+- google.pem_pkcs7.p7b
+- google.pkcs7.p7b
+- google.single.der
+- google.single.pem
+- thawte.single.pem : Certificates for testing parsing of different formats.
+
+- googlenew.chain.pem : The refreshed Google certificate
+ (valid until Sept 30 2013).
+
+- mit.davidben.der : An expired MIT client certificate.
+
+- foaf.me.chromium-test-cert.der : A client certificate for a FOAF.ME identity
+ created for testing.
+
+- www_us_army_mil_cert.der
+- dod_ca_17_cert.der
+- dod_root_ca_2_cert.der :
+ A certificate chain used for testing certificate imports
+
+- unosoft_hu_cert : Certificate used by X509CertificateTest.UnoSoftCertParsing.
+
+- client.p12 : A PKCS #12 file containing a client certificate and a private
+ key created for testing. The password is "12345".
+
+- client-nokey.p12 : A PKCS #12 file containing a client certificate (the same
+ as the one in client.p12) but no private key. The password is "12345".
+
+- punycodetest.der : A test self-signed server certificate with punycode name.
+ The common name is "xn--wgv71a119e.com" (日本語.com)
+
+- unittest.selfsigned.der : A self-signed certificate generated using private
+ key in unittest.key.bin. The common name is "unittest".
+
+- unittest.key.bin : private key stored unencrypted.
+
+- unittest.originbound.der: A test origin-bound certificate for
+ https://www.google.com:443.
+- unittest.originbound.key.der: matching PrivateKeyInfo.
+
+- x509_verify_results.chain.pem : A simple certificate chain used to test that
+ the correctly ordered, filtered certificate chain is returned during
+ verification, regardless of the order in which the intermediate/root CA
+ certificates are provided.
+
+- google_diginotar.pem
+- diginotar_public_ca_2025.pem : A certificate chain for the regression test
+ of http://crbug.com/94673
+
+- test_mail_google_com.pem : A certificate signed by the test CA for
+ "mail.google.com". Because it is signed by that CA instead of the true CA
+ for that host, it will fail the
+ TransportSecurityState::IsChainOfPublicKeysPermitted test.
+
+- salesforce_com_test.pem
+- verisign_intermediate_ca_2011.pem
+- verisign_intermediate_ca_2016.pem : Certificates for testing two
+ X509Certificate objects that contain the same server certificate but
+ different intermediate CA certificates. The two intermediate CA
+ certificates actually represent the same intermediate CA but have
+ different validity periods.
+
+- multivalue_rdn.pem : A regression test for http://crbug.com/101009. A
+ certificate with all of the AttributeTypeAndValues stored within a single
+ RelativeDistinguishedName, rather than one AVA per RDN as normally seen.
+
+- unescaped.pem : Regression test for http://crbug.com/102839. Contains
+ characters such as '=' and '"' that would normally be escaped when
+ converting a subject/issuer name to their stringized form.
+
+- 2048-rsa-root.pem
+- {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
+- {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-ee-by-
+ {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
+ These certficates are generated by
+ net/data/ssl/scripts/generate-weak-test-chains.sh and used in the
+ RejectWeakKeys test in net/base/x509_certificate_unittest.cc.
+
+- cross-signed-leaf.pem
+- cross-signed-root-md5.pem
+- cross-signed-root-sha1.pem
+ A certificate chain for regression testing http://crbug.com/108514,
+ generated via scripts/generate-cross-signed-certs.sh
+
+- redundant-validated-chain.pem
+- redundant-server-chain.pem
+- redundant-validated-chain-root.pem
+
+ Two chains, A -> B -> C -> D and A -> B -> C2 (C and C2 share the same
+ public key) to test that SSLInfo gets the reconstructed, re-ordered
+ chain instead of the chain as served. See
+ SSLClientSocketTest.VerifyReturnChainProperlyOrdered in
+ net/socket/ssl_client_socket_unittest.cc. These chains are valid until
+ 26 Feb 2022 and are generated by
+ net/data/ssl/scripts/generate-redundant-test-chains.sh.
+
+- comodo.chain.pem : A certificate chain for www.comodo.com which should be
+ recognised as EV. Expires Jun 21 2013.
+
+- ocsp-test-root.pem : A root certificate for the code in
+ net/tools/testserver/minica.py
+
+- spdy_pooling.pem : Used to test the handling of spdy IP connection pooling
+ Generated by using the command
+ "openssl req -x509 -days 3650 -sha1 -extensions req_spdy_pooling \
+ -config ../scripts/ee.cnf -newkey rsa:1024 -text \
+ -out spdy_pooling.pem"
+
+- subjectAltName_sanity_check.pem : Used to test the handling of various types
+ within the subjectAltName extension of a certificate. Generated by using
+ the command
+ "openssl req -x509 -days 3650 -sha1 -extensions req_san_sanity \
+ -config ../scripts/ee.cnf -newkey rsa:1024 -text \
+ -out subjectAltName_sanity_check.pem"
+
+- ndn.ca.crt: "New Dream Network Certificate Authority" root certificate.
+ This is an X.509 v1 certificate that omits the version field. Used to
+ test that the certificate version gets the default value v1.
+
+- websocket_cacert.pem : The testing root CA for testing WebSocket client
+ certificate authentication.
+ This file is used in SSLUITest.TestWSSClientCert.
+
+- websocket_client_cert.p12 : A PKCS #12 file containing a client certificate
+ and a private key created for WebSocket testing. The password is "".
+ This file is used in SSLUITest.TestWSSClientCert.
+
+- android-test-key-rsa.pem
+- android-test-key-dsa.pem
+- android-test-key-dsa-public.pem
+- android-test-key-ecdsa.pem
+- android-test-key-ecdsa-public.pem
+ This is a set of test RSA/DSA/ECDSA keys used by the Android-specific
+ unit test in net/android/keystore_unittest.c. They are used to verify
+ that the OpenSSL-specific wrapper for platform PrivateKey objects
+ works properly. See the generate-android-test-keys.sh script.
+
+- client_1.pem
+- client_1.key
+- client_1_ca.pem
+- client_2.pem
+- client_2.key
+- client_2_ca.pem
+ This is a set of files used to unit test SSL client certificate
+ authentication. These are generated by
+ net/data/ssl/scripts/generate-client-certificates.sh
+ - client_1_ca.pem and client_2_ca.pem are the certificates of
+ two distinct signing CAs.
+ - client_1.pem and client_1.key correspond to the certificate and
+ private key for a first certificate signed by client_1_ca.pem.
+ - client_2.pem and client_2.key correspond to the certificate and
+ private key for a second certificate signed by client_2_ca.pem.
+
+- eku-test-root.pem
+- non-crit-codeSigning-chain.pem
+- crit-codeSigning-chain.pem
+ Two code-signing certificates (eKU: codeSigning; eKU: critical,
+ codeSigning) which we use to test that clients are making sure that web
+ server certs are checked for correct eKU fields (when an eKU field is
+ present). Since codeSigning is not valid for web server auth, the checks
+ should fail.
+
+- duplicate_cn_1.p12
+- duplicate_cn_1.pem
+- duplicate_cn_2.p12
+- duplicate_cn_2.pem
+ Two certificates from the same issuer that share the same common name,
+ but have distinct subject names (namely, their O fields differ). NSS
+ requires that certificates have unique nicknames if they do not share the
+ same subject, and these certificates are used to test that the nickname
+ generation algorithm generates unique nicknames.
+ The .pem versions contain just the certs, while the .p12 versions contain
+ both the cert and a private key, since there are multiple ways to import
+ certificates into NSS.
+
+- aia-cert.pem
+- aia-intermediate.der
+- aia-root.pem
+ A certificate chain which we use to ensure AIA fetching works correctly
+ when using NSS to verify certificates (which uses our HTTP stack).
+ aia-cert.pem has a caIssuers that points to "aia-test.invalid" as the URL
+ containing the intermediate, which can be served via a URLRequestFilter.
+ aia-intermediate.der is stored in DER form for convenience, since that is
+ the form expected of certificates discovered via AIA.
+
+- cybertrust_gte_root.pem
+- cybertrust_baltimore_root.pem
+- cybertrust_omniroot_chain.pem
+- cybertrust_baltimore_cross_certified_1.pem
+- cybertrust_baltimore_cross_certified_2.pem
+ These certificates are reflect a portion of the CyberTrust (Verizon
+ Business) CA hierarchy. _gte_root.pem is a legacy 1024-bit root that is
+ still widely supported, while _baltimore_root.pem reflects the newer
+ 2048-bit root. For clients that only support the GTE root, two versions
+ of the Baltimore root were cross-signed by GTE, namely
+ _cross_certified_[1,2].pem. _omniroot_chain.pem contains a certificate
+ chain that was issued under the Baltimore root. Combined, these
+ certificates can be used to test real-world cross-signing; in practice,
+ they are used to test certain workarounds for OS X's chain building code.
+
+- no_subject_common_name_cert.pem: Used to test the function that generates a
+ NSS certificate nickname for a user certificate. This certificate's Subject
+ field doesn't have a common name.
+
+- expired_cert.pem
+- ok_cert.pem
+- root_ca_cert.pem
+ These certificates are the common certificates used by the Python test
+ server for simulating HTTPS connections. They are generated by running
+ the script net/data/ssl/scripts/generate-test-certs.sh.
+
+- quic_intermediate.crt
+- quic_test_ecc.example.com.crt
+- quic_test.example.com.crt
+- quic_root.crt
+ These certificates are used by the ProofVerifier's unit tests of QUIC.
+
+- explicit-policy-chain.pem
+ A test certificate chain with requireExplicitPolicy field set on the
+ intermediate, with SkipCerts=0. This is used for regression testing
+ http://crbug.com/31497. It is generated by running the script
+ net/data/ssl/scripts/generate-policy-certs.sh
+
diff --git a/chromium/net/data/ssl/certificates/aia-cert.pem b/chromium/net/data/ssl/certificates/aia-cert.pem
new file mode 100644
index 00000000000..90e74db65e9
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/aia-cert.pem
@@ -0,0 +1,76 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=AIA Test Intermediate CA
+ Validity
+ Not Before: May 15 22:24:35 2013 GMT
+ Not After : May 13 22:24:35 2023 GMT
+ Subject: CN=aia-host.invalid
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:d4:c2:59:42:3c:b5:53:1b:38:9b:09:d7:31:2d:
+ ec:ce:ac:22:d0:19:72:e7:56:1e:91:97:93:3a:53:
+ 4a:76:8e:2c:d7:f3:e6:99:f2:a3:33:77:5b:df:8b:
+ 21:13:10:62:d5:11:4b:e8:8e:35:84:ba:41:04:47:
+ e9:e9:29:b3:e9:cf:73:b6:c6:4b:95:50:28:14:4a:
+ 10:10:da:25:3a:95:bf:f7:ee:df:96:32:82:e4:0d:
+ 21:76:1a:03:5e:3d:54:54:a1:79:67:80:7f:b7:2d:
+ 60:c7:e2:a5:47:5e:a4:e8:ca:6b:0e:63:9a:c1:02:
+ 65:e3:ca:7b:68:30:c3:50:e8:b7:70:ce:8e:85:ac:
+ bd:c8:0c:2a:a1:69:14:2c:a1:2b:bd:b2:09:0c:22:
+ 30:2a:e1:51:70:82:27:23:be:0f:cb:91:e3:44:9b:
+ ba:93:67:c3:2f:20:fc:b4:8f:30:0a:1d:14:8a:a7:
+ ce:cd:39:31:4b:49:55:e9:41:b6:f6:b1:84:7a:07:
+ a2:c9:0b:7b:95:bd:e7:02:5d:e0:6e:02:21:99:d7:
+ 65:99:5f:6a:c6:03:dc:1f:1e:81:cc:8b:c5:4a:d9:
+ 53:16:65:05:41:9e:b0:d1:0c:31:37:21:fa:ae:b7:
+ f9:36:db:1e:6b:43:c9:96:c7:f3:c2:1f:c0:ae:f6:
+ 4e:93
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ Authority Information Access:
+ CA Issuers - URI:http://aia-test.invalid
+
+ Signature Algorithm: sha1WithRSAEncryption
+ bd:43:b3:d3:1f:8a:9d:a3:ef:a0:8a:ba:5a:c7:7d:fa:ea:26:
+ 97:d3:22:41:1f:c4:0e:65:80:d6:c9:39:e2:3c:13:0f:7c:58:
+ 0b:15:cb:f4:66:3b:7d:2c:7b:11:f2:8e:ca:f8:5b:d0:d3:fd:
+ e6:e3:67:5b:99:f0:0b:d2:cc:ea:59:6d:80:40:7d:3e:dc:01:
+ 51:64:5e:11:19:de:ad:fa:6d:25:5a:e0:bc:ea:23:c2:8b:5e:
+ e5:eb:d5:70:37:ad:3f:65:52:5c:c7:ad:e3:7c:bb:13:d9:6f:
+ 89:e4:a6:ba:d7:e1:96:c5:48:1a:53:66:15:f5:a1:42:c1:f2:
+ e5:7d:74:e3:c6:6a:91:0b:cd:1c:fe:94:dc:be:87:30:e7:c5:
+ d9:a5:87:fa:cf:ef:3f:a9:25:44:4d:ff:9d:ae:a3:08:b0:a7:
+ 52:f9:9a:26:2c:1a:ec:f6:c2:f7:aa:a0:fc:b3:d6:33:81:3b:
+ d4:79:ba:24:85:74:90:fd:76:09:a9:91:71:df:1d:e0:f6:c6:
+ ce:c6:69:a4:af:24:40:f0:5d:74:9a:35:4c:e6:fa:ef:76:0e:
+ ca:d2:dc:69:26:06:d7:78:95:aa:50:43:21:c8:f6:5f:75:e8:
+ 7e:7b:57:e1:e2:28:03:4e:11:46:c6:58:64:43:c7:da:1d:3b:
+ a9:e4:0f:d7
+-----BEGIN CERTIFICATE-----
+MIIDHjCCAgagAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwIzEhMB8GA1UEAwwYQUlB
+IFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTEzMDUxNTIyMjQzNVoXDTIzMDUxMzIy
+MjQzNVowGzEZMBcGA1UEAwwQYWlhLWhvc3QuaW52YWxpZDCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBANTCWUI8tVMbOJsJ1zEt7M6sItAZcudWHpGXkzpT
+SnaOLNfz5pnyozN3W9+LIRMQYtURS+iONYS6QQRH6ekps+nPc7bGS5VQKBRKEBDa
+JTqVv/fu35YyguQNIXYaA149VFSheWeAf7ctYMfipUdepOjKaw5jmsECZePKe2gw
+w1Dot3DOjoWsvcgMKqFpFCyhK72yCQwiMCrhUXCCJyO+D8uR40SbupNnwy8g/LSP
+MAodFIqnzs05MUtJVelBtvaxhHoHoskLe5W95wJd4G4CIZnXZZlfasYD3B8egcyL
+xUrZUxZlBUGesNEMMTch+q63+TbbHmtDyZbH88IfwK72TpMCAwEAAaNkMGIwDAYD
+VR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwMwYIKwYB
+BQUHAQEEJzAlMCMGCCsGAQUFBzAChhdodHRwOi8vYWlhLXRlc3QuaW52YWxpZDAN
+BgkqhkiG9w0BAQUFAAOCAQEAvUOz0x+KnaPvoIq6Wsd9+uoml9MiQR/EDmWA1sk5
+4jwTD3xYCxXL9GY7fSx7EfKOyvhb0NP95uNnW5nwC9LM6lltgEB9PtwBUWReERne
+rfptJVrgvOojwote5evVcDetP2VSXMet43y7E9lvieSmutfhlsVIGlNmFfWhQsHy
+5X1048ZqkQvNHP6U3L6HMOfF2aWH+s/vP6klRE3/na6jCLCnUvmaJiwa7PbC96qg
+/LPWM4E71Hm6JIV0kP12CamRcd8d4PbGzsZppK8kQPBddJo1TOb673YOytLcaSYG
+13iVqlBDIcj2X3XofntX4eIoA04RRsZYZEPH2h07qeQP1w==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/aia-intermediate.der b/chromium/net/data/ssl/certificates/aia-intermediate.der
new file mode 100644
index 00000000000..d7dba149e52
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/aia-intermediate.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/aia-root.pem b/chromium/net/data/ssl/certificates/aia-root.pem
new file mode 100644
index 00000000000..c5fa02a8001
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/aia-root.pem
@@ -0,0 +1,72 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 10573340048066023812 (0x92bc0cc0f6631184)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=AIA Test Root CA
+ Validity
+ Not Before: May 15 22:24:35 2013 GMT
+ Not After : May 13 22:24:35 2023 GMT
+ Subject: CN=AIA Test Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:ac:f7:c4:ab:87:d2:d3:e4:38:b7:22:a7:f5:ba:
+ 62:51:a2:bc:8c:6d:e9:15:ce:88:e4:94:26:38:b2:
+ 84:f6:aa:2b:44:af:c9:b0:6d:20:52:47:5d:c5:d4:
+ 57:54:39:37:77:e4:5a:95:83:eb:d9:ec:fd:20:b0:
+ 3d:50:b2:c8:3c:9f:09:74:fb:3a:59:da:8b:86:f9:
+ 98:87:85:b3:f7:04:bc:2c:f0:35:3d:93:2b:a9:d5:
+ 89:6d:18:1d:5f:29:bd:f5:69:7f:bc:91:34:08:96:
+ d4:a5:45:5c:dc:60:79:8a:55:42:fe:12:23:6a:2e:
+ 37:ce:7c:5f:d3:0f:7c:a4:6c:13:62:59:79:e8:24:
+ 10:e1:d7:2d:e6:20:bd:53:f3:bd:43:ea:2d:3f:7f:
+ 5f:05:9c:e7:e4:8d:9d:cd:0d:99:29:80:9e:22:c5:
+ d7:e7:55:cb:3c:09:25:31:61:cf:9b:96:e5:01:e5:
+ 4e:ce:39:c2:37:aa:8a:a2:c0:1c:20:38:7c:f0:90:
+ b8:16:83:ec:0a:0f:2b:8c:5a:69:db:46:ff:74:50:
+ cb:db:c6:1c:bc:05:bc:91:84:47:e0:ce:57:5e:cd:
+ 49:26:55:87:bb:45:4b:23:9d:39:ff:5b:d5:47:93:
+ 47:87:6d:78:7a:81:79:7d:66:55:6a:25:0b:3b:d5:
+ a5:05
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 79:19:7e:16:33:cc:d4:73:92:30:6d:66:17:31:5a:65:b7:63:
+ ec:07:f0:d5:6d:dc:0d:10:57:5b:97:a0:ae:ad:b9:43:ab:7a:
+ 07:21:ac:04:be:8b:21:32:20:ed:24:42:af:31:7c:24:43:83:
+ 47:44:a2:68:21:d6:6d:d2:a1:cb:b9:23:15:47:32:f6:6a:6f:
+ 65:09:21:41:aa:99:a2:a1:68:45:3a:b9:9c:fa:cd:3a:dd:bf:
+ eb:4e:82:74:75:18:99:c6:58:2a:5b:33:aa:bf:cb:8b:31:0c:
+ 36:ef:2e:2c:a7:b3:8e:98:ce:b4:86:85:06:9c:74:36:9e:30:
+ 25:4d:fb:e0:20:e1:eb:71:71:82:c3:5c:ed:f0:ed:1f:8d:21:
+ be:9c:6f:b0:38:29:32:3b:c1:06:ae:f9:46:f0:7f:7f:21:37:
+ 31:67:32:97:7d:77:3a:7a:99:80:88:9b:8d:a7:6d:a9:f0:ef:
+ 8b:5e:73:01:d5:2b:c0:82:db:7b:24:0b:7a:1b:f0:c7:8b:2b:
+ bf:b2:ef:b9:ff:d0:a4:5d:1b:46:ba:00:71:8f:9a:d2:a3:28:
+ e5:7d:2c:41:ce:6e:de:1f:9a:af:0b:f8:02:79:88:29:59:ee:
+ e2:e1:cc:80:4e:19:1b:00:84:95:26:b9:1c:a2:97:b4:bd:e0:
+ f5:b9:c4:04
+-----BEGIN CERTIFICATE-----
+MIIC3DCCAcSgAwIBAgIJAJK8DMD2YxGEMA0GCSqGSIb3DQEBBQUAMBsxGTAXBgNV
+BAMMEEFJQSBUZXN0IFJvb3QgQ0EwHhcNMTMwNTE1MjIyNDM1WhcNMjMwNTEzMjIy
+NDM1WjAbMRkwFwYDVQQDDBBBSUEgVGVzdCBSb290IENBMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEArPfEq4fS0+Q4tyKn9bpiUaK8jG3pFc6I5JQmOLKE
+9qorRK/JsG0gUkddxdRXVDk3d+RalYPr2ez9ILA9ULLIPJ8JdPs6WdqLhvmYh4Wz
+9wS8LPA1PZMrqdWJbRgdXym99Wl/vJE0CJbUpUVc3GB5ilVC/hIjai43znxf0w98
+pGwTYll56CQQ4dct5iC9U/O9Q+otP39fBZzn5I2dzQ2ZKYCeIsXX51XLPAklMWHP
+m5blAeVOzjnCN6qKosAcIDh88JC4FoPsCg8rjFpp20b/dFDL28YcvAW8kYRH4M5X
+Xs1JJlWHu0VLI505/1vVR5NHh214eoF5fWZVaiULO9WlBQIDAQABoyMwITAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEA
+eRl+FjPM1HOSMG1mFzFaZbdj7Afw1W3cDRBXW5egrq25Q6t6ByGsBL6LITIg7SRC
+rzF8JEODR0SiaCHWbdKhy7kjFUcy9mpvZQkhQaqZoqFoRTq5nPrNOt2/606CdHUY
+mcZYKlszqr/LizEMNu8uLKezjpjOtIaFBpx0Np4wJU374CDh63FxgsNc7fDtH40h
+vpxvsDgpMjvBBq75RvB/fyE3MWcyl313OnqZgIibjadtqfDvi15zAdUrwILbeyQL
+ehvwx4srv7Lvuf/QpF0bRroAcY+a0qMo5X0sQc5u3h+arwv4AnmIKVnu4uHMgE4Z
+GwCElSa5HKKXtL3g9bnEBA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/android-test-key-dsa-public.pem b/chromium/net/data/ssl/certificates/android-test-key-dsa-public.pem
new file mode 100644
index 00000000000..f9968099d9c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/android-test-key-dsa-public.pem
@@ -0,0 +1,20 @@
+-----BEGIN PUBLIC KEY-----
+MIIDRjCCAjkGByqGSM44BAEwggIsAoIBAQDaJruwQmE1uMS2WnGl6L2UQy8iHmcs
+74gWjym/8HVVdLXsC3wGoXGj0vj3Zr7DpgzrXBAWj2JILVApJgbFIbEFLAHcv6Bd
+/3PjbRrva4PMQypul1o+j9IiFn2oemeVoCz77mz5aczfq7AoiMnMpdP501qcAOF2
+gDR61r1BO8QRV9gkbOLpZHX101NB9GW+PKR7C+SJBN5rVVX2YgtxPe/Km5jFgIuS
+P76eSvxGh1kUApFDhqEDh7Gck5Slt6lJDPj399MZC74XrrdbjrZbO/jt5TsLxRac
+SvI0waX+49+UnHYb3cjPynMkBgLDl7itMluTm3nS8IkgKKgYPiEAXlKbAiEAu0Ip
+TvTF7SfYMd5me26T40Fa2mAWYzWQLF10WvqheOcCggEAarH6R0LvhcWInCB1Yr4U
+FA3QjynYWfxZZ6g+Tf/NxPQmVj720SEm+QfiZnrtSReTctBHJPkcrzHVU53LNVPx
+CxvoVJUEdUhxWUV0o0PXBUfJZB3JdVXLGEu4MlXkwFh87+S3Y/+9yeMog3SaaqDA
+cISNUQSWd+q5oiAeFdYiaTjY+qD+UGBChL/w8QSrr0BRiHF1EskKI3bFmqQzDjD7
+9xm4wEGUiMvF+dHa50rjIzD+EyWvbkq3HonB7N7DDciVQ1V/qGmI6dvP5yf/Ml90
+YDL8QIrXWP2p81FlvfU3QE9tjI6Bo5cjTavRU7WORN0it9B3pmvyL++E1EGd6hBr
+qwOCAQUAAoIBAFR3VCzbhpt1iR/LpAlN2QIeQ4r2vkng6CJaxSQZBKBc1CjFHAXy
+4QIThVpagyH+QM4I5pPIxkcXpFwEPHzuZow8/4DMA6IlPJ6R8ih1IgWGqzASzXYv
+ZrlasBUjTS4no54L9PueAfZ2G0Rc9ePZ8snH9zsQVu5Rd2+zUkAUzR0jCT/zveeQ
+t9c/px8356C4beEUAFoiXbSNMDruVdFemEwC5oCIwMBamPUxf//Og74Wg0W/0DNW
+j8ffKNht51i+537vjBjVlLd/ETXARhAZg83jcqKKG0I4hECFZE5xBl0flU82pQAf
+eKk0vNRiuAXKgxNor+pnpXC3qqMkxuwQBls=
+-----END PUBLIC KEY-----
diff --git a/chromium/net/data/ssl/certificates/android-test-key-dsa.pem b/chromium/net/data/ssl/certificates/android-test-key-dsa.pem
new file mode 100644
index 00000000000..3e0ec612701
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/android-test-key-dsa.pem
@@ -0,0 +1,20 @@
+-----BEGIN DSA PRIVATE KEY-----
+MIIDVQIBAAKCAQEA2ia7sEJhNbjEtlpxpei9lEMvIh5nLO+IFo8pv/B1VXS17At8
+BqFxo9L492a+w6YM61wQFo9iSC1QKSYGxSGxBSwB3L+gXf9z420a72uDzEMqbpda
+Po/SIhZ9qHpnlaAs++5s+WnM36uwKIjJzKXT+dNanADhdoA0eta9QTvEEVfYJGzi
+6WR19dNTQfRlvjykewvkiQTea1VV9mILcT3vypuYxYCLkj++nkr8RodZFAKRQ4ah
+A4exnJOUpbepSQz49/fTGQu+F663W462Wzv47eU7C8UWnEryNMGl/uPflJx2G93I
+z8pzJAYCw5e4rTJbk5t50vCJICioGD4hAF5SmwIhALtCKU70xe0n2DHeZntuk+NB
+WtpgFmM1kCxddFr6oXjnAoIBAGqx+kdC74XFiJwgdWK+FBQN0I8p2Fn8WWeoPk3/
+zcT0JlY+9tEhJvkH4mZ67UkXk3LQRyT5HK8x1VOdyzVT8Qsb6FSVBHVIcVlFdKND
+1wVHyWQdyXVVyxhLuDJV5MBYfO/kt2P/vcnjKIN0mmqgwHCEjVEElnfquaIgHhXW
+Imk42Pqg/lBgQoS/8PEEq69AUYhxdRLJCiN2xZqkMw4w+/cZuMBBlIjLxfnR2udK
+4yMw/hMlr25Ktx6Jwezeww3IlUNVf6hpiOnbz+cn/zJfdGAy/ECK11j9qfNRZb31
+N0BPbYyOgaOXI02r0VO1jkTdIrfQd6Zr8i/vhNRBneoQa6sCggEAVHdULNuGm3WJ
+H8ukCU3ZAh5Diva+SeDoIlrFJBkEoFzUKMUcBfLhAhOFWlqDIf5Azgjmk8jGRxek
+XAQ8fO5mjDz/gMwDoiU8npHyKHUiBYarMBLNdi9muVqwFSNNLiejngv0+54B9nYb
+RFz149nyycf3OxBW7lF3b7NSQBTNHSMJP/O955C31z+nHzfnoLht4RQAWiJdtI0w
+Ou5V0V6YTALmgIjAwFqY9TF//86DvhaDRb/QM1aPx98o2G3nWL7nfu+MGNWUt38R
+NcBGEBmDzeNyooobQjiEQIVkTnEGXR+VTzalAB94qTS81GK4BcqDE2iv6melcLeq
+oyTG7BAGWwIgUF1cgjzMuvW665RmAumSL2vvkRuNm54i8cHSq53ZVq8=
+-----END DSA PRIVATE KEY-----
diff --git a/chromium/net/data/ssl/certificates/android-test-key-ecdsa-public.pem b/chromium/net/data/ssl/certificates/android-test-key-ecdsa-public.pem
new file mode 100644
index 00000000000..451262259ab
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/android-test-key-ecdsa-public.pem
@@ -0,0 +1,4 @@
+-----BEGIN PUBLIC KEY-----
+MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJH4uX5l3CYLPIQ7tXxBjtPZN7HVf
+l4uyPAs6VCPitxLjEcKq3w/wwnPAbhbXN7bnC6lq1Yro/5vlpa1RGB46yQ==
+-----END PUBLIC KEY-----
diff --git a/chromium/net/data/ssl/certificates/android-test-key-ecdsa.pem b/chromium/net/data/ssl/certificates/android-test-key-ecdsa.pem
new file mode 100644
index 00000000000..6f128bde2bd
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/android-test-key-ecdsa.pem
@@ -0,0 +1,8 @@
+-----BEGIN EC PARAMETERS-----
+BggqhkjOPQMBBw==
+-----END EC PARAMETERS-----
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIFb6/5kje8LB6bKDjQbfr2d4wfvLjy+SNs7j4J1eEF+FoAoGCCqGSM49
+AwEHoUQDQgAEJH4uX5l3CYLPIQ7tXxBjtPZN7HVfl4uyPAs6VCPitxLjEcKq3w/w
+wnPAbhbXN7bnC6lq1Yro/5vlpa1RGB46yQ==
+-----END EC PRIVATE KEY-----
diff --git a/chromium/net/data/ssl/certificates/android-test-key-rsa.pem b/chromium/net/data/ssl/certificates/android-test-key-rsa.pem
new file mode 100644
index 00000000000..cd771fb6d88
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/android-test-key-rsa.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAtGeaaS0gTqtgxhVXHEvwq04nAj8G0VCC8QjJW1ULVA576lhy
+3IfdP3CxSLUYaJ4QNlXswDkbV8U8VPwresHqd1OTcCII774hLNFw7QtTmi1dM3rL
+kOHApeCUa32VzZSuzCyu9f2/T4HvEH367GDTIxk1NEoXKSuehjMUFiqmtJEZjHSK
+agq3p8NLTP/WpMm1WfEg5QRBQaQ82hOYN8CDaRSOW2GuHw+qZAtA7n033yX8cu3H
+khPT5INk04/byZVDMNK1hbf90y+0XeZRZAKZ9rklMnz3jPJvLLsVwSMexJnRbe/G
+cQyE9V1jHN9aGeBlm+9xvv3VjddNhaxhYLDYuQIDAQABAoIBAF5MCRoQzGJSkjL3
+1KCl0Ra5swoph5bBTrBOt3FV8qXtLDhCI0fCfJM8hG5MuoV0mWTNZQLU1sX6Ap8p
+cFCqK7RTqy1hnOozp4OVtkExOnHMZHsUJHOGjPwnd2z4J+VdYkC22n0aNXWJpTwp
+nY8QzUv7USQT1ide9W2QJV+wy5J1pQt4U/TH44FD6ceYXzEKCwHb1FXK4YOS0xgR
+mW3gKFdHAYwk6OTyJOTLoa8zRL+8w7cTx2uNbf5EXeSMPjVl6SsVqJxOoBxVhi6M
+Hj/pV4xs2sF2iqRlRZLpR5nOeJEwiELCymDgSzvSh0PZKAQzEvdYbH91vSEu6d+Q
+gSGgkAECgYEA1wepPWDJyYPXPfemqeNrq7uVMwO3EI9IwlI+ouZ1sPHDEcQ3dNGw
+5/QK7mgG++Wn+EfDkD1U26qGaGiWlCHTC/YlQ1tyrw3KqqV4QT+AIHJnr52PMUTu
+vpSUJEfLMEboa8nsdHRHvScqqhijgI5fY4RJa20EVAjA0DRB/BSyEuECgYEA1scO
+Q7s0jXWIfK/Y0z8WFfcHd1+xdIEueGqfI/Qx57Gsaen6mOKC6nESzq2GOiiXdX4X
+NzdqPhZ1TWt+8FtSjDx61xFYldVf/0mSMn0skUSshKkBxZoKT65mmH2aRn9Mh1W7
+PaIN/JCi20kaZqhbaNhPi/Dd6SK2CIJco9Dx2NkCgYEAjHYqrTdeWM5QeeAd9Hfk
+S4f7TBmvKZgPVTBYThzw4Cbs39wmxZ58Suh1g4pclYtND7gBHWWS2vMnXWiEhDsc
+G4IskTVZUtRVgOcaCLUsQwW4iVUIxoxa0A9KPfDP37dR96ctWFzkx8Cf9ACoPT/D
+O8ScGRpba3FUUizwtXPnZsECgYA7ltjPU/ZdtRlcNtG6sosnJvWsWiF7CIhjInnq
+2Mqr1PDYJfHAT0AxWZP1QdG2+yIimAxK5pYUidib1VJPz5aUkAco+ogQcjYDN19X
+oMEnwNz4pYd3Uqi/uMyATIDsRE9wUQn1LKwiweJdYufvSZCrAzD2y6pWD6pfrAOV
+89fV6QKBgQDADTt1uVUPm2XpAkRAgKT7hncHnMcVqXvQsrqbHlbC7SARTbX0lUga
+eO18L/k3h5XGXSQbVeVHdo5EZOEqQkiGcQbOgtRosMp/+6XtPMyvMMxWRhjIcyAJ
+5czOAcXm8iVv7m89w+QnK+zMsLkY0j0X70lDXq7Tui+VH9lXa4wjtw==
+-----END RSA PRIVATE KEY-----
diff --git a/chromium/net/data/ssl/certificates/client-nokey.p12 b/chromium/net/data/ssl/certificates/client-nokey.p12
new file mode 100644
index 00000000000..bd6bd7c80d0
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client-nokey.p12
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/client.p12 b/chromium/net/data/ssl/certificates/client.p12
new file mode 100644
index 00000000000..ea1657a7834
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client.p12
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/client_1.key b/chromium/net/data/ssl/certificates/client_1.key
new file mode 100644
index 00000000000..156d9d592d1
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client_1.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvA+oJRIT2OF09P5+DL+f4r5d94hEouZPj2eBQ2S3bb0SeeYO
+2AeuD/QfdgCchrBwVAK6qcUFLykZyUsGvGVAth0exUSR8NbShsP3TnOyknclyk/V
+nCumLPn49/0eHrzU2x6Zx3xSzb580+7HObhqiNAkJuoNu+3ALvtx310SVR02+HRV
+LjMaaMMm+od71oAgRRDNq3f0sjprLqF/fKkXwUdRs+Y9Z2iQ39g3dC0CEdLQZJb0
+BoUjBxRVUHqLMiYPF76aU+EDwOgn/waWdF0pDKsh9a4iPC8nuDu2xbpBWI7oX7pW
+lwg2J9qm8MwnEVL7m+WSqj3xYj6uu7gJUubl0wIDAQABAoIBAGXlAdDcI57OQaWA
+wmE77nBXfuhgj/fHW/IyPap7RpuR5xHfIcnRF3GTbvxrxmN/88zBEcxscKul1E/p
+c8PeBJrn2kU+KujYLIdSZIvASk/reLFOYknUqJwT8N7E6W30GEyFHwMkDGVnwZC+
+/nj6v9ZTGFNxW3GolwmduYwxjH5Kf7nVYUMsBcHnFUFHGYnZ1IE5GkufpTnF658/
+Qy6VSToV9AlziuP8ibsP7K5k6dX4m7WQXMdhv6FmzlByL7AfcBl2W2n24124gJq6
+vMd81gKiITfkvxXGUBqg7bJ0Cn1TKMibfvOk3TlitPV3U21N1ZYBv8ooPACgiBXg
+oRufAdkCgYEA9X5O0LbrLRmCGMNSjXQwU5mJaIySe5MM69XkhmpEJMaReK01JbsI
+/tNav3B68P9seQngDFZIJUXFbSDhGl/AmwtZ7dCNJOy+im7Rqyz5zOzdb5d8czTA
+Q3AbFMzg5iE3L/kOFDAce2qV9NNI43KQD/BeQFOdOQqKIWEUDkSe8kcCgYEAxBwb
+GV95LNjPtvxs9tsAljlVjWqNe6Y3ePNd+JcF5N//gXbubYxhx1RVrK8upr91jFmG
+Pv1IH11LtUGy3Df59X6foFkt1pdYPJDaZMcmPenNxRkQIZGgyCwtHfqYep4sZeQF
+eriemLsIrpEmbc/+J3WFMGlUNITcgkq1scNHyhUCgYEArmtOTiYYU1OzRirIZW4u
+w8brhNeTX68r2AeBNSsdPU/DnYzanPMVQhAigq/E+aNQi3LDt6A55Bl9WrqolJeB
+fecDvt6U2a5G9o4j882hscJ81cM4jZXmIEPvSckC5R6mWjRGl3tTUTB6WJchS1Bj
+IJ/0JxoBM7zURUD3AegpUhMCgYB4ojlhQEOP/Ma5b0mwCEOyJQ6lcRgbKcIR2tLB
+alUr10aa4wgDx0kWjqAtG4388OVkMmXMNY26DW/WzdUydhSCmSOkRXdW+75Bc3GE
+cKTrjPkQ9zvfCm/28oXGXTKSqt3wx3U/anXUyairiYo0Hq/eogIOJ5yuudPTKhXe
+hZuRiQKBgQDbxekKJp2kVS20UwKqO5Z0BYjsmAWNun/ooSDwHBUBUKwMZ9MG69aG
+b6OAFpO6wFhHjayd+XDJfKIS+sKHiSYqvFed+dpf0G9fGjpR8lyoh8XEopMSJQ8i
+rHJZMKTLUiWLdln80Q2BoH4qRB72At2XLSFfHP5D5E8h79z3eY8Dfg==
+-----END RSA PRIVATE KEY-----
diff --git a/chromium/net/data/ssl/certificates/client_1.pem b/chromium/net/data/ssl/certificates/client_1.pem
new file mode 100644
index 00000000000..9cc987b09a1
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client_1.pem
@@ -0,0 +1,72 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=B CA
+ Validity
+ Not Before: Apr 22 21:58:52 2013 GMT
+ Not After : Apr 20 21:58:52 2023 GMT
+ Subject: CN=Client Cert A
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:bc:0f:a8:25:12:13:d8:e1:74:f4:fe:7e:0c:bf:
+ 9f:e2:be:5d:f7:88:44:a2:e6:4f:8f:67:81:43:64:
+ b7:6d:bd:12:79:e6:0e:d8:07:ae:0f:f4:1f:76:00:
+ 9c:86:b0:70:54:02:ba:a9:c5:05:2f:29:19:c9:4b:
+ 06:bc:65:40:b6:1d:1e:c5:44:91:f0:d6:d2:86:c3:
+ f7:4e:73:b2:92:77:25:ca:4f:d5:9c:2b:a6:2c:f9:
+ f8:f7:fd:1e:1e:bc:d4:db:1e:99:c7:7c:52:cd:be:
+ 7c:d3:ee:c7:39:b8:6a:88:d0:24:26:ea:0d:bb:ed:
+ c0:2e:fb:71:df:5d:12:55:1d:36:f8:74:55:2e:33:
+ 1a:68:c3:26:fa:87:7b:d6:80:20:45:10:cd:ab:77:
+ f4:b2:3a:6b:2e:a1:7f:7c:a9:17:c1:47:51:b3:e6:
+ 3d:67:68:90:df:d8:37:74:2d:02:11:d2:d0:64:96:
+ f4:06:85:23:07:14:55:50:7a:8b:32:26:0f:17:be:
+ 9a:53:e1:03:c0:e8:27:ff:06:96:74:5d:29:0c:ab:
+ 21:f5:ae:22:3c:2f:27:b8:3b:b6:c5:ba:41:58:8e:
+ e8:5f:ba:56:97:08:36:27:da:a6:f0:cc:27:11:52:
+ fb:9b:e5:92:aa:3d:f1:62:3e:ae:bb:b8:09:52:e6:
+ e5:d3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ Signature Algorithm: sha1WithRSAEncryption
+ a5:ec:14:84:d5:27:71:38:e7:f1:5f:38:7f:96:0f:a7:5d:ad:
+ 9d:bf:5d:f9:eb:66:d5:61:ea:5b:d5:c9:3e:73:a1:62:8a:a5:
+ 25:60:8f:90:fb:9f:38:2d:1d:42:ec:e7:db:f5:34:fc:4a:57:
+ 19:eb:29:83:ae:a4:8f:94:2c:9d:c0:dd:df:6c:29:d8:c9:9f:
+ ec:07:e7:18:80:8e:3b:92:0a:f1:2e:e7:1f:0b:d5:b7:b9:d9:
+ a9:39:cf:46:a3:7a:ec:95:7f:4d:0a:99:ba:e8:ca:a9:4e:ea:
+ 48:b9:e3:21:ad:6e:20:8d:db:c5:7d:9d:94:69:f0:d0:8e:b3:
+ 32:39:67:42:7c:22:e4:25:a5:d3:51:0e:65:89:52:90:63:b4:
+ bf:c5:8e:2c:79:cc:c5:b7:e5:00:98:5b:f8:f6:01:b1:83:cb:
+ ee:a2:cb:ba:4f:c4:a6:8b:1f:fa:fa:4f:43:b7:e9:75:54:43:
+ 1b:e0:3d:d5:9b:15:6d:3d:c2:31:9f:42:10:be:9f:a1:67:0b:
+ f5:4b:ad:a4:8b:cb:ca:3f:be:ad:16:c8:6f:7a:42:33:71:39:
+ 22:a1:ee:7b:d0:3f:fb:1c:c6:bf:90:17:18:0d:0f:00:18:15:
+ 4f:2f:4f:7b:fb:26:05:05:e5:de:29:5e:ad:09:55:e6:d6:c5:
+ de:27:a6:6c
+-----BEGIN CERTIFICATE-----
+MIIC0jCCAbqgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAwwEQiBD
+QTAeFw0xMzA0MjIyMTU4NTJaFw0yMzA0MjAyMTU4NTJaMBgxFjAUBgNVBAMMDUNs
+aWVudCBDZXJ0IEEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8D6gl
+EhPY4XT0/n4Mv5/ivl33iESi5k+PZ4FDZLdtvRJ55g7YB64P9B92AJyGsHBUArqp
+xQUvKRnJSwa8ZUC2HR7FRJHw1tKGw/dOc7KSdyXKT9WcK6Ys+fj3/R4evNTbHpnH
+fFLNvnzT7sc5uGqI0CQm6g277cAu+3HfXRJVHTb4dFUuMxpowyb6h3vWgCBFEM2r
+d/SyOmsuoX98qRfBR1Gz5j1naJDf2Dd0LQIR0tBklvQGhSMHFFVQeosyJg8XvppT
+4QPA6Cf/BpZ0XSkMqyH1riI8Lye4O7bFukFYjuhfulaXCDYn2qbwzCcRUvub5ZKq
+PfFiPq67uAlS5uXTAgMBAAGjLzAtMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYI
+KwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQCl7BSE1SdxOOfx
+Xzh/lg+nXa2dv13562bVYepb1ck+c6FiiqUlYI+Q+584LR1C7Ofb9TT8SlcZ6ymD
+rqSPlCydwN3fbCnYyZ/sB+cYgI47kgrxLucfC9W3udmpOc9Go3rslX9NCpm66Mqp
+TupIueMhrW4gjdvFfZ2UafDQjrMyOWdCfCLkJaXTUQ5liVKQY7S/xY4seczFt+UA
+mFv49gGxg8vuosu6T8Smix/6+k9Dt+l1VEMb4D3VmxVtPcIxn0IQvp+hZwv1S62k
+i8vKP76tFshvekIzcTkioe570D/7HMa/kBcYDQ8AGBVPL097+yYFBeXeKV6tCVXm
+1sXeJ6Zs
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/client_1_ca.pem b/chromium/net/data/ssl/certificates/client_1_ca.pem
new file mode 100644
index 00000000000..5426bf448ec
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client_1_ca.pem
@@ -0,0 +1,71 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=C Root CA
+ Validity
+ Not Before: Apr 22 21:58:52 2013 GMT
+ Not After : Apr 20 21:58:52 2023 GMT
+ Subject: CN=B CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:ca:2b:37:8c:21:be:73:36:40:67:43:2a:89:9c:
+ 3f:43:88:8b:34:8e:3e:34:cd:ee:32:5e:f2:a2:22:
+ f8:d9:7f:c6:96:b7:e1:52:7f:91:3e:81:4a:a9:35:
+ 63:03:d7:3c:38:c5:0d:b8:a6:b0:be:b0:c5:b8:b9:
+ 6c:34:fc:f2:9a:25:7c:37:cf:04:e6:c4:9b:00:5a:
+ b2:d3:9e:6c:85:97:92:0a:44:08:8d:32:2b:9b:50:
+ 9a:e4:bd:61:db:49:d7:40:6b:72:15:6a:a3:75:52:
+ 31:65:44:e0:bd:c1:bf:6e:b6:71:71:29:fd:98:67:
+ b9:62:62:d9:7b:a7:cb:4f:93:70:f9:1c:2c:83:42:
+ 2a:dc:4b:e8:2d:51:3c:ef:f0:4b:a3:2b:db:7f:6d:
+ 73:11:21:55:33:90:7c:94:29:2a:8c:3a:7b:22:b3:
+ 9e:30:16:d1:41:64:7c:4d:83:79:5f:8f:c4:ec:21:
+ e4:0c:14:95:1e:ec:d7:d0:f7:d7:44:f5:93:48:01:
+ bf:e9:99:06:7e:2e:d4:e9:87:88:3f:46:f1:7c:c3:
+ 07:5a:8b:b7:16:72:dc:35:d4:69:e3:33:68:45:79:
+ 1a:35:26:37:08:4e:12:57:02:34:24:45:ec:2f:19:
+ ab:d5:7a:b6:20:db:93:0a:0d:f4:77:1d:27:15:37:
+ 54:2b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 93:c0:c7:af:77:e2:52:21:1f:59:b4:d1:df:d7:43:cc:31:73:
+ 2b:76:3a:d9:ec:e0:ab:1d:e0:8d:7f:e4:16:2d:06:40:d1:c1:
+ 97:be:65:d0:e6:4b:c3:a3:6a:e9:0c:5b:86:f6:49:eb:e2:f0:
+ 07:95:ee:37:7f:10:df:ce:2f:5b:4e:70:24:5b:47:1f:f5:d8:
+ 8e:0a:7c:4d:54:e2:e6:a7:0a:15:c6:16:a4:0f:79:03:22:a3:
+ 76:23:6d:e6:1e:ce:81:84:39:ec:b8:f7:e8:0a:a2:1f:93:fa:
+ 60:92:df:35:c2:23:0d:5c:74:70:74:46:fc:b4:47:83:81:ee:
+ a6:c7:03:90:26:78:84:1f:3d:c4:39:16:a1:f0:aa:13:9a:be:
+ 6b:2d:ad:3f:5d:e2:57:45:60:6b:56:2a:e3:00:50:29:bb:41:
+ 87:ba:c8:21:82:dd:57:68:4f:cd:ea:11:2a:9a:93:c7:c3:af:
+ 2f:fb:0d:a5:40:59:2a:22:ac:df:98:3d:2a:ea:1e:c5:e8:03:
+ c6:0d:b4:2d:10:c6:a0:b5:e8:61:fd:b7:07:82:54:80:68:21:
+ 05:db:d4:d7:1f:5f:62:93:21:a2:cd:b8:08:f0:06:86:04:93:
+ aa:b2:a3:64:4c:2f:47:78:0e:b1:a2:1c:b1:50:72:f4:86:cc:
+ 07:2a:a6:cb
+-----BEGIN CERTIFICATE-----
+MIICwjCCAaqgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwFDESMBAGA1UEAwwJQyBS
+b290IENBMB4XDTEzMDQyMjIxNTg1MloXDTIzMDQyMDIxNTg1MlowDzENMAsGA1UE
+AwwEQiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMorN4whvnM2
+QGdDKomcP0OIizSOPjTN7jJe8qIi+Nl/xpa34VJ/kT6BSqk1YwPXPDjFDbimsL6w
+xbi5bDT88polfDfPBObEmwBastOebIWXkgpECI0yK5tQmuS9YdtJ10BrchVqo3VS
+MWVE4L3Bv262cXEp/ZhnuWJi2Xuny0+TcPkcLINCKtxL6C1RPO/wS6Mr239tcxEh
+VTOQfJQpKow6eyKznjAW0UFkfE2DeV+PxOwh5AwUlR7s19D310T1k0gBv+mZBn4u
+1OmHiD9G8XzDB1qLtxZy3DXUaeMzaEV5GjUmNwhOElcCNCRF7C8Zq9V6tiDbkwoN
+9HcdJxU3VCsCAwEAAaMjMCEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAJPAx6934lIhH1m00d/XQ8wxcyt2Otns4Ksd
+4I1/5BYtBkDRwZe+ZdDmS8OjaukMW4b2Sevi8AeV7jd/EN/OL1tOcCRbRx/12I4K
+fE1U4uanChXGFqQPeQMio3YjbeYezoGEOey49+gKoh+T+mCS3zXCIw1cdHB0Rvy0
+R4OB7qbHA5AmeIQfPcQ5FqHwqhOavmstrT9d4ldFYGtWKuMAUCm7QYe6yCGC3Vdo
+T83qESqak8fDry/7DaVAWSoirN+YPSrqHsXoA8YNtC0QxqC16GH9tweCVIBoIQXb
+1NcfX2KTIaLNuAjwBoYEk6qyo2RML0d4DrGiHLFQcvSGzAcqpss=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/client_2.key b/chromium/net/data/ssl/certificates/client_2.key
new file mode 100644
index 00000000000..966a4c14026
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client_2.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvSAJxKBJi2mnSqYIkxVLZHUz/WDoigJuFU95CzOlT3uTtamU
+cBV3Wj+j8FFObvtOwaGqNhzEI/B1lL75NMYIHA5hRHLgIHMj2rDXAIrSN0/zQKae
+vAkY4lDqAGIWJipu6R7ImXedmDMCGR6JNBN5zF1KuRBBrlOKyGFMMGx//D6KvEnq
+BXdGERADto1szBljLYV/l9KSBijU9050gMOnykkapheB7e2OlZdzr8nvBCrexJpi
+5ffU3AJPty6oROMxuZvg/DvN6v/PWsRM+n8yHoxeg43bKGU5MnIVD4I86P6Q05Bh
+vzmr/apeHiYVccX0EHdqhUf56W2QqTul2Mab9QIDAQABAoIBAQCIAnFj6Y3aZ8n6
+gjsqY6cLgMo5zyaMkcDPLI81QhgBeDK681Cf5qAl1By26BIK+EokMHozXi6kVfqJ
+VWnszPnqC2FiE2chjwxa6tBEQJF7W9DpTqpbOgOeRmhyjBe3rM6EcjH7RC2e1hgN
+LounWtY95V2mh41krAnjny1mqbDFGoy5Wa4cJXdlJa7rm7yV3G871m9zP4tt3Aw+
+w2nX0+U0QtZN+LiFr5M2bNtfEukjd4z9mhpiVYHTG6M5HcxUw1gpCCNJ4oEHlV0T
+c21pZg2OFmkU+83QyeanWXWQtriPT5Jgs8H/pvEiCjE0sxOvgICB8L8NYJxGTQMQ
+UiGNeGNBAoGBANySFy1PW5hRHobY/p1QjnJvvBwGJRUI7FYLkXv+8ZVEScYs9NMH
+MRygkkzEvadnD19WJ2WoOsq2p8RFjjOtyozb3Q24/qpUr1qNKkx0xEjnPhlYd7sh
+iex9F4RgjNCFW2K/F1YcNMo8dm05PC0uaIKLz824DdTCnp8p/pGhEp5xAoGBANuA
+5tfnOqAbhrj1uaeI67tzJBtsAlPFgTpBNRPzt/vfXUoSlHq7vQ3VzGtaJVLykiv9
+Q3e2ShwuX4jcFl59u20WGlCFskjG/wbKhkZkEUqEqIhiEP+qx9BX8z6Sa0zMZxoc
+lkZfZSYDu9AXymVlEUfPuXYE1TzKa2fxkZiv8x/FAoGAde8Cx24z+jf9S3qAgNqO
+n29Qs+cxMpMH0mXzDspcn0PY8kYdTSv+PWE5eCSFhxlapc3p2LffX33UK+RIySb2
+MuRnyCuOtsH61D7ATAru3FAP6vtbYUnodfLYfSYmhGOZXi3wK1F/hFZZt8KvgzTa
+Glro7ASqGIVKzK1meLUXwHECgYEAqvH9VYGH367wQdVkq7vvUkG+ifiY62KyXIrx
+6kLxMx/mSEymA9t3xXGOzMActzegbM/FnlKB7uaSkkRMy3QB5lfDUJh+mz0W2dQZ
+tHI0ISOlGOm+sU3wZSpJjp57IAlD9krzIYUjgfKAbvRINKT8Sz/UALyM0NYXxZCV
+QiMtJb0CgYBV9tKcQOckZH90rk7DOcvW9tVy6bbEJcTO1/r2Sn15rjhDkm6X4pY8
+HM5hUHEhVlGgszj1wPaAKSQlhBawDvy4MJPmWKsjVKp6euz4xpYtF9cvZ2PF4B4y
+P4TkPZMgEMU3tyn1Dgc9w5X8m1R0WRaXJghrCQebREFSbb2pyMDSpA==
+-----END RSA PRIVATE KEY-----
diff --git a/chromium/net/data/ssl/certificates/client_2.pem b/chromium/net/data/ssl/certificates/client_2.pem
new file mode 100644
index 00000000000..c07753577af
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client_2.pem
@@ -0,0 +1,72 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=E CA
+ Validity
+ Not Before: Apr 22 21:58:52 2013 GMT
+ Not After : Apr 20 21:58:52 2023 GMT
+ Subject: CN=Client Cert D
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:bd:20:09:c4:a0:49:8b:69:a7:4a:a6:08:93:15:
+ 4b:64:75:33:fd:60:e8:8a:02:6e:15:4f:79:0b:33:
+ a5:4f:7b:93:b5:a9:94:70:15:77:5a:3f:a3:f0:51:
+ 4e:6e:fb:4e:c1:a1:aa:36:1c:c4:23:f0:75:94:be:
+ f9:34:c6:08:1c:0e:61:44:72:e0:20:73:23:da:b0:
+ d7:00:8a:d2:37:4f:f3:40:a6:9e:bc:09:18:e2:50:
+ ea:00:62:16:26:2a:6e:e9:1e:c8:99:77:9d:98:33:
+ 02:19:1e:89:34:13:79:cc:5d:4a:b9:10:41:ae:53:
+ 8a:c8:61:4c:30:6c:7f:fc:3e:8a:bc:49:ea:05:77:
+ 46:11:10:03:b6:8d:6c:cc:19:63:2d:85:7f:97:d2:
+ 92:06:28:d4:f7:4e:74:80:c3:a7:ca:49:1a:a6:17:
+ 81:ed:ed:8e:95:97:73:af:c9:ef:04:2a:de:c4:9a:
+ 62:e5:f7:d4:dc:02:4f:b7:2e:a8:44:e3:31:b9:9b:
+ e0:fc:3b:cd:ea:ff:cf:5a:c4:4c:fa:7f:32:1e:8c:
+ 5e:83:8d:db:28:65:39:32:72:15:0f:82:3c:e8:fe:
+ 90:d3:90:61:bf:39:ab:fd:aa:5e:1e:26:15:71:c5:
+ f4:10:77:6a:85:47:f9:e9:6d:90:a9:3b:a5:d8:c6:
+ 9b:f5
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ Signature Algorithm: sha1WithRSAEncryption
+ 05:33:9d:86:a9:81:49:a9:5c:57:41:67:30:2a:b3:92:d5:96:
+ f4:fc:4f:9a:ad:2a:18:f9:66:7e:e8:3a:ac:ef:6c:42:53:60:
+ 1b:99:cc:aa:bd:78:ef:d7:d7:d1:52:04:3f:c6:d5:ea:ec:51:
+ d1:88:1f:ad:05:a7:16:12:2c:f9:7f:79:0f:10:70:de:a6:d1:
+ 62:93:68:57:5d:a0:bd:95:0f:ba:82:37:66:77:d6:48:1f:ab:
+ 10:aa:bd:1d:46:9c:23:d6:fa:2f:c2:3d:38:8e:84:7e:7a:62:
+ f5:6f:6d:c3:68:95:6f:4f:99:ec:2c:d6:6c:22:aa:a3:0a:d0:
+ 09:d8:0f:19:5f:75:5d:65:6e:31:76:f9:b9:43:6b:f6:fa:22:
+ 70:ff:c0:fa:03:f6:22:89:5c:69:9d:9b:fb:f8:a0:e8:76:66:
+ 64:32:db:51:23:fb:58:e0:67:68:24:15:58:81:78:c3:80:7e:
+ 79:d7:1e:5e:bf:9c:82:04:cf:c8:34:6a:c7:1e:75:92:0d:45:
+ d5:83:a3:5b:e7:3f:49:ed:7e:a0:f7:8b:6c:45:45:4d:f9:c0:
+ 1a:5c:17:50:93:35:87:1e:7e:12:dc:41:fc:6b:2c:f7:ac:97:
+ 6c:91:ba:47:22:91:99:36:45:74:14:f2:62:5b:e0:b1:59:ba:
+ 53:f4:34:1c
+-----BEGIN CERTIFICATE-----
+MIIC0jCCAbqgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAwwERSBD
+QTAeFw0xMzA0MjIyMTU4NTJaFw0yMzA0MjAyMTU4NTJaMBgxFjAUBgNVBAMMDUNs
+aWVudCBDZXJ0IEQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9IAnE
+oEmLaadKpgiTFUtkdTP9YOiKAm4VT3kLM6VPe5O1qZRwFXdaP6PwUU5u+07Boao2
+HMQj8HWUvvk0xggcDmFEcuAgcyPasNcAitI3T/NApp68CRjiUOoAYhYmKm7pHsiZ
+d52YMwIZHok0E3nMXUq5EEGuU4rIYUwwbH/8Poq8SeoFd0YREAO2jWzMGWMthX+X
+0pIGKNT3TnSAw6fKSRqmF4Ht7Y6Vl3Ovye8EKt7EmmLl99TcAk+3LqhE4zG5m+D8
+O83q/89axEz6fzIejF6DjdsoZTkychUPgjzo/pDTkGG/Oav9ql4eJhVxxfQQd2qF
+R/npbZCpO6XYxpv1AgMBAAGjLzAtMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYI
+KwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQAFM52GqYFJqVxX
+QWcwKrOS1Zb0/E+arSoY+WZ+6Dqs72xCU2AbmcyqvXjv19fRUgQ/xtXq7FHRiB+t
+BacWEiz5f3kPEHDeptFik2hXXaC9lQ+6gjdmd9ZIH6sQqr0dRpwj1vovwj04joR+
+emL1b23DaJVvT5nsLNZsIqqjCtAJ2A8ZX3VdZW4xdvm5Q2v2+iJw/8D6A/YiiVxp
+nZv7+KDodmZkMttRI/tY4GdoJBVYgXjDgH551x5ev5yCBM/INGrHHnWSDUXVg6Nb
+5z9J7X6g94tsRUVN+cAaXBdQkzWHHn4S3EH8ayz3rJdskbpHIpGZNkV0FPJiW+Cx
+WbpT9DQc
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/client_2_ca.pem b/chromium/net/data/ssl/certificates/client_2_ca.pem
new file mode 100644
index 00000000000..220a477d5c3
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/client_2_ca.pem
@@ -0,0 +1,71 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=C Root CA
+ Validity
+ Not Before: Apr 22 21:58:52 2013 GMT
+ Not After : Apr 20 21:58:52 2023 GMT
+ Subject: CN=E CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:e6:0b:39:56:df:1c:f7:69:44:73:00:91:ad:ef:
+ 0a:31:1d:86:ca:67:b7:f5:bd:a8:34:d2:7d:af:3b:
+ 46:61:98:d6:b6:ea:97:60:d8:1a:91:87:1e:b3:89:
+ f6:eb:8f:05:f4:7b:0b:77:3a:4c:7e:04:14:ce:60:
+ 2f:f8:8c:c4:45:07:0b:86:ad:9e:97:58:20:90:4a:
+ 16:90:f3:6e:7d:4e:92:f9:2b:bf:62:99:d6:86:38:
+ 53:a4:33:79:df:7e:64:2b:8e:86:c0:c6:5a:87:73:
+ 69:f5:5f:89:d5:3b:d7:f4:e4:1e:78:15:38:89:ff:
+ 87:a9:7a:85:b9:4c:20:c6:44:7d:3a:d1:10:59:86:
+ 7e:0f:d4:0c:a7:48:f8:42:7e:61:0a:bf:2b:4f:03:
+ 3d:ac:f5:0f:01:5b:65:3b:fd:82:a1:8c:40:c7:8e:
+ 24:e4:75:17:92:1c:76:e8:6c:f6:44:de:ee:90:d9:
+ cd:40:7c:70:50:91:23:a0:f5:c5:3c:9b:7e:5f:0d:
+ 54:4d:b7:67:ce:1f:99:50:bf:da:a8:33:4f:6c:b3:
+ aa:4b:af:59:87:25:4a:8c:87:56:66:15:13:8a:58:
+ 5a:9f:0a:fa:0e:34:8a:7a:cc:ac:9e:0e:c9:53:22:
+ b9:60:ae:32:b9:bc:5a:51:53:f9:f5:91:83:9e:df:
+ 4b:77
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 46:32:41:a6:8c:f8:2e:56:59:6a:e6:c0:2e:85:1b:49:19:ba:
+ 63:ee:5d:44:c1:91:f3:4b:1a:2c:e9:fd:d7:5f:0e:24:63:6a:
+ ea:5f:37:fd:ad:db:54:ad:a8:2b:10:f7:7c:86:98:39:62:ad:
+ 50:bb:c4:f5:e1:4d:1f:12:30:83:cc:a9:cb:c7:5e:f9:d9:ee:
+ 95:8f:d2:5a:f6:24:45:09:f6:66:44:76:79:e4:49:08:3b:ca:
+ c7:09:7c:f6:26:07:9c:01:70:38:cd:57:3f:16:ad:af:82:42:
+ 4d:7e:e4:45:ed:0e:8d:83:a0:7a:56:8b:3f:21:52:db:6b:ca:
+ ab:bb:f0:17:10:e9:83:af:fd:4a:ea:32:61:ea:ec:fe:42:67:
+ fd:a2:2e:7a:3d:d7:9f:ff:f0:59:8b:a6:54:4d:77:f2:0c:4f:
+ c4:71:7e:8c:f0:3b:4b:72:6d:f7:28:35:0f:96:42:61:bf:28:
+ 44:a2:7c:86:43:65:aa:3d:c1:6d:cf:41:f3:23:d3:96:ea:d4:
+ e0:72:78:04:d9:ff:7e:7c:fc:bf:88:f9:e2:64:80:47:52:97:
+ 42:11:07:90:3c:31:35:c2:f9:83:88:e7:59:3f:f4:06:f4:b8:
+ 07:35:14:56:1f:73:b9:a5:c3:95:47:20:4d:e0:8e:41:bd:c5:
+ 7b:88:15:d6
+-----BEGIN CERTIFICATE-----
+MIICwjCCAaqgAwIBAgICAO0wDQYJKoZIhvcNAQEFBQAwFDESMBAGA1UEAwwJQyBS
+b290IENBMB4XDTEzMDQyMjIxNTg1MloXDTIzMDQyMDIxNTg1MlowDzENMAsGA1UE
+AwwERSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOYLOVbfHPdp
+RHMAka3vCjEdhspnt/W9qDTSfa87RmGY1rbql2DYGpGHHrOJ9uuPBfR7C3c6TH4E
+FM5gL/iMxEUHC4atnpdYIJBKFpDzbn1Okvkrv2KZ1oY4U6Qzed9+ZCuOhsDGWodz
+afVfidU71/TkHngVOIn/h6l6hblMIMZEfTrREFmGfg/UDKdI+EJ+YQq/K08DPaz1
+DwFbZTv9gqGMQMeOJOR1F5Icduhs9kTe7pDZzUB8cFCRI6D1xTybfl8NVE23Z84f
+mVC/2qgzT2yzqkuvWYclSoyHVmYVE4pYWp8K+g40inrMrJ4OyVMiuWCuMrm8WlFT
++fWRg57fS3cCAwEAAaMjMCEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAEYyQaaM+C5WWWrmwC6FG0kZumPuXUTBkfNL
+Gizp/ddfDiRjaupfN/2t21StqCsQ93yGmDlirVC7xPXhTR8SMIPMqcvHXvnZ7pWP
+0lr2JEUJ9mZEdnnkSQg7yscJfPYmB5wBcDjNVz8Wra+CQk1+5EXtDo2DoHpWiz8h
+Uttryqu78BcQ6YOv/UrqMmHq7P5CZ/2iLno915//8FmLplRNd/IMT8RxfozwO0ty
+bfcoNQ+WQmG/KESifIZDZao9wW3PQfMj05bq1OByeATZ/358/L+I+eJkgEdSl0IR
+B5A8MTXC+YOI51k/9Ab0uAc1FFYfc7mlw5VHIE3gjkG9xXuIFdY=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/comodo.chain.pem b/chromium/net/data/ssl/certificates/comodo.chain.pem
new file mode 100644
index 00000000000..88699ac0c08
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/comodo.chain.pem
@@ -0,0 +1,317 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ f7:8b:13:b9:46:fc:96:35:d8:ab:49:de:9d:21:48:21
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Extended Validation Secure Server CA
+ Validity
+ Not Before: May 29 00:00:00 2013 GMT
+ Not After : Jun 20 23:59:59 2015 GMT
+ Subject: serialNumber=-na/1.3.6.1.4.1.311.60.2.1.3=GB/businessCategory=Private Organization, C=GB/postalCode=M5 3EQ, ST=Greater Manchester, L=Salford,/street=Exchange Quay, Trafford Road/street=26 Office Village,/street=3rd Floor,, O=Comodo CA Ltd, OU=Comodo EV SGC SSL, OU=COMODO EV SGC SSL, CN=www.comodo.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:a7:ad:ff:5f:d0:7d:1d:97:78:f7:da:f8:77:da:
+ 86:d2:11:ec:83:b1:4b:fd:8d:75:f2:44:9c:18:db:
+ d5:fa:ca:3e:17:8c:a3:23:36:e9:03:7d:04:6f:2f:
+ e2:c0:f8:74:23:b6:f6:47:a5:b0:91:b4:78:49:64:
+ 91:10:71:19:63:4c:9d:19:90:1d:1e:b8:92:cf:93:
+ 9f:5f:f6:53:db:68:b5:07:29:a2:82:92:3a:cd:c0:
+ a4:02:2a:87:c3:38:36:e5:86:6d:e6:d7:bd:73:97:
+ 64:b8:a7:1e:9d:a0:58:11:42:73:5e:7e:1e:5e:96:
+ a2:0d:1b:b9:56:56:bd:2a:ce:52:b7:b2:a2:e8:1b:
+ d7:75:f7:32:80:58:b4:04:96:ae:b7:be:f5:b5:7b:
+ df:46:94:28:f1:36:80:d1:f2:78:65:55:d8:6d:fa:
+ 8b:f6:1d:69:5a:a3:ba:40:41:f2:17:a0:5c:9b:81:
+ 6a:56:e4:02:7f:0c:63:40:8c:b2:26:d8:16:f3:55:
+ f8:a1:00:db:71:60:95:b3:7d:f6:b1:1c:a9:1d:76:
+ 90:41:72:1e:11:2a:83:16:98:e0:a3:61:69:a8:39:
+ 4a:a7:1e:14:de:b4:07:9f:59:53:e3:6f:88:61:2b:
+ 1d:22:c4:92:bf:ba:65:23:ee:e8:76:f3:32:40:b0:
+ f0:c7
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Authority Key Identifier:
+ keyid:88:44:51:FF:50:2A:69:5E:2D:88:F4:21:BA:D9:0C:F2:CE:CB:EA:7C
+
+ X509v3 Subject Key Identifier:
+ B2:E0:EB:4A:E7:C6:1C:27:0A:54:4F:C4:00:AA:E1:6A:2C:14:91:C3
+ X509v3 Key Usage: critical
+ Digital Signature, Key Encipherment
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication, Microsoft Server Gated Crypto, Netscape Server Gated Crypto
+ X509v3 Certificate Policies:
+ Policy: 1.3.6.1.4.1.6449.1.2.1.5.1
+ CPS: https://secure.comodo.com/CPS
+
+ X509v3 CRL Distribution Points:
+
+ Full Name:
+ URI:http://crl.comodoca.com/COMODOExtendedValidationSecureServerCA.crl
+
+ Authority Information Access:
+ CA Issuers - URI:http://crt.comodoca.com/COMODOExtendedValidationSecureServerCA.crt
+ OCSP - URI:http://ocsp.comodoca.com
+
+ X509v3 Subject Alternative Name:
+ DNS:www.comodo.com, DNS:comodo.com
+ Signature Algorithm: sha1WithRSAEncryption
+ a4:c4:55:e9:b6:8f:09:b4:34:ea:22:6c:32:71:97:fb:c4:93:
+ ce:d3:f3:28:f0:16:f6:3f:6e:6f:ff:3f:03:f6:d4:51:d5:a5:
+ 1a:4f:b1:91:e4:49:7e:e1:d0:5b:30:1c:e9:3b:36:5e:48:97:
+ 1a:5c:f5:2f:3a:b3:51:cb:b7:db:fa:f2:a2:e7:45:ab:1a:23:
+ 70:ce:15:8e:9c:2c:6e:21:c9:03:ad:94:92:f3:20:d3:dd:43:
+ 13:91:58:20:b9:a1:e1:83:86:bd:e8:46:e3:74:2a:c8:26:c2:
+ 3a:16:98:cd:d4:b1:82:75:4f:3e:02:87:56:5f:af:5e:b4:e1:
+ 2d:05:c2:f0:2b:bc:5a:1f:dc:3c:05:03:0a:c5:29:b5:1d:94:
+ 69:dd:af:d5:46:c3:69:bc:b8:1c:40:08:39:8f:76:29:5d:a2:
+ 4b:fa:1f:2f:68:a3:88:64:80:e8:7a:1d:74:2e:29:02:e2:57:
+ 94:57:dd:c8:1d:03:67:46:84:c1:2a:be:ef:05:f7:47:da:02:
+ 01:1e:10:f2:14:02:7f:66:d2:a9:a6:e4:28:59:fd:fc:ea:25:
+ f5:7f:eb:f6:7a:4e:ed:74:66:54:62:db:db:30:9b:cd:c4:c6:
+ 74:89:69:13:ed:32:8d:92:c7:a2:48:e4:2b:42:89:1f:31:6e:
+ f3:44:9f:f8
+-----BEGIN CERTIFICATE-----
+MIIGVDCCBTygAwIBAgIRAPeLE7lG/JY12KtJ3p0hSCEwDQYJKoZIhvcNAQEFBQAw
+gY4xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
+BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTQwMgYD
+VQQDEytDT01PRE8gRXh0ZW5kZWQgVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB
+MB4XDTEzMDUyOTAwMDAwMFoXDTE1MDYyMDIzNTk1OVowggFTMQwwCgYDVQQFEwMt
+bmExEzARBgsrBgEEAYI3PAIBAxMCR0IxHTAbBgNVBA8TFFByaXZhdGUgT3JnYW5p
+emF0aW9uMQswCQYDVQQGEwJHQjEPMA0GA1UEERMGTTUgM0VRMRswGQYDVQQIExJH
+cmVhdGVyIE1hbmNoZXN0ZXIxETAPBgNVBAcTCFNhbGZvcmQsMSYwJAYDVQQJEx1F
+eGNoYW5nZSBRdWF5LCAgVHJhZmZvcmQgUm9hZDEbMBkGA1UECRMSMjYgT2ZmaWNl
+IFZpbGxhZ2UsMRMwEQYDVQQJEwozcmQgRmxvb3IsMRYwFAYDVQQKEw1Db21vZG8g
+Q0EgTHRkMRowGAYDVQQLExFDb21vZG8gRVYgU0dDIFNTTDEaMBgGA1UECxMRQ09N
+T0RPIEVWIFNHQyBTU0wxFzAVBgNVBAMTDnd3dy5jb21vZG8uY29tMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp63/X9B9HZd499r4d9qG0hHsg7FL/Y11
+8kScGNvV+so+F4yjIzbpA30Eby/iwPh0I7b2R6WwkbR4SWSREHEZY0ydGZAdHriS
+z5OfX/ZT22i1BymigpI6zcCkAiqHwzg25YZt5te9c5dkuKcenaBYEUJzXn4eXpai
+DRu5Vla9Ks5St7Ki6BvXdfcygFi0BJaut771tXvfRpQo8TaA0fJ4ZVXYbfqL9h1p
+WqO6QEHyF6Bcm4FqVuQCfwxjQIyyJtgW81X4oQDbcWCVs332sRypHXaQQXIeESqD
+Fpjgo2FpqDlKpx4U3rQHn1lT42+IYSsdIsSSv7plI+7odvMyQLDwxwIDAQABo4IB
+4zCCAd8wHwYDVR0jBBgwFoAUiERR/1AqaV4tiPQhutkM8s7L6nwwHQYDVR0OBBYE
+FLLg60rnxhwnClRPxACq4WosFJHDMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8E
+AjAAMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNwoDAwYJ
+YIZIAYb4QgQBMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQUBMCswKQYIKwYBBQUH
+AgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMFMGA1UdHwRMMEowSKBG
+oESGQmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0V4dGVuZGVkVmFsaWRh
+dGlvblNlY3VyZVNlcnZlckNBLmNybDCBhAYIKwYBBQUHAQEEeDB2ME4GCCsGAQUF
+BzAChkJodHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9FeHRlbmRlZFZhbGlk
+YXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw
+LmNvbW9kb2NhLmNvbTAlBgNVHREEHjAcgg53d3cuY29tb2RvLmNvbYIKY29tb2Rv
+LmNvbTANBgkqhkiG9w0BAQUFAAOCAQEApMRV6baPCbQ06iJsMnGX+8STztPzKPAW
+9j9ub/8/A/bUUdWlGk+xkeRJfuHQWzAc6Ts2XkiXGlz1LzqzUcu32/ryoudFqxoj
+cM4VjpwsbiHJA62UkvMg091DE5FYILmh4YOGvehG43QqyCbCOhaYzdSxgnVPPgKH
+Vl+vXrThLQXC8Cu8Wh/cPAUDCsUptR2Uad2v1UbDaby4HEAIOY92KV2iS/ofL2ij
+iGSA6HoddC4pAuJXlFfdyB0DZ0aEwSq+7wX3R9oCAR4Q8hQCf2bSqabkKFn9/Ool
+9X/r9npO7XRmVGLb2zCbzcTGdIlpE+0yjZLHokjkK0KJHzFu80Sf+A==
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ 11:a3:b4:d0:ec:8d:b7:7f:9d:a0:cd:5d:2d:51:2f:42
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Certification Authority
+ Validity
+ Not Before: May 24 00:00:00 2010 GMT
+ Not After : May 30 10:48:38 2020 GMT
+ Subject: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Extended Validation Secure Server CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:cc:4a:96:33:cd:25:8d:67:ee:28:96:37:87:46:
+ f0:f6:04:a2:84:7f:53:aa:96:e6:1f:b1:02:1c:6e:
+ ed:7d:21:d4:d7:3c:1e:a2:d8:69:2f:a8:b7:f5:a2:
+ ed:64:58:64:e1:44:65:36:49:41:20:01:8d:3b:13:
+ e2:08:f3:0c:f2:57:39:93:37:b7:1c:93:44:83:8e:
+ bf:2d:f1:a1:05:75:da:6e:ee:7b:6f:1b:ea:76:83:
+ 28:74:4a:1c:2b:d3:f5:c4:03:72:93:af:86:ce:09:
+ 8c:3c:75:d4:c9:0a:2f:72:f3:ad:bd:0e:30:3c:84:
+ a1:73:1f:03:25:14:a5:8f:c3:d6:f4:b5:e4:dd:86:
+ 7a:f5:19:ba:68:f2:85:54:a2:30:11:ca:d1:92:cb:
+ 3b:74:06:12:a0:37:ab:6a:d8:54:11:df:6c:9a:16:
+ 94:b9:b4:a7:65:c6:74:2d:31:f3:4d:52:e9:55:51:
+ 9f:cb:3e:a2:8d:76:98:70:d2:6f:a6:65:45:2f:1b:
+ 85:bb:5b:6d:f9:f2:c0:04:66:13:84:7a:9d:ce:27:
+ d8:f4:44:9e:bf:ac:be:99:db:6b:4f:db:58:21:b0:
+ 89:27:b4:8f:32:d6:4b:5e:72:91:5e:df:05:9d:d9:
+ 49:2f:f4:b6:6f:50:1f:75:cb:80:9d:e6:d3:e4:d1:
+ f2:d3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Authority Key Identifier:
+ keyid:0B:58:E5:8B:C6:4C:15:37:A4:40:A9:30:A9:21:BE:47:36:5A:56:FF
+
+ X509v3 Subject Key Identifier:
+ 88:44:51:FF:50:2A:69:5E:2D:88:F4:21:BA:D9:0C:F2:CE:CB:EA:7C
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ X509v3 Basic Constraints: critical
+ CA:TRUE, pathlen:0
+ X509v3 Certificate Policies:
+ Policy: X509v3 Any Policy
+ CPS: https://secure.comodo.com/CPS
+
+ X509v3 CRL Distribution Points:
+
+ Full Name:
+ URI:http://crl.comodoca.com/COMODOCertificationAuthority.crl
+
+ Authority Information Access:
+ CA Issuers - URI:http://crt.comodoca.com/COMODOAddTrustServerCA.crt
+ OCSP - URI:http://ocsp.comodoca.com
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 9a:43:bf:af:a4:72:5e:cd:7d:6f:7f:f4:fc:3d:8c:bb:70:e6:
+ 1e:dd:04:fd:3f:dc:9d:9f:bf:89:76:9b:f2:86:31:fc:7f:b3:
+ ed:2a:91:53:2c:e2:aa:b0:e3:c8:2c:71:f7:15:8a:23:1c:f1:
+ 69:2e:81:fb:b1:bc:62:0b:ab:1a:54:1c:d9:22:5e:34:4c:a5:
+ f6:23:0f:5d:7a:3d:db:43:cd:69:7e:17:37:52:cd:53:a1:c2:
+ 11:d4:53:78:27:64:d5:89:41:4d:16:55:bb:90:cb:f0:d8:e4:
+ dd:dd:d3:09:64:48:28:ff:32:23:84:2f:8c:7b:55:2f:cf:29:
+ 88:37:34:78:0f:33:aa:ff:b7:f2:96:a4:9b:44:80:b5:be:6c:
+ 56:54:ab:a4:81:9e:25:18:28:54:3a:7f:2c:63:cf:59:20:8c:
+ 18:6b:38:2c:b4:dd:ed:e3:40:de:0c:36:25:57:9a:c0:d1:60:
+ 9e:5e:03:68:97:ae:1a:3b:ea:45:d7:51:99:49:ee:44:59:56:
+ 0b:5e:b1:8f:68:ea:8a:9e:ca:d2:c9:a0:03:7e:70:25:f4:32:
+ c9:4e:50:83:87:a2:34:48:3d:4f:35:77:fc:d8:88:ea:f6:7d:
+ 1e:ce:43:b6:d5:c2:6a:7e:38:66:63:4d:e7:ee:32:ef:0f:24:
+ e8:2a:67:fa
+-----BEGIN CERTIFICATE-----
+MIIFBjCCA+6gAwIBAgIQEaO00OyNt3+doM1dLVEvQjANBgkqhkiG9w0BAQUFADCB
+gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
+A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV
+BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xMDA1MjQwMDAw
+MDBaFw0yMDA1MzAxMDQ4MzhaMIGOMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
+YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P
+RE8gQ0EgTGltaXRlZDE0MDIGA1UEAxMrQ09NT0RPIEV4dGVuZGVkIFZhbGlkYXRp
+b24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAMxKljPNJY1n7iiWN4dG8PYEooR/U6qW5h+xAhxu7X0h1Nc8HqLYaS+ot/Wi
+7WRYZOFEZTZJQSABjTsT4gjzDPJXOZM3txyTRIOOvy3xoQV12m7ue28b6naDKHRK
+HCvT9cQDcpOvhs4JjDx11MkKL3Lzrb0OMDyEoXMfAyUUpY/D1vS15N2GevUZumjy
+hVSiMBHK0ZLLO3QGEqA3q2rYVBHfbJoWlLm0p2XGdC0x801S6VVRn8s+oo12mHDS
+b6ZlRS8bhbtbbfnywARmE4R6nc4n2PREnr+svpnba0/bWCGwiSe0jzLWS15ykV7f
+BZ3ZSS/0tm9QH3XLgJ3m0+TR8tMCAwEAAaOCAWkwggFlMB8GA1UdIwQYMBaAFAtY
+5YvGTBU3pECpMKkhvkc2Wlb/MB0GA1UdDgQWBBSIRFH/UCppXi2I9CG62Qzyzsvq
+fDAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADA+BgNVHSAENzA1
+MDMGBFUdIAAwKzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNv
+bS9DUFMwSQYDVR0fBEIwQDA+oDygOoY4aHR0cDovL2NybC5jb21vZG9jYS5jb20v
+Q09NT0RPQ2VydGlmaWNhdGlvbkF1dGhvcml0eS5jcmwwdAYIKwYBBQUHAQEEaDBm
+MD4GCCsGAQUFBzAChjJodHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9BZGRU
+cnVzdFNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2Rv
+Y2EuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQCaQ7+vpHJezX1vf/T8PYy7cOYe3QT9
+P9ydn7+JdpvyhjH8f7PtKpFTLOKqsOPILHH3FYojHPFpLoH7sbxiC6saVBzZIl40
+TKX2Iw9dej3bQ81pfhc3Us1TocIR1FN4J2TViUFNFlW7kMvw2OTd3dMJZEgo/zIj
+hC+Me1UvzymINzR4DzOq/7fylqSbRIC1vmxWVKukgZ4lGChUOn8sY89ZIIwYazgs
+tN3t40DeDDYlV5rA0WCeXgNol64aO+pF11GZSe5EWVYLXrGPaOqKnsrSyaADfnAl
+9DLJTlCDh6I0SD1PNXf82Ijq9n0ezkO21cJqfjhmY03n7jLvDyToKmf6
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ 6f:25:dc:15:af:df:5e:a3:08:56:0c:3b:7a:4f:c7:f8
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
+ Validity
+ Not Before: May 30 10:48:38 2000 GMT
+ Not After : May 30 10:48:38 2020 GMT
+ Subject: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Certification Authority
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:d0:40:8b:8b:72:e3:91:1b:f7:51:c1:1b:54:04:
+ 98:d3:a9:bf:c1:e6:8a:5d:3b:87:fb:bb:88:ce:0d:
+ e3:2f:3f:06:96:f0:a2:29:50:99:ae:db:3b:a1:57:
+ b0:74:51:71:cd:ed:42:91:4d:41:fe:a9:c8:d8:6a:
+ 86:77:44:bb:59:66:97:50:5e:b4:d4:2c:70:44:cf:
+ da:37:95:42:69:3c:30:c4:71:b3:52:f0:21:4d:a1:
+ d8:ba:39:7c:1c:9e:a3:24:9d:f2:83:16:98:aa:16:
+ 7c:43:9b:15:5b:b7:ae:34:91:fe:d4:62:26:18:46:
+ 9a:3f:eb:c1:f9:f1:90:57:eb:ac:7a:0d:8b:db:72:
+ 30:6a:66:d5:e0:46:a3:70:dc:68:d9:ff:04:48:89:
+ 77:de:b5:e9:fb:67:6d:41:e9:bc:39:bd:32:d9:62:
+ 02:f1:b1:a8:3d:6e:37:9c:e2:2f:e2:d3:a2:26:8b:
+ c6:b8:55:43:88:e1:23:3e:a5:d2:24:39:6a:47:ab:
+ 00:d4:a1:b3:a9:25:fe:0d:3f:a7:1d:ba:d3:51:c1:
+ 0b:a4:da:ac:38:ef:55:50:24:05:65:46:93:34:4f:
+ 2d:8d:ad:c6:d4:21:19:d2:8e:ca:05:61:71:07:73:
+ 47:e5:8a:19:12:bd:04:4d:ce:4e:9c:a5:48:ac:bb:
+ 26:f7
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Authority Key Identifier:
+ keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A
+
+ X509v3 Subject Key Identifier:
+ 0B:58:E5:8B:C6:4C:15:37:A4:40:A9:30:A9:21:BE:47:36:5A:56:FF
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Certificate Policies:
+ Policy: X509v3 Any Policy
+
+ X509v3 CRL Distribution Points:
+
+ Full Name:
+ URI:http://crl.usertrust.com/AddTrustExternalCARoot.crl
+
+ Authority Information Access:
+ CA Issuers - URI:http://crt.usertrust.com/AddTrustExternalCARoot.p7c
+ CA Issuers - URI:http://crt.usertrust.com/AddTrustUTNSGCCA.crt
+ OCSP - URI:http://ocsp.usertrust.com
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 07:60:93:99:aa:ce:d0:d3:47:d0:37:33:de:3f:64:b7:e5:2e:
+ a3:25:0c:d5:33:1d:0d:8d:ab:f6:7e:46:7b:59:06:92:e3:82:
+ c4:e7:f5:f6:f3:d9:05:cf:49:34:2d:37:5f:f4:25:c7:f0:fb:
+ 6b:23:77:f1:f1:40:d7:4c:bb:49:45:31:dd:00:28:67:b7:29:
+ 4c:75:a8:1f:79:31:c9:36:37:0f:ca:35:4f:8c:f1:7e:de:fc:
+ 46:ab:bf:68:9b:70:23:30:2e:b7:c5:5c:7b:8a:fb:18:13:79:
+ 4b:92:42:8c:dc:2c:ab:6c:22:b7:28:53:b3:1a:4a:ce:1b:fb:
+ 28:0e:b7:3a:a4:da:0d:f7:40:32:4f:df:6f:bb:01:50:fc:87:
+ d3:76:d9:fc:fb:b6:84:03:ca:c9:36:18:f7:dd:6c:db:bb:ba:
+ 81:1c:a6:ad:fe:28:f9:cf:b9:a2:71:5d:19:05:ea:4a:46:dc:
+ 73:41:ef:89:94:42:b1:43:88:6f:35:17:af:1e:60:83:ac:7a:
+ 8c:10:7b:9f:c9:f6:83:6d:9e:fa:88:ee:3e:dd:ee:9e:b0:bf:
+ e0:6a:b9:d0:9f:07:b2:09:13:9a:f5:a4:e5:c8:5b:79:a7:47:
+ 35:33:68:e5:55:9e:aa:5b:cb:30:0b:9d:c7:0f:bf:68:44:81:
+ 97:8b:51:4a
+-----BEGIN CERTIFICATE-----
+MIIE8TCCA9mgAwIBAgIQbyXcFa/fXqMIVgw7ek/H+DANBgkqhkiG9w0BAQUFADBv
+MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
+ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
+eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
+gYExCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
+BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMScwJQYD
+VQQDEx5DT01PRE8gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQDQQIuLcuORG/dRwRtUBJjTqb/B5opdO4f7u4jO
+DeMvPwaW8KIpUJmu2zuhV7B0UXHN7UKRTUH+qcjYaoZ3RLtZZpdQXrTULHBEz9o3
+lUJpPDDEcbNS8CFNodi6OXwcnqMknfKDFpiqFnxDmxVbt640kf7UYiYYRpo/68H5
+8ZBX66x6DYvbcjBqZtXgRqNw3GjZ/wRIiXfeten7Z21B6bw5vTLZYgLxsag9bjec
+4i/i06Imi8a4VUOI4SM+pdIkOWpHqwDUobOpJf4NP6cdutNRwQuk2qw471VQJAVl
+RpM0Ty2NrcbUIRnSjsoFYXEHc0flihkSvQRNzk6cpUisuyb3AgMBAAGjggF0MIIB
+cDAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73gJMtUGjAdBgNVHQ4EFgQUC1jl
+i8ZMFTekQKkwqSG+RzZaVv8wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB
+Af8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9j
+cmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVybmFsQ0FSb290LmNybDCBswYI
+KwYBBQUHAQEEgaYwgaMwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0
+LmNvbS9BZGRUcnVzdEV4dGVybmFsQ0FSb290LnA3YzA5BggrBgEFBQcwAoYtaHR0
+cDovL2NydC51c2VydHJ1c3QuY29tL0FkZFRydXN0VVROU0dDQ0EuY3J0MCUGCCsG
+AQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEBBQUA
+A4IBAQAHYJOZqs7Q00fQNzPeP2S35S6jJQzVMx0Njav2fkZ7WQaS44LE5/X289kF
+z0k0LTdf9CXH8PtrI3fx8UDXTLtJRTHdAChntylMdagfeTHJNjcPyjVPjPF+3vxG
+q79om3AjMC63xVx7ivsYE3lLkkKM3CyrbCK3KFOzGkrOG/soDrc6pNoN90AyT99v
+uwFQ/IfTdtn8+7aEA8rJNhj33Wzbu7qBHKat/ij5z7micV0ZBepKRtxzQe+JlEKx
+Q4hvNRevHmCDrHqMEHufyfaDbZ76iO4+3e6esL/garnQnweyCROa9aTlyFt5p0c1
+M2jlVZ6qW8swC53HD79oRIGXi1FK
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/crit-codeSigning-chain.pem b/chromium/net/data/ssl/certificates/crit-codeSigning-chain.pem
new file mode 100644
index 00000000000..516f84037d9
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/crit-codeSigning-chain.pem
@@ -0,0 +1,105 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvzKDpx0x9sOsDZBKBUMVs4yo7pXQT1lsfXeJTNiVErcCeSF9
+Igu2jYI3+qn03TYCcWpcgwJ86DWSuloTCOi/+xD4DKxQErJzFcl3hq8Q00r9tCNg
+7hmOup2hNYXOaC+U1tqC/TID9Gc8neJLHGkh2tfgbqemkFq6ObtYlA+hXy3kK+Tc
+7g7r+FHHWpOgj7ihc82EX+y4VT6GQov2tQqZXYSOQOcPcEru0AhGY+wOgJ2Ge4m8
+UNQmLxbmQDfqBplyRsUDqbTAjIE2nXpg9DT/vRufNW4ccSik4q1Wf/H2jAzONuL9
+79bhpBJdFad1bxJE6SOLVW2WLJQlD3VR2aUiUQIDAQABAoIBAQC7k6tlwFbMaZva
+kryL/QzFYjI6H/CGaIzvat7g7XsTKUjb3ecOB7/JhP+2hBcfD2XGLzsjrMUua6DQ
+Ap66Ft6CSluQ01ybe0c9ELKbCBXRtbjBihQGhDxrCUqnX+bogAXd4/KuxOrsVHw7
+yU83SE1WjoQ5C3F2Hgylpw938v22iXPvc+V6QjCGY1Apw75I/M3rmBHfyfVyUUYT
+Pt1UOZmhWq/gt0S5ACWDkFAxN/Ld2fyUTQM4q1PV1qR73KmxJr8y+SMTMVtx4V8n
+MFSiUeNan6xQUuI3iK4UCvi8TAFf8sKqM9vDte8wSaiC6TkJJTl+rnJtsyItVs5n
+eropLKIBAoGBAO8X374KqWREiFt/BKsjhs1upuyko7AgwHhSpkxHKqDSsOUITkym
+88+Pav/C/oExMIqRCMbz8F2V72Tu15sowVk4aFe35U+HxnWjhjCi1tI3Ujm0SGl0
+HPmEryhx6TuIj4Z901VH3mL9C8zab08n0ANYxn4aaQEOe1SOhX+KvnnZAoGBAMy3
+nbUMlVyactn757teQ0GHLnBERLYKOp7pmjx+SIUYrnPCPE2A+8ZF6Ron+5UvxtSu
+Kx4MRsOHbzI/4m+erbNX+OKN/4thLbzlokfAOJnV6n7kHeKZPVZVY3PQqr4WbN2a
+EwsVJ6gyBwGTqtXXRY7rJNPInN7i8U1ffKrkEmk5AoGBAIinqphiW6MVkKJLHQ38
+BkZQolPLXkuCzL947dfXLUQyaCzf7HDfU6ckn9GDUBfjV407jDq6nn2+/s8/vDfQ
+uYIXPXw1fXlRb1s5la8iw4nvWK3mnyS22wC6l6qUQOxoBzClpi6uHyuQ2jfB+bDS
+XpArI3hb+/xAnLkdpKvbTzcxAoGANWl22UT2N1oIuz0RQf6fF5q4kAwPzVsv3kRe
+vIfKTgeZhJRZ/XK4vguBfRSPfGYhv13N3CIh2GQerAKlBrBk65T5V8rqsKfjMhTL
+2WKaofCBJShJb9TBfyP6Nb5svfnF36+SZmLXnPeogk3P1ck72cUaL7N40mJtyN0v
+/rpQ32kCgYAF9pEUVyEmIFyPJCDyPqD8c4ZisONKd/MnLs6tYEYwxSkJq6QUTZe6
+0LWDp1Ohcg5V5Upg0pQotAPmLTQ77XPlLl92ByFdbakH/p8Q73Lv0j/y6c1BYeSn
+JQm2/uLDW4Zrp+UzD7z6km2GjyeVDxfbpaEHsXRhMfJLZdrI1ZJvyA==
+-----END RSA PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 RSA Test Root CA
+ Validity
+ Not Before: Jan 23 23:51:05 2013 GMT
+ Not After : Jan 21 23:51:05 2023 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:bf:32:83:a7:1d:31:f6:c3:ac:0d:90:4a:05:43:
+ 15:b3:8c:a8:ee:95:d0:4f:59:6c:7d:77:89:4c:d8:
+ 95:12:b7:02:79:21:7d:22:0b:b6:8d:82:37:fa:a9:
+ f4:dd:36:02:71:6a:5c:83:02:7c:e8:35:92:ba:5a:
+ 13:08:e8:bf:fb:10:f8:0c:ac:50:12:b2:73:15:c9:
+ 77:86:af:10:d3:4a:fd:b4:23:60:ee:19:8e:ba:9d:
+ a1:35:85:ce:68:2f:94:d6:da:82:fd:32:03:f4:67:
+ 3c:9d:e2:4b:1c:69:21:da:d7:e0:6e:a7:a6:90:5a:
+ ba:39:bb:58:94:0f:a1:5f:2d:e4:2b:e4:dc:ee:0e:
+ eb:f8:51:c7:5a:93:a0:8f:b8:a1:73:cd:84:5f:ec:
+ b8:55:3e:86:42:8b:f6:b5:0a:99:5d:84:8e:40:e7:
+ 0f:70:4a:ee:d0:08:46:63:ec:0e:80:9d:86:7b:89:
+ bc:50:d4:26:2f:16:e6:40:37:ea:06:99:72:46:c5:
+ 03:a9:b4:c0:8c:81:36:9d:7a:60:f4:34:ff:bd:1b:
+ 9f:35:6e:1c:71:28:a4:e2:ad:56:7f:f1:f6:8c:0c:
+ ce:36:e2:fd:ef:d6:e1:a4:12:5d:15:a7:75:6f:12:
+ 44:e9:23:8b:55:6d:96:2c:94:25:0f:75:51:d9:a5:
+ 22:51
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ A2:2A:EC:DD:31:B9:D2:D1:6A:21:8D:11:C1:2B:E5:1E:92:85:C4:06
+ X509v3 Extended Key Usage: critical
+ Code Signing
+ Signature Algorithm: sha1WithRSAEncryption
+ 6c:46:ce:18:06:16:77:8a:81:dc:aa:f9:b9:0d:af:ce:61:bf:
+ 3e:60:2c:c9:58:97:54:41:a9:14:44:4d:e7:b7:fa:3c:6f:09:
+ 92:d6:d2:5d:89:60:ef:ec:3d:62:f7:22:d9:df:e4:05:3b:23:
+ 2a:3c:f1:6f:f3:e9:9c:61:8f:b0:92:d2:67:81:aa:43:dc:37:
+ bc:27:e7:d8:59:ce:f9:cc:fd:b0:30:c3:8d:68:f0:bf:91:7c:
+ 3b:1a:7c:af:ef:23:1a:c2:1d:bc:be:c2:eb:06:9a:57:be:ed:
+ b6:9f:81:6f:86:35:22:68:2d:89:47:d6:80:ca:4a:91:05:6d:
+ 49:aa:88:9e:4b:3a:90:0b:72:4f:b4:af:44:5d:67:52:11:cf:
+ 6b:52:ac:db:48:23:aa:e0:53:f0:4c:49:98:62:70:d7:dc:2d:
+ c9:8d:5d:35:7c:e4:a9:50:d4:50:56:e1:d9:9a:7a:35:f7:11:
+ b6:98:f6:76:6d:33:7c:8b:1a:82:20:2c:ae:b5:93:f0:55:77:
+ da:f0:a2:86:e8:d4:4d:7f:e9:c0:e3:21:6e:bc:e9:af:9a:9a:
+ f3:cd:36:4f:db:6f:fe:de:1f:fa:20:de:ec:f6:63:d2:98:01:
+ f4:45:29:1f:88:a0:0b:5c:a8:4a:0e:87:c5:94:07:fb:60:79:
+ 13:a9:ce:1f
+-----BEGIN CERTIFICATE-----
+MIIDTzCCAjcCAgDtMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNVBAMMFTIwNDggUlNB
+IFRlc3QgUm9vdCBDQTAeFw0xMzAxMjMyMzUxMDVaFw0yMzAxMjEyMzUxMDVaMGAx
+CzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3Vu
+dGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQDDAkxMjcuMC4wLjEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/MoOnHTH2w6wNkEoFQxWz
+jKjuldBPWWx9d4lM2JUStwJ5IX0iC7aNgjf6qfTdNgJxalyDAnzoNZK6WhMI6L/7
+EPgMrFASsnMVyXeGrxDTSv20I2DuGY66naE1hc5oL5TW2oL9MgP0Zzyd4kscaSHa
+1+Bup6aQWro5u1iUD6FfLeQr5NzuDuv4Ucdak6CPuKFzzYRf7LhVPoZCi/a1Cpld
+hI5A5w9wSu7QCEZj7A6AnYZ7ibxQ1CYvFuZAN+oGmXJGxQOptMCMgTademD0NP+9
+G581bhxxKKTirVZ/8faMDM424v3v1uGkEl0Vp3VvEkTpI4tVbZYslCUPdVHZpSJR
+AgMBAAGjWDBWMA8GA1UdEQQIMAaHBH8AAAEwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
+FgQUoirs3TG50tFqIY0RwSvlHpKFxAYwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwMw
+DQYJKoZIhvcNAQEFBQADggEBAGxGzhgGFneKgdyq+bkNr85hvz5gLMlYl1RBqRRE
+Tee3+jxvCZLW0l2JYO/sPWL3Itnf5AU7Iyo88W/z6Zxhj7CS0meBqkPcN7wn59hZ
+zvnM/bAww41o8L+RfDsafK/vIxrCHby+wusGmle+7bafgW+GNSJoLYlH1oDKSpEF
+bUmqiJ5LOpALck+0r0RdZ1IRz2tSrNtII6rgU/BMSZhicNfcLcmNXTV85KlQ1FBW
+4dmaejX3EbaY9nZtM3yLGoIgLK61k/BVd9rwoobo1E1/6cDjIW686a+amvPNNk/b
+b/7eH/og3uz2Y9KYAfRFKR+IoAtcqEoOh8WUB/tgeROpzh8=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cross-signed-leaf.pem b/chromium/net/data/ssl/certificates/cross-signed-leaf.pem
new file mode 100644
index 00000000000..563c0575eab
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cross-signed-leaf.pem
@@ -0,0 +1,82 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Test Dup-Hash Root CA
+ Validity
+ Not Before: Jul 1 22:15:21 2013 GMT
+ Not After : Jun 29 22:15:21 2023 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:b7:96:78:e6:03:94:d8:22:d8:88:01:b2:00:93:
+ 86:a1:c0:d9:49:5f:23:40:93:f8:ec:3f:9e:b2:b3:
+ 9d:70:ea:6d:83:6c:05:fd:7c:04:be:61:0f:3b:12:
+ 54:cf:36:fd:0b:33:b9:e8:6f:ea:2a:fd:6c:9a:1f:
+ a9:8d:e9:1b:77:0f:7b:cd:14:1c:5c:b2:0f:8b:b7:
+ 97:14:7c:25:78:e0:26:3c:e0:e6:8a:f7:6f:25:5d:
+ 45:34:c3:fe:26:67:d7:69:8d:21:e9:b4:86:59:86:
+ cb:15:fa:10:dc:d3:30:57:da:0d:a5:c7:ee:16:f6:
+ 56:89:e3:51:7e:e6:2d:8d:9c:6f:3f:ca:57:3b:bc:
+ 1e:81:58:28:a1:ff:0f:d9:0b:44:a5:04:9d:a4:4f:
+ 68:5a:67:46:80:1b:df:24:40:49:ac:4c:85:70:f3:
+ 84:47:81:cf:8d:cc:4b:e2:b0:4b:1f:33:ed:c3:a0:
+ 7d:8c:d5:a0:4c:43:68:fb:2a:59:74:25:2b:ef:da:
+ 3c:db:75:6c:84:b4:1e:fa:f1:26:40:03:7c:f7:04:
+ cf:99:70:9a:49:10:f6:91:1c:30:2d:a7:33:5f:7e:
+ 92:4e:b0:91:4f:24:35:92:92:e3:77:99:db:6f:21:
+ 4d:82:b8:01:f8:d6:5e:cc:1a:20:1e:d9:3e:d7:1d:
+ fb:dd
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 80:2C:F6:3D:68:54:4C:34:20:8F:76:5B:06:97:BB:9E:40:8D:28:3E
+ X509v3 Authority Key Identifier:
+ keyid:96:2A:53:9C:77:4D:AC:DD:C3:62:E8:7C:3A:53:66:E6:B1:9E:D0:5F
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 78:fb:0b:4a:4f:9e:6d:76:b7:c0:27:0f:06:92:a9:c1:97:d9:
+ cd:15:5d:9b:18:93:2a:06:95:bc:48:e9:4e:02:ac:92:a5:c8:
+ 6a:71:1d:69:a2:8d:ae:bd:cf:5b:d9:c3:5e:cb:db:01:13:1b:
+ c7:13:fd:22:f6:ca:48:ca:98:de:93:54:48:15:38:1f:22:c8:
+ 2f:fb:71:73:2e:f5:d2:7e:48:91:6e:9a:c7:0b:51:96:d6:c1:
+ c0:2a:d4:3c:69:3e:dd:1d:7d:d4:b1:0f:d1:d3:41:ca:a8:22:
+ 8f:19:9d:a7:91:7b:25:26:4e:c6:e8:3b:9b:e7:cd:c4:f2:c5:
+ 63:c3:10:6f:93:03:b1:c6:e9:05:db:1e:cf:42:19:72:b2:b2:
+ cf:30:a0:99:70:6c:fb:4e:7f:ca:a5:3b:8b:83:72:10:77:04:
+ e4:96:a9:8e:70:2d:c0:54:71:5e:76:8f:4c:20:33:d6:78:f2:
+ d9:6a:2c:b0:7a:1e:82:08:3d:e8:59:87:e9:a0:3c:84:3d:b4:
+ 60:38:01:89:04:93:d0:3e:36:5d:57:aa:03:4f:ca:46:80:a0:
+ d2:2c:d0:59:18:b1:fb:66:84:39:4d:90:c5:20:d7:4b:03:11:
+ 77:b4:fd:24:58:d9:1f:dc:4d:34:f7:c9:54:59:3f:8e:1a:17:
+ e8:b1:65:a5
+-----BEGIN CERTIFICATE-----
+MIIDfTCCAmWgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwIDEeMBwGA1UEAwwVVGVz
+dCBEdXAtSGFzaCBSb290IENBMB4XDTEzMDcwMTIyMTUyMVoXDTIzMDYyOTIyMTUy
+MVowYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
+DU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEyNy4w
+LjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALeWeOYDlNgi2IgB
+sgCThqHA2UlfI0CT+Ow/nrKznXDqbYNsBf18BL5hDzsSVM82/Qszuehv6ir9bJof
+qY3pG3cPe80UHFyyD4u3lxR8JXjgJjzg5or3byVdRTTD/iZn12mNIem0hlmGyxX6
+ENzTMFfaDaXH7hb2VonjUX7mLY2cbz/KVzu8HoFYKKH/D9kLRKUEnaRPaFpnRoAb
+3yRASaxMhXDzhEeBz43MS+KwSx8z7cOgfYzVoExDaPsqWXQlK+/aPNt1bIS0Hvrx
+JkADfPcEz5lwmkkQ9pEcMC2nM19+kk6wkU8kNZKS43eZ228hTYK4AfjWXswaIB7Z
+Ptcd+90CAwEAAaOBgDB+MAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFIAs9j1oVEw0
+II92WwaXu55AjSg+MB8GA1UdIwQYMBaAFJYqU5x3Tazdw2LofDpTZuaxntBfMB0G
+A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAPBgNVHREECDAGhwR/AAABMA0G
+CSqGSIb3DQEBBQUAA4IBAQB4+wtKT55tdrfAJw8GkqnBl9nNFV2bGJMqBpW8SOlO
+AqySpchqcR1poo2uvc9b2cNey9sBExvHE/0i9spIypjek1RIFTgfIsgv+3FzLvXS
+fkiRbprHC1GW1sHAKtQ8aT7dHX3UsQ/R00HKqCKPGZ2nkXslJk7G6Dub583E8sVj
+wxBvkwOxxukF2x7PQhlysrLPMKCZcGz7Tn/KpTuLg3IQdwTklqmOcC3AVHFedo9M
+IDPWePLZaiyweh6CCD3oWYfpoDyEPbRgOAGJBJPQPjZdV6oDT8pGgKDSLNBZGLH7
+ZoQ5TZDFINdLAxF3tP0kWNkf3E0098lUWT+OGhfosWWl
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cross-signed-root-md5.pem b/chromium/net/data/ssl/certificates/cross-signed-root-md5.pem
new file mode 100644
index 00000000000..24f2dab9f3c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cross-signed-root-md5.pem
@@ -0,0 +1,75 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 9681607970376803213 (0x865bfb2758e6638d)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: CN=Test Dup-Hash Root CA
+ Validity
+ Not Before: Jul 1 22:15:21 2013 GMT
+ Not After : Jun 29 22:15:21 2023 GMT
+ Subject: CN=Test Dup-Hash Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:de:f6:bf:8a:9b:10:4f:4c:c8:e7:9d:38:f8:ce:
+ fc:f9:02:89:38:05:be:2e:cc:bc:18:8d:cc:32:cb:
+ 65:06:21:b6:12:1a:af:fc:98:60:26:60:e7:60:57:
+ 68:24:17:d6:6c:f9:f1:0f:5b:a9:ae:55:a3:fc:84:
+ c7:b4:0d:e6:71:98:e5:a5:6a:3a:30:05:35:22:59:
+ 29:d3:27:4c:82:c4:1c:d6:2b:19:78:c7:2c:6e:75:
+ c0:bb:5f:3c:c0:9f:ed:0f:72:10:59:0d:cd:88:08:
+ 76:9b:e1:fc:1d:7d:d1:d0:d7:e1:76:d8:44:9c:c4:
+ 80:3e:d1:09:cb:67:07:81:ed:1a:fc:68:15:3a:11:
+ f8:f8:8e:02:8b:ec:e3:c5:e6:84:7f:99:79:cf:d8:
+ 9e:54:ea:3e:65:3c:ae:cb:4f:a5:4a:3b:32:65:00:
+ 92:45:e5:cd:2a:38:f3:18:b2:1d:62:8e:3c:a5:89:
+ 47:6a:0d:43:87:68:82:10:5d:e3:db:70:e5:60:9c:
+ 13:c4:87:54:3d:3c:7b:f1:b4:16:b6:4b:b9:23:74:
+ a4:a1:91:e2:61:29:63:37:b2:74:ec:49:a1:94:35:
+ 34:fd:c6:5c:55:54:14:14:eb:e1:12:22:28:0a:9e:
+ 10:b4:37:54:e6:50:93:85:87:0f:c1:34:ca:cb:76:
+ 12:8f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 96:2A:53:9C:77:4D:AC:DD:C3:62:E8:7C:3A:53:66:E6:B1:9E:D0:5F
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: md5WithRSAEncryption
+ 2d:0f:96:87:ae:0d:e6:47:c7:5b:b7:5c:d3:85:7a:b0:1b:e0:
+ 6e:43:1f:c7:8d:ab:1b:5a:5b:bf:3b:a4:de:4b:45:bd:f6:59:
+ 12:b2:56:7e:4c:ea:67:e9:bc:23:09:ba:e8:89:55:78:98:55:
+ b0:12:bf:92:3c:45:e7:ec:56:f7:88:1d:10:f3:68:1a:84:97:
+ 26:44:90:e5:19:09:77:94:08:2c:f1:27:1e:bb:09:6d:36:47:
+ de:e2:7d:b4:fb:d5:8d:11:d7:09:9e:22:16:3e:e9:67:de:2b:
+ e6:6b:25:f6:02:b1:9c:5f:27:62:fe:21:a1:58:8f:b0:68:7d:
+ 44:1a:b4:af:b1:1b:c3:5d:84:d0:a4:1c:57:4c:28:2d:64:4f:
+ c6:19:93:c2:96:7d:b0:1f:80:e5:08:a0:14:1f:03:0c:ab:90:
+ c5:c9:01:22:36:39:66:a9:38:9d:8f:89:34:da:60:85:6e:de:
+ 47:33:78:d3:52:ea:0b:8d:38:70:8a:6b:b1:72:18:8e:e2:01:
+ 28:df:23:4a:18:9c:65:7e:f9:42:04:84:62:67:40:31:16:9d:
+ 09:0c:d6:2c:b6:86:5d:d0:b4:08:af:ca:d3:4e:a2:2c:15:d7:
+ c8:48:5c:92:ee:33:84:2d:6e:5e:97:f3:f7:ee:1a:30:fc:83:
+ 50:60:80:7a
+-----BEGIN CERTIFICATE-----
+MIIDBTCCAe2gAwIBAgIJAIZb+ydY5mONMA0GCSqGSIb3DQEBBAUAMCAxHjAcBgNV
+BAMMFVRlc3QgRHVwLUhhc2ggUm9vdCBDQTAeFw0xMzA3MDEyMjE1MjFaFw0yMzA2
+MjkyMjE1MjFaMCAxHjAcBgNVBAMMFVRlc3QgRHVwLUhhc2ggUm9vdCBDQTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN72v4qbEE9MyOedOPjO/PkCiTgF
+vi7MvBiNzDLLZQYhthIar/yYYCZg52BXaCQX1mz58Q9bqa5Vo/yEx7QN5nGY5aVq
+OjAFNSJZKdMnTILEHNYrGXjHLG51wLtfPMCf7Q9yEFkNzYgIdpvh/B190dDX4XbY
+RJzEgD7RCctnB4HtGvxoFToR+PiOAovs48XmhH+Zec/YnlTqPmU8rstPpUo7MmUA
+kkXlzSo48xiyHWKOPKWJR2oNQ4doghBd49tw5WCcE8SHVD08e/G0FrZLuSN0pKGR
+4mEpYzeydOxJoZQ1NP3GXFVUFBTr4RIiKAqeELQ3VOZQk4WHD8E0yst2Eo8CAwEA
+AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUlipTnHdNrN3DYuh8OlNm
+5rGe0F8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBAUAA4IBAQAtD5aHrg3m
+R8dbt1zThXqwG+BuQx/HjasbWlu/O6TeS0W99lkSslZ+TOpn6bwjCbroiVV4mFWw
+Er+SPEXn7Fb3iB0Q82gahJcmRJDlGQl3lAgs8SceuwltNkfe4n20+9WNEdcJniIW
+Puln3ivmayX2ArGcXydi/iGhWI+waH1EGrSvsRvDXYTQpBxXTCgtZE/GGZPCln2w
+H4DlCKAUHwMMq5DFyQEiNjlmqTidj4k02mCFbt5HM3jTUuoLjThwimuxchiO4gEo
+3yNKGJxlfvlCBIRiZ0AxFp0JDNYstoZd0LQIr8rTTqIsFdfISFyS7jOELW5el/P3
+7how/INQYIB6
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cross-signed-root-sha1.pem b/chromium/net/data/ssl/certificates/cross-signed-root-sha1.pem
new file mode 100644
index 00000000000..71df04f4b66
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cross-signed-root-sha1.pem
@@ -0,0 +1,75 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 16026332507200838417 (0xde68f88110005b11)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Test Dup-Hash Root CA
+ Validity
+ Not Before: Jul 1 22:15:21 2013 GMT
+ Not After : Jun 29 22:15:21 2023 GMT
+ Subject: CN=Test Dup-Hash Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:de:f6:bf:8a:9b:10:4f:4c:c8:e7:9d:38:f8:ce:
+ fc:f9:02:89:38:05:be:2e:cc:bc:18:8d:cc:32:cb:
+ 65:06:21:b6:12:1a:af:fc:98:60:26:60:e7:60:57:
+ 68:24:17:d6:6c:f9:f1:0f:5b:a9:ae:55:a3:fc:84:
+ c7:b4:0d:e6:71:98:e5:a5:6a:3a:30:05:35:22:59:
+ 29:d3:27:4c:82:c4:1c:d6:2b:19:78:c7:2c:6e:75:
+ c0:bb:5f:3c:c0:9f:ed:0f:72:10:59:0d:cd:88:08:
+ 76:9b:e1:fc:1d:7d:d1:d0:d7:e1:76:d8:44:9c:c4:
+ 80:3e:d1:09:cb:67:07:81:ed:1a:fc:68:15:3a:11:
+ f8:f8:8e:02:8b:ec:e3:c5:e6:84:7f:99:79:cf:d8:
+ 9e:54:ea:3e:65:3c:ae:cb:4f:a5:4a:3b:32:65:00:
+ 92:45:e5:cd:2a:38:f3:18:b2:1d:62:8e:3c:a5:89:
+ 47:6a:0d:43:87:68:82:10:5d:e3:db:70:e5:60:9c:
+ 13:c4:87:54:3d:3c:7b:f1:b4:16:b6:4b:b9:23:74:
+ a4:a1:91:e2:61:29:63:37:b2:74:ec:49:a1:94:35:
+ 34:fd:c6:5c:55:54:14:14:eb:e1:12:22:28:0a:9e:
+ 10:b4:37:54:e6:50:93:85:87:0f:c1:34:ca:cb:76:
+ 12:8f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 96:2A:53:9C:77:4D:AC:DD:C3:62:E8:7C:3A:53:66:E6:B1:9E:D0:5F
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 82:0e:89:6b:05:a5:56:b1:0f:79:19:9f:1e:88:c9:7a:ba:fc:
+ 7e:9b:58:39:64:38:89:64:c6:59:c6:be:d1:c1:d7:41:bb:ac:
+ 68:22:61:df:27:0f:ee:00:90:8f:8a:27:ab:dc:46:6f:d3:f2:
+ 5e:1e:02:1f:8b:56:9f:83:6d:8d:a4:2a:2e:e3:f1:f1:91:ec:
+ c9:1c:f2:10:b7:7d:47:f4:1b:ff:75:c5:a9:74:5c:d7:f8:41:
+ c3:51:30:9d:bf:13:f6:24:82:70:15:83:2f:0d:e4:ce:8f:3a:
+ ff:92:d5:7d:6d:1a:66:6e:4a:15:4f:c3:c3:45:8d:12:09:c8:
+ 0c:58:db:6b:3c:7b:3f:65:49:ea:5d:72:c3:3d:9b:a5:5f:72:
+ 9f:72:d6:32:44:4f:cc:79:2a:c1:22:01:5e:0a:cf:2b:f7:03:
+ c6:bf:15:4b:d1:5a:ab:0f:c5:8f:11:6c:73:e9:a5:60:90:18:
+ ec:c2:dc:27:ce:f8:f1:95:d3:8e:df:29:c5:4a:dc:35:db:ed:
+ 71:ee:33:2e:71:69:6f:29:fd:40:b2:ff:66:19:81:c7:4d:c3:
+ e8:19:ad:d0:23:b3:7f:57:4e:95:15:52:dc:bf:65:b4:02:59:
+ dc:07:c4:e9:08:88:bf:c1:a4:1b:6e:79:3f:38:02:fd:11:93:
+ a8:f0:11:65
+-----BEGIN CERTIFICATE-----
+MIIDBTCCAe2gAwIBAgIJAN5o+IEQAFsRMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV
+BAMMFVRlc3QgRHVwLUhhc2ggUm9vdCBDQTAeFw0xMzA3MDEyMjE1MjFaFw0yMzA2
+MjkyMjE1MjFaMCAxHjAcBgNVBAMMFVRlc3QgRHVwLUhhc2ggUm9vdCBDQTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN72v4qbEE9MyOedOPjO/PkCiTgF
+vi7MvBiNzDLLZQYhthIar/yYYCZg52BXaCQX1mz58Q9bqa5Vo/yEx7QN5nGY5aVq
+OjAFNSJZKdMnTILEHNYrGXjHLG51wLtfPMCf7Q9yEFkNzYgIdpvh/B190dDX4XbY
+RJzEgD7RCctnB4HtGvxoFToR+PiOAovs48XmhH+Zec/YnlTqPmU8rstPpUo7MmUA
+kkXlzSo48xiyHWKOPKWJR2oNQ4doghBd49tw5WCcE8SHVD08e/G0FrZLuSN0pKGR
+4mEpYzeydOxJoZQ1NP3GXFVUFBTr4RIiKAqeELQ3VOZQk4WHD8E0yst2Eo8CAwEA
+AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUlipTnHdNrN3DYuh8OlNm
+5rGe0F8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCCDolrBaVW
+sQ95GZ8eiMl6uvx+m1g5ZDiJZMZZxr7RwddBu6xoImHfJw/uAJCPiier3EZv0/Je
+HgIfi1afg22NpCou4/HxkezJHPIQt31H9Bv/dcWpdFzX+EHDUTCdvxP2JIJwFYMv
+DeTOjzr/ktV9bRpmbkoVT8PDRY0SCcgMWNtrPHs/ZUnqXXLDPZulX3KfctYyRE/M
+eSrBIgFeCs8r9wPGvxVL0VqrD8WPEWxz6aVgkBjswtwnzvjxldOO3ynFStw12+1x
+7jMucWlvKf1Asv9mGYHHTcPoGa3QI7N/V06VFVLcv2W0AlncB8TpCIi/waQbbnk/
+OAL9EZOo8BFl
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_1.pem b/chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_1.pem
new file mode 100644
index 00000000000..31bb088d416
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_1.pem
@@ -0,0 +1,82 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 120033005 (0x7278eed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root
+ Validity
+ Not Before: Apr 18 16:36:18 2012 GMT
+ Not After : Aug 13 16:35:17 2018 GMT
+ Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79:
+ d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a:
+ 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2:
+ 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01:
+ 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7:
+ 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6:
+ 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c:
+ a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70:
+ 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77:
+ d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae:
+ 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18:
+ 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85:
+ ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9:
+ 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5:
+ c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a:
+ ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0:
+ 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27:
+ 1a:39
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE, pathlen:3
+ X509v3 Certificate Policies:
+ Policy: X509v3 Any Policy
+ CPS: http://cybertrust.omniroot.com/repository
+
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ X509v3 Authority Key Identifier:
+ DirName:/C=US/O=GTE Corporation/OU=GTE CyberTrust Solutions, Inc./CN=GTE CyberTrust Global Root
+ serial:01:A5
+
+ X509v3 CRL Distribution Points:
+ URI:http://www.public-trust.com/cgi-bin/CRL/2018/cdp.crl
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 93:1d:fe:8b:ae:46:ec:cb:a9:0f:ab:e5:ef:ca:b2:68:16:68:
+ d8:8f:fa:13:a9:af:b3:cb:2d:e7:4b:6e:8e:69:2a:c2:2b:10:
+ 0a:8d:f6:ae:73:b6:b9:fb:14:fd:5f:6d:b8:50:b6:c4:8a:d6:
+ 40:7e:d7:c3:cb:73:dc:c9:5d:5b:af:b0:41:b5:37:eb:ea:dc:
+ 20:91:c4:34:6a:f4:a1:f3:96:9d:37:86:97:e1:71:a4:dd:7d:
+ fa:44:84:94:ae:d7:09:04:22:76:0f:64:51:35:a9:24:0f:f9:
+ 0b:db:32:da:c2:fe:c1:b9:2a:5c:7a:27:13:ca:b1:48:3a:71:
+ d0:43
+-----BEGIN CERTIFICATE-----
+MIIEFTCCA36gAwIBAgIEByeO7TANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV
+UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
+cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
+b2JhbCBSb290MB4XDTEyMDQxODE2MzYxOFoXDTE4MDgxMzE2MzUxN1owWjELMAkG
+A1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVz
+dDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKrmD1X6CZymrV51Cni4eiVgLGw41uO
+KymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsBUnuId9Mcj8e6uYi1agnn
+c+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/CG9VwcPCP
+wBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPg
+kAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFc
+B5kpvcY67Oduhjprl3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaOCAUcw
+ggFDMBIGA1UdEwEB/wQIMAYBAf8CAQMwSgYDVR0gBEMwQTA/BgRVHSAAMDcwNQYI
+KwYBBQUHAgEWKWh0dHA6Ly9jeWJlcnRydXN0Lm9tbmlyb290LmNvbS9yZXBvc2l0
+b3J5MA4GA1UdDwEB/wQEAwIBBjCBiQYDVR0jBIGBMH+heaR3MHUxCzAJBgNVBAYT
+AlVTMRgwFgYDVQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJl
+clRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3Qg
+R2xvYmFsIFJvb3SCAgGlMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly93d3cucHVi
+bGljLXRydXN0LmNvbS9jZ2ktYmluL0NSTC8yMDE4L2NkcC5jcmwwDQYJKoZIhvcN
+AQEFBQADgYEAkx3+i65G7MupD6vl78qyaBZo2I/6E6mvs8st50tujmkqwisQCo32
+rnO2ufsU/V9tuFC2xIrWQH7Xw8tz3MldW6+wQbU36+rcIJHENGr0ofOWnTeGl+Fx
+pN19+kSElK7XCQQidg9kUTWpJA/5C9sy2sL+wbkqXHonE8qxSDpx0EM=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_2.pem b/chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_2.pem
new file mode 100644
index 00000000000..8d3445bac4c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cybertrust_baltimore_cross_certified_2.pem
@@ -0,0 +1,85 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 120024505 (0x7276db9)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root
+ Validity
+ Not Before: Nov 30 16:35:21 2010 GMT
+ Not After : Aug 10 15:34:26 2018 GMT
+ Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79:
+ d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a:
+ 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2:
+ 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01:
+ 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7:
+ 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6:
+ 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c:
+ a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70:
+ 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77:
+ d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae:
+ 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18:
+ 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85:
+ ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9:
+ 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5:
+ c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a:
+ ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0:
+ 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27:
+ 1a:39
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE, pathlen:3
+ X509v3 Certificate Policies:
+ Policy: X509v3 Any Policy
+ CPS: http://cybertrust.omniroot.com/repository.cfm
+
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ X509v3 Authority Key Identifier:
+ DirName:/C=US/O=GTE Corporation/OU=GTE CyberTrust Solutions, Inc./CN=GTE CyberTrust Global Root
+ serial:01:A5
+
+ X509v3 CRL Distribution Points:
+ URI:http://www.public-trust.com/cgi-bin/CRL/2018/cdp.crl
+
+ X509v3 Subject Key Identifier:
+ E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0
+ Signature Algorithm: sha1WithRSAEncryption
+ 16:b4:2c:c9:f1:5e:e1:a2:7b:9b:78:20:7a:4a:70:70:86:19:
+ 00:b7:05:2a:e8:c9:25:39:0f:c3:64:3c:75:09:d9:89:15:80:
+ 07:c2:8d:bc:29:a5:64:50:cf:71:75:47:23:bd:4d:d8:7f:77:
+ 9a:51:10:6e:4e:1f:20:3c:47:9c:43:74:7f:96:84:10:4c:13:
+ 43:be:f8:e0:72:2e:ff:bf:ae:3c:0a:03:60:82:4b:6f:f9:9a:
+ c5:1e:f6:af:90:3b:9f:61:3b:3e:de:9b:05:1a:c6:2c:3c:57:
+ 21:08:0f:54:fa:28:63:6c:e8:1b:9c:0f:cf:dd:30:44:13:b9:
+ 57:fe
+-----BEGIN CERTIFICATE-----
+MIIEODCCA6GgAwIBAgIEBydtuTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV
+UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
+cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
+b2JhbCBSb290MB4XDTEwMTEzMDE2MzUyMVoXDTE4MDgxMDE1MzQyNlowWjELMAkG
+A1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVz
+dDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKrmD1X6CZymrV51Cni4eiVgLGw41uO
+KymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsBUnuId9Mcj8e6uYi1agnn
+c+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/CG9VwcPCP
+wBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPg
+kAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFc
+B5kpvcY67Oduhjprl3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaOCAWow
+ggFmMBIGA1UdEwEB/wQIMAYBAf8CAQMwTgYDVR0gBEcwRTBDBgRVHSAAMDswOQYI
+KwYBBQUHAgEWLWh0dHA6Ly9jeWJlcnRydXN0Lm9tbmlyb290LmNvbS9yZXBvc2l0
+b3J5LmNmbTAOBgNVHQ8BAf8EBAMCAQYwgYkGA1UdIwSBgTB/oXmkdzB1MQswCQYD
+VQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUg
+Q3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRy
+dXN0IEdsb2JhbCBSb290ggIBpTBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vd3d3
+LnB1YmxpYy10cnVzdC5jb20vY2dpLWJpbi9DUkwvMjAxOC9jZHAuY3JsMB0GA1Ud
+DgQWBBTlnVkwgkdYzKz6CFQ2hns6tQRN8DANBgkqhkiG9w0BAQUFAAOBgQAWtCzJ
+8V7honubeCB6SnBwhhkAtwUq6MklOQ/DZDx1CdmJFYAHwo28KaVkUM9xdUcjvU3Y
+f3eaURBuTh8gPEecQ3R/loQQTBNDvvjgci7/v648CgNggktv+ZrFHvavkDufYTs+
+3psFGsYsPFchCA9U+ihjbOgbnA/P3TBEE7lX/g==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cybertrust_baltimore_root.pem b/chromium/net/data/ssl/certificates/cybertrust_baltimore_root.pem
new file mode 100644
index 00000000000..43a6c0fc1f9
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cybertrust_baltimore_root.pem
@@ -0,0 +1,77 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 33554617 (0x20000b9)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root
+ Validity
+ Not Before: May 12 18:46:00 2000 GMT
+ Not After : May 12 23:59:00 2025 GMT
+ Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79:
+ d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a:
+ 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2:
+ 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01:
+ 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7:
+ 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6:
+ 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c:
+ a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70:
+ 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77:
+ d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae:
+ 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18:
+ 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85:
+ ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9:
+ 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5:
+ c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a:
+ ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0:
+ 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27:
+ 1a:39
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0
+ X509v3 Basic Constraints: critical
+ CA:TRUE, pathlen:3
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 85:0c:5d:8e:e4:6f:51:68:42:05:a0:dd:bb:4f:27:25:84:03:
+ bd:f7:64:fd:2d:d7:30:e3:a4:10:17:eb:da:29:29:b6:79:3f:
+ 76:f6:19:13:23:b8:10:0a:f9:58:a4:d4:61:70:bd:04:61:6a:
+ 12:8a:17:d5:0a:bd:c5:bc:30:7c:d6:e9:0c:25:8d:86:40:4f:
+ ec:cc:a3:7e:38:c6:37:11:4f:ed:dd:68:31:8e:4c:d2:b3:01:
+ 74:ee:be:75:5e:07:48:1a:7f:70:ff:16:5c:84:c0:79:85:b8:
+ 05:fd:7f:be:65:11:a3:0f:c0:02:b4:f8:52:37:39:04:d5:a9:
+ 31:7a:18:bf:a0:2a:f4:12:99:f7:a3:45:82:e3:3c:5e:f5:9d:
+ 9e:b5:c8:9e:7c:2e:c8:a4:9e:4e:08:14:4b:6d:fd:70:6d:6b:
+ 1a:63:bd:64:e6:1f:b7:ce:f0:f2:9f:2e:bb:1b:b7:f2:50:88:
+ 73:92:c2:e2:e3:16:8d:9a:32:02:ab:8e:18:dd:e9:10:11:ee:
+ 7e:35:ab:90:af:3e:30:94:7a:d0:33:3d:a7:65:0f:f5:fc:8e:
+ 9e:62:cf:47:44:2c:01:5d:bb:1d:b5:32:d2:47:d2:38:2e:d0:
+ fe:81:dc:32:6a:1e:b5:ee:3c:d5:fc:e7:81:1d:19:c3:24:42:
+ ea:63:39:a9
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
+RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
+VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
+DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
+ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
+VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
+mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
+IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
+mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
+XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
+dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
+jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
+BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
+DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
+9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
+jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
+Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
+ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
+R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cybertrust_gte_root.pem b/chromium/net/data/ssl/certificates/cybertrust_gte_root.pem
new file mode 100644
index 00000000000..27fcceb27f8
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cybertrust_gte_root.pem
@@ -0,0 +1,48 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 421 (0x1a5)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root
+ Validity
+ Not Before: Aug 13 00:29:00 1998 GMT
+ Not After : Aug 13 23:59:00 2018 GMT
+ Subject: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:95:0f:a0:b6:f0:50:9c:e8:7a:c7:88:cd:dd:17:
+ 0e:2e:b0:94:d0:1b:3d:0e:f6:94:c0:8a:94:c7:06:
+ c8:90:97:c8:b8:64:1a:7a:7e:6c:3c:53:e1:37:28:
+ 73:60:7f:b2:97:53:07:9f:53:f9:6d:58:94:d2:af:
+ 8d:6d:88:67:80:e6:ed:b2:95:cf:72:31:ca:a5:1c:
+ 72:ba:5c:02:e7:64:42:e7:f9:a9:2c:d6:3a:0d:ac:
+ 8d:42:aa:24:01:39:e6:9c:3f:01:85:57:0d:58:87:
+ 45:f8:d3:85:aa:93:69:26:85:70:48:80:3f:12:15:
+ c7:79:b4:1f:05:2f:3b:62:99
+ Exponent: 65537 (0x10001)
+ Signature Algorithm: md5WithRSAEncryption
+ 6d:eb:1b:09:e9:5e:d9:51:db:67:22:61:a4:2a:3c:48:77:e3:
+ a0:7c:a6:de:73:a2:14:03:85:3d:fb:ab:0e:30:c5:83:16:33:
+ 81:13:08:9e:7b:34:4e:df:40:c8:74:d7:b9:7d:dc:f4:76:55:
+ 7d:9b:63:54:18:e9:f0:ea:f3:5c:b1:d9:8b:42:1e:b9:c0:95:
+ 4e:ba:fa:d5:e2:7c:f5:68:61:bf:8e:ec:05:97:5f:5b:b0:d7:
+ a3:85:34:c4:24:a7:0d:0f:95:93:ef:cb:94:d8:9e:1f:9d:5c:
+ 85:6d:c7:aa:ae:4f:1f:22:b5:cd:95:ad:ba:a7:cc:f9:ab:0b:
+ 7a:7f
+-----BEGIN CERTIFICATE-----
+MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD
+VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv
+bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv
+b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV
+UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
+cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
+b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH
+iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS
+r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4
+04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r
+GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9
+3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P
+lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/cybertrust_omniroot_chain.pem b/chromium/net/data/ssl/certificates/cybertrust_omniroot_chain.pem
new file mode 100644
index 00000000000..af584a11846
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/cybertrust_omniroot_chain.pem
@@ -0,0 +1,48 @@
+-----BEGIN CERTIFICATE-----
+MIID/TCCAuWgAwIBAgIOAgAAAAABPSFwPhps5l0wDQYJKoZIhvcNAQEFBQAwRjEX
+MBUGA1UEChMOQ3liZXJ0cnVzdCBJbmMxKzApBgNVBAMTIkN5YmVydHJ1c3QgUHVi
+bGljIFN1cmVTZXJ2ZXIgU1YgQ0EwHhcNMTMwMjI4MTU0NjQxWhcNMTYwMjI5MTU0
+NjQxWjA9MQswCQYDVQQGEwJVUzEQMA4GA1UEChMHVmVyaXpvbjEcMBoGA1UEAxMT
+Y2FjZXJ0Lm9tbmlyb290LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAN0nfD4v5g24/aThycyY8BQVHq6Ehs6/5NsoNHuLCy2MRagK4sxD9qU0Ue8z
+HwaULEa4sWKEIMg765tkbiyEfo06SM1QXQDXb+z7QNZAdpZA3q8Caw7LPx4Z8GL9
+rDUaLEd5RJ33a2AiGJebbUQAo//PZrtksy3QAOZF7bXuUyhZrJwKUPrcG+bOK6CU
+oRBDKMaqBYG+pjxZ07Pp9saiQeIT2OM4hQRGO8oN7oCvYKAx9TBxGPT2G8cswJh2
+UrikRNZDnyAoosI+fWWIamVXDirJSlbi3TpHHwL/QtuXOlXhipb7gZLYyMaOIJMX
+ymB0W3pSkVvY0PEfanGxNHjf3/cCAwEAAaOB8TCB7jAfBgNVHSMEGDAWgBQEmGDf
+gBuWSV1lVi2lLAkkCuzcuTA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLm9t
+bmlyb290LmNvbS9QdWJsaWNTdXJlU2VydmVyU1YuY3JsMB0GA1UdDgQWBBQ4hF16
+ABr+XdLRPxE4TPPgGWqd+DAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIFoDAdBgNV
+HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEQYJYIZIAYb4QgEBBAQDAgbAMB4G
+A1UdEQQXMBWCE2NhY2VydC5vbW5pcm9vdC5jb20wDQYJKoZIhvcNAQEFBQADggEB
+ACfEzbzAnq0UqfKUvoVGTnhRLd8cwTP0lvZBn4DZMgEziU7YMN33OQCKZqVdzOzl
+6y78glpFpkkWBvnUaAKgS8GxuigZX6AefB8bVxbsW76DoE+BYG6zJYZkeoUgv6qh
+rjnX2S1q/+wfbuuq1OR7BGpqZ8uDmq2k+qePWj+Mgd3ZtLbBaGWn5XrxvWSLjDlU
+eVOmSHvTcXQyeJpF1Eqsjt+9CjFSnexfVuVjst+iRr87qM9L8/QbIqNyDV7nNTfE
+Z+5bk9WtxFzkkBhwprFLMjtxoJ+JEjhK5WmrQ6wVT/ggmIz0d9oDhEcVh95LBES0
+E4qr4DvFQ2FdPKYoFFPm5uM=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIEGzCCAwOgAwIBAgIEByc3DDANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
+RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
+VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTEwMDkwODE3MzUxNloX
+DTIwMDkwODE3MzQwOFowRjEXMBUGA1UEChMOQ3liZXJ0cnVzdCBJbmMxKzApBgNV
+BAMTIkN5YmVydHJ1c3QgUHVibGljIFN1cmVTZXJ2ZXIgU1YgQ0EwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjupmNt+HNc4j5ud3e9AXzJfU/xVIeUVo/
+mv9NhLdQf/EQil1/ZFUcO6Pz/5d/HEvtb3/pVOyXKkIDZ3+5yGyil/hAkyTDJV6l
+ZouGvde5JiJu0maDs3jBfFh2EesWVUcy8Lk0EL2PJqIlaMEUK6Jz1mY9RIdcE39Y
+kWI9V39srkLoEn69ePHxrFw1YGhFvFNzhxEdxS76YDXakfna8lVsv8qiV1zIZLyp
+WxWg/BzzRC69BvJo2EAtu7NhJZKTJRx3RpC/0K+3g6A8h16lkaj/wTEbtkusEjQI
+1dvsiYdjBqdT+NX15masXoRlRsn0OiUPbMwPZriaVaFGbPyRI1+9AgMBAAGjgfww
+gfkwEgYDVR0TAQH/BAgwBgEB/wIBADBPBgNVHSAESDBGMEQGCSsGAQQBsT4BMjA3
+MDUGCCsGAQUFBwIBFilodHRwOi8vY3liZXJ0cnVzdC5vbW5pcm9vdC5jb20vcmVw
+b3NpdG9yeTAOBgNVHQ8BAf8EBAMCAQYwHwYDVR0jBBgwFoAU5Z1ZMIJHWMys+ghU
+NoZ7OrUETfAwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NkcDEucHVibGljLXRy
+dXN0LmNvbS9DUkwvT21uaXJvb3QyMDI1LmNybDAdBgNVHQ4EFgQUBJhg34Ablkld
+ZVYtpSwJJArs3LkwDQYJKoZIhvcNAQEFBQADggEBAF/fi88peXgr83z0gl954OGz
+KL0IdUHOjIjXDlW5ArUFeT67UjGzSx6x/tOiIUPSkdMW+mt55I5NGexMhmg0Urdv
+wr2ceL7wbz89np9JdMR8lxlFV6xv+lo+P9PW4yvcivjICg1rjD+UeDeYiGGR31kU
+DwnFY1T79Pavl+z8Y2RDprzM5OMf33Owbve1yCmbriVSuLRy4d6TSPEon35mPz+L
+VQ/4FgdxBddlnNcbPDTmRBY6vdhgk4ODDIiWZTNA32qs//6UUWG7iT/3rMTks0fi
+/aJqMoPifm/wEo6jZnZAl/sR4fdzH9qLHDFCi58RxUmlYO1IKwWEFasviixRcsA=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/diginotar_cyber_ca.pem b/chromium/net/data/ssl/certificates/diginotar_cyber_ca.pem
new file mode 100644
index 00000000000..0abbd7ce319
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/diginotar_cyber_ca.pem
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFWjCCBMOgAwIBAgIEBycQDTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV
+UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
+cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
+b2JhbCBSb290MB4XDTA2MTAwNDEwNTQxMVoXDTExMTAwNDEwNTMxMVowYDELMAkG
+A1UEBhMCTkwxEjAQBgNVBAoTCURpZ2lOb3RhcjEbMBkGA1UEAxMSRGlnaU5vdGFy
+IEN5YmVyIENBMSAwHgYJKoZIhvcNAQkBFhFpbmZvQGRpZ2lub3Rhci5ubDCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANLOFQotqF6EZ639vu9Gx8i5z3P8
+9DS5+SxD52ATPXrjss87Z2yQrcC5P4RS8DVC3HTcKDu9UrSnrHJFF8bwieu0qiXy
+XUte0dmHutZ9fPXOMp8QM8WxSrtekTHC0OlBwpFkfglBO9uLCDdqqspS3rU5HsCI
+A6U/i5kTYUO1m4Kz7iBvz6FEouova0CfjytXraFTwoUiaZ2gP1HfC0GRDaXhqKpc
+SQhdvd5wQbEPyWNr0380dAIvNFp4dRxoeoFnivPaQPBgY/SSINcDpj2jHmfEhBtB
+pcmM5r3qSLYFFgizNxJa92E89zhvLpfgb1Y4VNMota0Ubi5LZLUnZbd1JQm2Bz2V
+VgIKgmCyc0XgMyZRdJq51FAc9k1bW1JSE1qmf6cO4ehBVGeYjIfVydNsy9NUkgYJ
+NEH3gW8/nsl8dVWw58Gzd+jDxAA1lUBwEEoF3iW7n1mlZLxHYL9g43aLE1Xd4XR6
+uc8kpmp/3mQiRFhogmoQ+T3lPhu5vfwi9GAEibtVbShV+t6OjRshFNc3izR7Tfay
+shDPM7F9HGKZSMsrbHaWVb8ZDR0fu2WqG46ZtcYokOWCLXhQIJr9eS8kf/CJKWn0
+fc1zvrPtTsHR7VJej/e4142HrbLZG1ES/1az4a80fVykeIgQnp0DxqWqoiRR90kU
+xbHuWUOV36toKDA/AgMBAAGjggGGMIIBgjASBgNVHRMBAf8ECDAGAQH/AgEBMFMG
+A1UdIARMMEowSAYJKwYBBAGxPgEAMDswOQYIKwYBBQUHAgEWLWh0dHA6Ly93d3cu
+cHVibGljLXRydXN0LmNvbS9DUFMvT21uaVJvb3QuaHRtbDAOBgNVHQ8BAf8EBAMC
+AQYwgaAGA1UdIwSBmDCBlYAUpgwdn2H/Bxe1vzhG20Mw1Y6wUgaheaR3MHUxCzAJ
+BgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdU
+RSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVy
+VHJ1c3QgR2xvYmFsIFJvb3SCAgGlMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly93
+d3cucHVibGljLXRydXN0LmNvbS9jZ2ktYmluL0NSTC8yMDE4L2NkcC5jcmwwHQYD
+VR0OBBYEFKv5aN/PSjfXe0WMX3LeQETDZbvCMA0GCSqGSIb3DQEBBQUAA4GBAI9o
+a6VbB7pEZg4cqFwwezPkCiYE/O+eGjjWLqEf0JlHwnVkJP2eOyh2uSYoYZEMbSz4
+BJ98UAHV42mv7xXSRZskCSpmBU8lgcpdvqrBWSeuM46C9990sFWzjvjnN8huqlZE
+9r1TgSOWPbT6MopTZkQloiXGpjwljPDgKAYityZB
+-----END CERTIFICATE-----
+
diff --git a/chromium/net/data/ssl/certificates/diginotar_pkioverheid.pem b/chromium/net/data/ssl/certificates/diginotar_pkioverheid.pem
new file mode 100644
index 00000000000..b41fa3e5d22
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/diginotar_pkioverheid.pem
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE-----
+MIIEiDCCA3CgAwIBAgIEATFpsDANBgkqhkiG9w0BAQUFADBZMQswCQYDVQQGEwJO
+TDEeMBwGA1UEChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSowKAYDVQQDEyFTdGFh
+dCBkZXIgTmVkZXJsYW5kZW4gT3ZlcmhlaWQgQ0EwHhcNMDcwNzA1MDg0MjA3WhcN
+MTUwNzI3MDgzOTQ2WjBfMQswCQYDVQQGEwJOTDEXMBUGA1UEChMORGlnaU5vdGFy
+IEIuVi4xNzA1BgNVBAMTLkRpZ2lOb3RhciBQS0lvdmVyaGVpZCBDQSBPdmVyaGVp
+ZCBlbiBCZWRyaWp2ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDc
+vdKnTmoKuzuiheF/AK2+tDBomAfNoHrElM9x+Yo35FPrV3bMi+Zs/u6HVcg+uwQ5
+AKeAeKxbT370vbhUuHE7BzFJOZNUfCA7eSuPu2GQfbGs5h+QLp1FAalkLU3DL7nn
+UNVOKlyrdnY3Rtd57EKZ96LspIlw3Dgrh6aqJOadkiQbvvb91C8ZF3rmMgeUVAVT
+Q+lsvK9Hy7zL/b07RBKB8WtLu+20z6slTxjSzAL8o0+1QjPLWc0J3NNQ/aB2jKx+
+ZopC9q0ckvO2+xRG603XLzDgbe5bNr5EdLcgBVeFTegAGaL2DOauocBC36esgl3H
+aLcY5olLmmv6znn58yynAgMBAAGjggFQMIIBTDBIBgNVHSAEQTA/MD0GBFUdIAAw
+NTAzBggrBgEFBQcCARYnaHR0cDovL3d3dy5kaWdpbm90YXIubmwvY3BzL3BraW92
+ZXJoZWlkMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMIGABgNVHSME
+eTB3gBQLhtYPd6NosftkCcOIblwEHFfpPaFZpFcwVTELMAkGA1UEBhMCTkwxHjAc
+BgNVBAoTFVN0YWF0IGRlciBOZWRlcmxhbmRlbjEmMCQGA1UEAxMdU3RhYXQgZGVy
+IE5lZGVybGFuZGVuIFJvb3QgQ0GCBACYmnkwPQYDVR0fBDYwNDAyoDCgLoYsaHR0
+cDovL2NybC5wa2lvdmVyaGVpZC5ubC9Eb21PdkxhdGVzdENSTC5jcmwwHQYDVR0O
+BBYEFEwIyY128ZjHPt881y91DbF2eZfMMA0GCSqGSIb3DQEBBQUAA4IBAQAMlIca
+v03jheLu19hjeQ5Q38aEW9K72fUxCho1l3TfFPoqDz7toOMI9tVOW6+mriXiRWsi
+D7dUKH6S3o0UbNEc5W50BJy37zRERd/Jgx0ZH8Apad+J1T/CsFNt5U4X5HNhIxMm
+cUP9TFnLw98iqiEr2b+VERqKpOKrp11Lbyn1UtHk0hWxi/7wA8+nfemZhzizDXMU
+5HIs4c71rQZIZPrTKbmi2Lv01QulQERDjqC/zlqlUkxk0xcxYczopIro5Ij76eUv
+BjMzm5RmZrGrUDqhCYF0U1onuabSJc/Tw6f/ltAv6uAejVLpGBwgCkegllYOQJBR
+RKwa/fHuhR/3Qlpl
+-----END CERTIFICATE-----
+
diff --git a/chromium/net/data/ssl/certificates/diginotar_pkioverheid_g2.pem b/chromium/net/data/ssl/certificates/diginotar_pkioverheid_g2.pem
new file mode 100644
index 00000000000..12570d21ae4
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/diginotar_pkioverheid_g2.pem
@@ -0,0 +1,38 @@
+-----BEGIN CERTIFICATE-----
+MIIGnDCCBISgAwIBAgIEATE0vzANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJO
+TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMTIwMAYDVQQDDClTdGFh
+dCBkZXIgTmVkZXJsYW5kZW4gT3JnYW5pc2F0aWUgQ0EgLSBHMjAeFw0xMDA1MTIw
+ODUxMzhaFw0yMDAzMjMwOTUwMDRaMFoxCzAJBgNVBAYTAk5MMRcwFQYDVQQKDA5E
+aWdpTm90YXIgQi5WLjEyMDAGA1UEAwwpRGlnaU5vdGFyIFBLSW92ZXJoZWlkIENB
+IE9yZ2FuaXNhdGllIC0gRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCxExkPJ+Zs1FWGS9DsiYpFkXisR71HK+T8RetPtCZzWzfTw3/2497Xo/gtaMUI
+PkuU1uSHJTZrhLUYdPMoWHMvm2rPvAQe9t7dr/xLqvXbZmIlASWC3vKXWhBu3V2p
+IrEEqSNzOvhxrR3PhETrR9Gvbch8KKvH8jd6dF9fxQIUiqNa4xtsAeNdjtlo1vQJ
+GzLckbUs9SDrjANtJkm4k8SFXdjSm69WaswFM8ygQp40VUSca6DUEtArVM23iQ3l
+9uvo+4UBM096a/GdcjOWDveyhKWlJ8Qn8VFzKXe6Z27+TNy04qGhgS85SY1DOBPO
+0KVcwoc6AGdlQiPxNlkKHaNRyLyjlCox3+M88p0aPASw77EKMBNzttfzo0wBdRSF
+eMDXijlYhVD6LubFvs+LP6+PNtQlCS3SD6xyk/K/i9RQs/kVUJuZ9RTZ+4uRozIm
+JqD43ztggYaDeVsr6xM9KTrBbd29no6H1kquNJcF7hSm9tw4fkrpJFQHPZdoN0Zr
+DceoIa8TVOQJavFNRgrJXfubT73e+7dUy7g4nKc5+2otwHuNq6WnV+xKkoozxeEg
+XHPYkJIrgNUPhhhpfDlPhIa890xb89W0yqDC8DciynlSH1PmqvOQsDvd8ij9rOvF
+BiSgydQvD1j9tZ7sD8+yWdCiBHo4aq5y+73wJWKUCacFCwIDAQABo4IBYTCCAV0w
+SAYDVR0gBEEwPzA9BgRVHSAAMDUwMwYIKwYBBQUHAgEWJ2h0dHA6Ly93d3cuZGln
+aW5vdGFyLm5sL2Nwcy9wa2lvdmVyaGVpZDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
+DwEB/wQEAwIBBjCBhQYDVR0jBH4wfIAUORCLSZJc22ESIM1JnRqO2pxnQLmhXqRc
+MFoxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4x
+KzApBgNVBAMMIlN0YWF0IGRlciBOZWRlcmxhbmRlbiBSb290IENBIC0gRzKCBACY
+lvQwSQYDVR0fBEIwQDA+oDygOoY4aHR0cDovL2NybC5wa2lvdmVyaGVpZC5ubC9E
+b21PcmdhbmlzYXRpZUxhdGVzdENSTC1HMi5jcmwwHQYDVR0OBBYEFLxdlDvZq3sD
+JXNhwtst7vyrj2WhMA0GCSqGSIb3DQEBCwUAA4ICAQCP/C1Mt9kt1R+978v0t2gX
+dZ1O1ffdnPEqJu2forYcA9VTs+wIzzTi48P0tRYvyMO+19NzqwA2+RpKftZj6V5G
+uqW2jhW3oyrYQx3vXcgfgYWzi/f/PPTZ9EYIP5y8HaDZqEzNJVJOCrEg9x/pQ9lU
+RoETmsBedGwqmDLq/He7DaWiMZgifnx859qkrey3LhoZcfhIUNpDjyyE3cFAJ+O1
+8BVOltT4XOOGKUYr1zsH6zh/yIZXl9PvKjPEF1DVZGlrK2tFXl0vF8paTs/D1zk8
+9TufRrmb5w5Jl53W1eMbD+qPAU6aE5RZCgIHSEsaYKt/T+0L2FUNaG9VnGllFULs
+wNzdbKzDFs4LHVabpMTE0i7gD+JEJytQaaTcYuiKISlCbMwAOpZ2m+9AwKRed4Qy
+bCYqOWauXeO5ubIsaB8empADOfCqs6TMSYsYNOk3yXspx4R8b0QVL+xhWQTJRcui
+1lKifH8pktZKxYtCqNT+6tjHhyMY5J16fXNAUpigrm7jBT8FD+Clxm1N7YM3iJzH
+89xCmmq21yFJNnfy7xhPxXDZnunetyuL9Lx+KN8NQMmFXK6dxTH/0FwOtah+8Okv
+uq+IruW10Vilr5xxpykBkINpN4IFuvwJwQhujHg7wzMCgD9EhQgd31VWCK0shS1d
+sQPhrqp0xaTzTro3mHuCuQ==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/diginotar_public_ca_2025.pem b/chromium/net/data/ssl/certificates/diginotar_public_ca_2025.pem
new file mode 100644
index 00000000000..c81461a59d4
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/diginotar_public_ca_2025.pem
@@ -0,0 +1,35 @@
+-----BEGIN CERTIFICATE-----
+MIIGAzCCA+ugAwIBAgIQHn16Uz1FMEGWQA9xSB9FBDANBgkqhkiG9w0BAQUFADBf
+MQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdp
+Tm90YXIgUm9vdCBDQTEgMB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmww
+HhcNMDYwMjA2MTYwNzAyWhcNMjUwMzI4MTYwNzAyWjBmMQswCQYDVQQGEwJOTDES
+MBAGA1UEChMJRGlnaU5vdGFyMSEwHwYDVQQDExhEaWdpTm90YXIgUHVibGljIENB
+IDIwMjUxIDAeBgkqhkiG9w0BCQEWEWluZm9AZGlnaW5vdGFyLm5sMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/2eu/I5fMG8lbvPph3e8zfJpZQtg/72
+Yx29+ivtKehiF6A3n785XyoY6IT3vlCrhy1CbMOY3M0x1n4YQlv17B0XZ/DqHyBA
+SQvnDNbkM9j4NoSy/sRtGsP6PetIFFjrhE9whZuvuSUC1PY4PruEEJp8zOCx4+wU
+Zt9xvjy4Xra+bSia5rwccQ/R5FYTGKrYCthOy9C9ud5Fhd++rlVhgdA/78w+Cs2s
+xS4i0MAxG75P3/e/bATJKepbydHdDjkyz9o3RW/wdPUXhzEw4EwUjYg6XJrDzMad
+6aL9M/eaxDjgz6o48EaWRDrGptaE2uJRuErVz7oOO0p/wYKq/BU+/wIDAQABo4IB
+sjCCAa4wOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vdmFsaWRh
+dGlvbi5kaWdpbm90YXIubmwwHwYDVR0jBBgwFoAUiGi/4I41xDs4a2L3KDuEgcgM
+100wEgYDVR0TAQH/BAgwBgEB/wIBADCBxgYDVR0gBIG+MIG7MIG4Bg5ghBABh2kB
+AQEBBQIGBDCBpTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpbm90YXIubmwv
+Y3BzMHoGCCsGAQUFBwICMG4abENvbmRpdGlvbnMsIGFzIG1lbnRpb25lZCBvbiBv
+dXIgd2Vic2l0ZSAod3d3LmRpZ2lub3Rhci5ubCksIGFyZSBhcHBsaWNhYmxlIHRv
+IGFsbCBvdXIgcHJvZHVjdHMgYW5kIHNlcnZpY2VzLjBDBgNVHR8EPDA6MDigNqA0
+hjJodHRwOi8vc2VydmljZS5kaWdpbm90YXIubmwvY3JsL3Jvb3QvbGF0ZXN0Q1JM
+LmNybDAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFN8zwK+S/jf8ttgWFtDZsZHV
++m6lMA0GCSqGSIb3DQEBBQUAA4ICAQCfV1rmBd9QStEyQ40lT0tqby0/3ez0STuJ
+ESBQLQD56XYdb4VFSuqA6xTtiuSVHLoiv2xyISN9FvX3A5VtifkJ00JEaLQJiSsE
+wGDkYGl1DT7SsqtAVKdMAuCM+e0j0/RV3hZ6kcrM7/wFccHwM+/TiurR9lgZDzB4
+a7++A4XrYyKx9vc9ZwBEnD1nrAe7++gg9cuZgP7e+QL0FBHMjpw+gnCDjr2dzBZC
+4r+b8SOqlbPRPexBuNghlc7PfcPIyFis2LJXDRMWiAd3TcfdALwRsuKMR/T+cwyr
+asy69OEGHplLT57otQ524BDctDXNzlH9bHEh52QzqkWvIDqs42910IUy1nYNPIUG
+yYJV/T7H8Jb6vfMZWe47iUFvtNZCi8+b542gRUwdi+ca+hGviBC9Qr4Wv1pl7CBQ
+Hy1axTkHiQawUo/hgmoetCpftugl9yJTfvsBorUV1ZMxn9B1JLSGtWnbUsFRla7G
+fNa0IsUkzmmha8XCzvNu0d1PDGtcQyUqmDOE1Hx4cIBeuF8ipuIXkrVCr9zAZ4ZC
+hgz6aA1gDTW8whSRJqYEYEQ0pcMEFLyXE+Nz3O8NinO2AuxqKhjMk13203xA7lPY
+MnBQ0v7S3qqbp/pvPMiUhOz/VaYted6QmOY5EATBnFiLCuw87JXoAyp382eJ3WX1
+hOiR4IX9Tg==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/diginotar_root_ca.pem b/chromium/net/data/ssl/certificates/diginotar_root_ca.pem
new file mode 100644
index 00000000000..b972b4bc50c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/diginotar_root_ca.pem
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFijCCA3KgAwIBAgIQDHbanJEMTiye/hXQWJM8TDANBgkqhkiG9w0BAQUFADBf
+MQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdp
+Tm90YXIgUm9vdCBDQTEgMB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmww
+HhcNMDcwNTE2MTcxOTM2WhcNMjUwMzMxMTgxOTIxWjBfMQswCQYDVQQGEwJOTDES
+MBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90YXIgUm9vdCBDQTEg
+MB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQCssFjBAL3YIQgLK5r+blYwBZ8bd5AQQVzDDYcRd46B
+8cp86Yxq7Th0Nbva3/m7wAk3tJZzgX0zGpg595NvlX89ubF1h7pRSOiLcD6VBMXY
+tsMW2YiwsYcdcNqGtA8Ui3rPENF0NqISe3eGSnnme98CEWilToauNFibJBN4ViIl
+HgGLS1Fx+4LMWZZpiFpoU8W5DQI3y0u8ZkqQfioLBQftFl9VkHXYRskbg+IIvvEj
+zJkd1ioPgyAVWCeCLvriIsJJsbkBgWqdbZ1Ad2h2TiEqbYRAhU52mXyC8/O3AlnU
+JgEbjt+tUwbRrhjd4rI6y9eIOI6sWym5GdOY+RgDz0iChmYLG2kPyes4iHomGgVM
+ktck1JbyrFIto0fVUvY//s6EBnCmqj6i8rZWNBhXouSBbefK8GrTx5FrAoNBfBXv
+a5pkXuPQPOWx63tdhvvL5ndJzaNl3Pe5nLjkC1+Tz8wwGjIczhxjlaX56uF0i57p
+K6kwe6AYHw4YC+VbqdPRbB4HZ4+RS6mKvNJmqpMBiLKR+jFc1abBUggJzQpjotMi
+puih2TkGl/VujQKQjBR7P4DNG5y6xFhyI6+2Vp/GekIzKQc/gsnmHwUNzUwoNovT
+yD4cxojvXu6JZOkd69qJfjKmadHdzIif0dDJZiHcBmfFlHqabWJMfczgZICynkeO
+owIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
+HQ4EFgQUiGi/4I41xDs4a2L3KDuEgcgM100wDQYJKoZIhvcNAQEFBQADggIBADsC
+jcs8MOhuoK3yc7NfniUTBAXT9uOLuwt5zlPe5JbF0a9zvNXD0EBVfEB/zRtfCdXy
+fJ9oHbtdzno5wozWmHvFg1Wo1X1AyuAe94leY12hE8JdiraKfADzI8PthV9xdvBo
+Y6pFITlIYXg23PFDk9Qlx/KAZeFTAnVR/Ho67zerhChXDNjU1JlWbOOi/lmEtDHo
+M/hklJRRl6s5xUvt2t2AC298KQ3EjopyDedTFLJgQT2EkTFoPSdE2+Xe9PpjRchM
+Ppj1P0G6Tss3DbpmmPHdy59c91Q2gmssvBNhl0L4eLvMyKKfyvBovWsdst+Nbwed
+2o5nx0ceyrm/KkKRt2NTZvFCo+H0Wk1Ya7XkpDOtXHAd3ODy63MUkZoDweoAZbwH
+/M8SESIsrqC9OuCiKthZ6SnTGDWkrBFfGbW1G/8iSlzGeuQX7yCpp/Q/rYqnmgQl
+nQ7KN+ZQ/YxCKQSa7LnPS3K94gg2ryMvYuXKAdNw23yCIywWMQzGNgeQerEfZ1jE
+O1hZibCMjFCz2IbLaKPECudpSyDOwR5WS5WpI2jYMNjD67BVUc3l/Su49bsRn1NU
+9jQZjHkJNsphFyUXC4KYcwx3dMPVDceoEkzHp1RxRy4sGn3J4ys7SN4nhKdjNrN9
+j6BkOSQNPXuHr2ZcdBtLc7LljPCGmbjlxd+Ewbfr
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/diginotar_services_1024_ca.pem b/chromium/net/data/ssl/certificates/diginotar_services_1024_ca.pem
new file mode 100644
index 00000000000..d32de7afdaa
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/diginotar_services_1024_ca.pem
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIIDzTCCAzagAwIBAgIERpwssDANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
+VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
+ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
+KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
+ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzA3
+MjYxNTU5MDBaFw0xMzA4MjYxNjI5MDBaMGgxCzAJBgNVBAYTAk5MMRIwEAYDVQQK
+EwlEaWdpTm90YXIxIzAhBgNVBAMTGkRpZ2lOb3RhciBTZXJ2aWNlcyAxMDI0IENB
+MSAwHgYJKoZIhvcNAQkBFhFpbmZvQGRpZ2lub3Rhci5ubDCBnzANBgkqhkiG9w0B
+AQEFAAOBjQAwgYkCgYEA2ptNXTz50eKLxsYIIMXZHkjsZlhneWIrQWP0iY1o2q+4
+lDaLGSSkoJPSmQ+yrS01Tc0vauH5mxkrvAQafi09UmTN8T5nD4ku6PJPrqYIoYX+
+oakJ5sarPkP8r3oDkdqmOaZh7phPGKjTs69mgumfvN1y+QYEvRLZGCTnq5NTi1kC
+AwEAAaOCASYwggEiMBIGA1UdEwEB/wQIMAYBAf8CAQAwJwYDVR0lBCAwHgYIKwYB
+BQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAwMwYI
+KwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5lbnRydXN0Lm5l
+dDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3JsLmVudHJ1c3QubmV0L3NlcnZl
+cjEuY3JsMB0GA1UdDgQWBBT+3JRJDG/vXH/G8RKZTxZJrfuCZTALBgNVHQ8EBAMC
+AQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0BowGQYJKoZIhvZ9B0EA
+BAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEFBQADgYEAY3RqN6k/lpxmyFisCcnv
+9WWUf6MCxDgxvV0jh+zUVrLJsm7kBQb87PX6iHBZ1O7m3bV6oKNgLwIMq94SXa/w
+NUuqikeRGvWFLELHHe+VQ7NeuJWTpdrFKKqtci0xrZlrbP+MISevrZqRK8fdWMNu
+B8WfedLHjFW/TMcnXlEWKz4=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/dod_ca_13_cert.der b/chromium/net/data/ssl/certificates/dod_ca_13_cert.der
new file mode 100644
index 00000000000..bcf3ec2b24f
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/dod_ca_13_cert.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/dod_ca_17_cert.der b/chromium/net/data/ssl/certificates/dod_ca_17_cert.der
new file mode 100644
index 00000000000..50e509eebda
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/dod_ca_17_cert.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/dod_root_ca_2_cert.der b/chromium/net/data/ssl/certificates/dod_root_ca_2_cert.der
new file mode 100644
index 00000000000..30dcdb99970
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/dod_root_ca_2_cert.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/duplicate_cn_1.p12 b/chromium/net/data/ssl/certificates/duplicate_cn_1.p12
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/duplicate_cn_1.p12
diff --git a/chromium/net/data/ssl/certificates/duplicate_cn_1.pem b/chromium/net/data/ssl/certificates/duplicate_cn_1.pem
new file mode 100644
index 00000000000..c581cb54ad3
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/duplicate_cn_1.pem
@@ -0,0 +1,78 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=B Root CA
+ Validity
+ Not Before: May 20 23:20:42 2013 GMT
+ Not After : May 18 23:20:42 2023 GMT
+ Subject: O=Foo, CN=Duplicate
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:c8:3c:a1:5e:3c:f8:61:26:9f:62:ed:c1:a2:c7:
+ 7b:af:77:9a:c0:4f:c0:f7:39:96:08:b0:b6:19:b3:
+ 4b:58:7b:98:94:e1:24:c5:30:4b:da:bf:6b:67:e7:
+ bd:1b:e6:c8:36:18:79:53:f8:85:bc:c7:fa:fb:bd:
+ 10:7f:4d:90:e0:8d:c2:bc:63:75:36:8b:63:a5:87:
+ 34:36:06:4a:23:e4:8a:93:48:97:3b:e4:52:3e:9d:
+ 8e:d1:1b:bc:4e:8d:09:61:5c:42:70:d9:48:8d:45:
+ e7:f8:cb:bc:98:4f:50:8f:6b:91:99:b5:4a:df:eb:
+ 73:8b:b8:65:88:99:9e:70:3f:bf:3a:2d:f4:ff:97:
+ a8:4e:28:ee:9a:6d:0b:45:82:bc:c7:93:38:a5:d8:
+ f3:ab:ff:d2:85:9c:93:d0:95:5c:85:11:89:be:d1:
+ 90:70:db:c7:34:32:c2:e4:a4:cb:e4:96:87:a5:42:
+ d1:18:15:83:db:18:28:a6:08:95:3f:07:dc:73:b7:
+ 14:5f:75:68:f9:9e:c0:60:1a:97:01:72:39:48:98:
+ a0:15:54:d7:d9:87:9d:86:c8:ef:3f:d1:62:5e:d2:
+ 9e:f5:60:bb:49:bc:fc:68:16:df:0d:70:03:9c:af:
+ dc:0f:3c:7d:3f:0d:7c:54:7c:0f:16:5e:ad:03:d5:
+ 3c:d9
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 14:0D:5C:0D:44:95:BA:5E:0F:25:3F:F6:F0:7C:A0:C3:B9:3A:BD:AF
+ X509v3 Authority Key Identifier:
+ keyid:42:00:DD:75:A7:80:94:A0:B0:8E:9F:0B:99:08:CF:A7:BE:B7:EA:A9
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ Signature Algorithm: sha1WithRSAEncryption
+ 6c:f9:75:5b:42:5a:58:59:38:39:eb:54:e8:dd:74:30:d4:62:
+ 79:87:90:c2:e6:2f:58:85:b6:2d:ff:5d:68:7a:1f:6d:21:71:
+ f5:3c:47:9c:0c:cb:3c:63:1c:87:dc:a8:da:09:98:55:26:84:
+ 55:0e:63:31:4c:ce:9d:22:e4:cd:b0:3a:9a:df:45:ab:7a:6b:
+ 17:36:b6:30:d3:d9:04:37:67:73:23:ae:78:d2:6f:2f:49:0d:
+ 02:cd:c9:a0:5d:b0:70:53:03:01:32:81:20:d5:28:07:f6:54:
+ 75:b7:89:9d:14:89:09:7c:db:a2:4f:23:a3:4e:0c:38:68:58:
+ b2:91:f1:34:55:69:ab:40:09:b3:72:b7:4b:58:ff:bd:42:62:
+ 0e:9e:76:ca:da:70:8b:ce:3e:e1:88:c5:3f:1f:1a:90:d1:e1:
+ ce:93:12:6c:04:b4:d1:fb:b7:80:cb:4c:e5:0b:93:35:31:27:
+ 75:cc:c8:dd:37:43:5f:33:6a:4c:7f:5a:45:1d:c2:6e:f4:c0:
+ c0:c5:30:c4:1a:76:1f:d6:ea:25:7c:ce:da:88:74:08:78:01:
+ cd:c6:9d:c7:f2:bd:43:65:a6:35:55:2d:14:1f:03:c7:b9:e7:
+ 5e:aa:ce:73:bc:67:9e:25:10:3c:1a:b9:f9:9e:06:3c:c3:82:
+ 98:0c:bc:e0
+-----BEGIN CERTIFICATE-----
+MIIDITCCAgmgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwFDESMBAGA1UEAwwJQiBS
+b290IENBMB4XDTEzMDUyMDIzMjA0MloXDTIzMDUxODIzMjA0MlowIjEMMAoGA1UE
+CgwDRm9vMRIwEAYDVQQDDAlEdXBsaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIPKFePPhhJp9i7cGix3uvd5rAT8D3OZYIsLYZs0tYe5iU4STF
+MEvav2tn570b5sg2GHlT+IW8x/r7vRB/TZDgjcK8Y3U2i2OlhzQ2Bkoj5IqTSJc7
+5FI+nY7RG7xOjQlhXEJw2UiNRef4y7yYT1CPa5GZtUrf63OLuGWImZ5wP786LfT/
+l6hOKO6abQtFgrzHkzil2POr/9KFnJPQlVyFEYm+0ZBw28c0MsLkpMvkloelQtEY
+FYPbGCimCJU/B9xztxRfdWj5nsBgGpcBcjlImKAVVNfZh52GyO8/0WJe0p71YLtJ
+vPxoFt8NcAOcr9wPPH0/DXxUfA8WXq0D1TzZAgMBAAGjbzBtMAwGA1UdEwEB/wQC
+MAAwHQYDVR0OBBYEFBQNXA1ElbpeDyU/9vB8oMO5Or2vMB8GA1UdIwQYMBaAFEIA
+3XWngJSgsI6fC5kIz6e+t+qpMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
+AjANBgkqhkiG9w0BAQUFAAOCAQEAbPl1W0JaWFk4OetU6N10MNRieYeQwuYvWIW2
+Lf9daHofbSFx9TxHnAzLPGMch9yo2gmYVSaEVQ5jMUzOnSLkzbA6mt9Fq3prFza2
+MNPZBDdncyOueNJvL0kNAs3JoF2wcFMDATKBINUoB/ZUdbeJnRSJCXzbok8jo04M
+OGhYspHxNFVpq0AJs3K3S1j/vUJiDp52ytpwi84+4YjFPx8akNHhzpMSbAS00fu3
+gMtM5QuTNTEndczI3TdDXzNqTH9aRR3CbvTAwMUwxBp2H9bqJXzO2oh0CHgBzcad
+x/K9Q2WmNVUtFB8Dx7nnXqrOc7xnniUQPBq5+Z4GPMOCmAy84A==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/duplicate_cn_2.p12 b/chromium/net/data/ssl/certificates/duplicate_cn_2.p12
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/duplicate_cn_2.p12
diff --git a/chromium/net/data/ssl/certificates/duplicate_cn_2.pem b/chromium/net/data/ssl/certificates/duplicate_cn_2.pem
new file mode 100644
index 00000000000..eb78e991dd6
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/duplicate_cn_2.pem
@@ -0,0 +1,78 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=B Root CA
+ Validity
+ Not Before: May 20 23:20:42 2013 GMT
+ Not After : May 18 23:20:42 2023 GMT
+ Subject: O=Bar, CN=Duplicate
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:c8:3c:a1:5e:3c:f8:61:26:9f:62:ed:c1:a2:c7:
+ 7b:af:77:9a:c0:4f:c0:f7:39:96:08:b0:b6:19:b3:
+ 4b:58:7b:98:94:e1:24:c5:30:4b:da:bf:6b:67:e7:
+ bd:1b:e6:c8:36:18:79:53:f8:85:bc:c7:fa:fb:bd:
+ 10:7f:4d:90:e0:8d:c2:bc:63:75:36:8b:63:a5:87:
+ 34:36:06:4a:23:e4:8a:93:48:97:3b:e4:52:3e:9d:
+ 8e:d1:1b:bc:4e:8d:09:61:5c:42:70:d9:48:8d:45:
+ e7:f8:cb:bc:98:4f:50:8f:6b:91:99:b5:4a:df:eb:
+ 73:8b:b8:65:88:99:9e:70:3f:bf:3a:2d:f4:ff:97:
+ a8:4e:28:ee:9a:6d:0b:45:82:bc:c7:93:38:a5:d8:
+ f3:ab:ff:d2:85:9c:93:d0:95:5c:85:11:89:be:d1:
+ 90:70:db:c7:34:32:c2:e4:a4:cb:e4:96:87:a5:42:
+ d1:18:15:83:db:18:28:a6:08:95:3f:07:dc:73:b7:
+ 14:5f:75:68:f9:9e:c0:60:1a:97:01:72:39:48:98:
+ a0:15:54:d7:d9:87:9d:86:c8:ef:3f:d1:62:5e:d2:
+ 9e:f5:60:bb:49:bc:fc:68:16:df:0d:70:03:9c:af:
+ dc:0f:3c:7d:3f:0d:7c:54:7c:0f:16:5e:ad:03:d5:
+ 3c:d9
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 14:0D:5C:0D:44:95:BA:5E:0F:25:3F:F6:F0:7C:A0:C3:B9:3A:BD:AF
+ X509v3 Authority Key Identifier:
+ keyid:42:00:DD:75:A7:80:94:A0:B0:8E:9F:0B:99:08:CF:A7:BE:B7:EA:A9
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ Signature Algorithm: sha1WithRSAEncryption
+ 13:cf:8c:72:24:c5:2f:20:d2:5d:a4:8c:ad:68:e3:27:6b:58:
+ 7f:9b:b5:c4:25:cb:b4:62:ff:4b:db:5a:57:13:b2:49:2c:3f:
+ 51:82:84:33:75:3a:4b:d7:14:d4:91:37:7c:f6:40:a3:e2:da:
+ 82:d3:cf:1a:2b:43:3b:76:18:37:63:42:5f:3a:02:a1:b9:23:
+ ff:ea:4c:ec:22:c9:b8:2a:9e:19:d0:01:cb:63:bf:a4:7e:97:
+ d9:8e:b9:a9:39:3f:09:44:ee:30:f5:fc:0c:0f:91:eb:ce:b7:
+ 72:eb:a0:c0:34:6e:69:7d:43:9c:2e:ba:d5:39:60:db:ad:d1:
+ 5c:f3:72:68:d4:73:c6:04:a6:a4:3a:15:21:87:85:31:20:0f:
+ ed:65:65:ec:66:57:1a:9b:bd:72:10:e3:55:5e:94:f4:51:cd:
+ 93:a2:2f:02:85:5d:65:af:5d:95:50:54:3b:dc:9a:33:04:e0:
+ cd:6c:a3:6d:a0:1a:84:c9:da:8a:db:cc:9f:90:b0:df:ee:ff:
+ 0c:bd:58:f0:98:6e:a3:21:d8:ab:e2:99:a1:44:92:ad:d3:f7:
+ 91:b2:72:9a:a6:75:4d:19:4a:6e:1f:64:27:a6:ce:39:79:ef:
+ 5d:db:f2:7b:0f:6e:52:96:22:27:b3:67:81:f5:13:8d:79:0a:
+ d5:9f:f1:af
+-----BEGIN CERTIFICATE-----
+MIIDITCCAgmgAwIBAgICAO0wDQYJKoZIhvcNAQEFBQAwFDESMBAGA1UEAwwJQiBS
+b290IENBMB4XDTEzMDUyMDIzMjA0MloXDTIzMDUxODIzMjA0MlowIjEMMAoGA1UE
+CgwDQmFyMRIwEAYDVQQDDAlEdXBsaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIPKFePPhhJp9i7cGix3uvd5rAT8D3OZYIsLYZs0tYe5iU4STF
+MEvav2tn570b5sg2GHlT+IW8x/r7vRB/TZDgjcK8Y3U2i2OlhzQ2Bkoj5IqTSJc7
+5FI+nY7RG7xOjQlhXEJw2UiNRef4y7yYT1CPa5GZtUrf63OLuGWImZ5wP786LfT/
+l6hOKO6abQtFgrzHkzil2POr/9KFnJPQlVyFEYm+0ZBw28c0MsLkpMvkloelQtEY
+FYPbGCimCJU/B9xztxRfdWj5nsBgGpcBcjlImKAVVNfZh52GyO8/0WJe0p71YLtJ
+vPxoFt8NcAOcr9wPPH0/DXxUfA8WXq0D1TzZAgMBAAGjbzBtMAwGA1UdEwEB/wQC
+MAAwHQYDVR0OBBYEFBQNXA1ElbpeDyU/9vB8oMO5Or2vMB8GA1UdIwQYMBaAFEIA
+3XWngJSgsI6fC5kIz6e+t+qpMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
+AjANBgkqhkiG9w0BAQUFAAOCAQEAE8+MciTFLyDSXaSMrWjjJ2tYf5u1xCXLtGL/
+S9taVxOySSw/UYKEM3U6S9cU1JE3fPZAo+LagtPPGitDO3YYN2NCXzoCobkj/+pM
+7CLJuCqeGdABy2O/pH6X2Y65qTk/CUTuMPX8DA+R6863cuugwDRuaX1DnC661Tlg
+263RXPNyaNRzxgSmpDoVIYeFMSAP7WVl7GZXGpu9chDjVV6U9FHNk6IvAoVdZa9d
+lVBUO9yaMwTgzWyjbaAahMnaitvMn5Cw3+7/DL1Y8JhuoyHYq+KZoUSSrdP3kbJy
+mqZ1TRlKbh9kJ6bOOXnvXdvyew9uUpYiJ7NngfUTjXkK1Z/xrw==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/eku-test-root.pem b/chromium/net/data/ssl/certificates/eku-test-root.pem
new file mode 100644
index 00000000000..faeb997b753
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/eku-test-root.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 17699587613995562877 (0xf5a19128931bf77d)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 RSA Test Root CA
+ Validity
+ Not Before: Jan 23 23:51:05 2013 GMT
+ Not After : Jan 21 23:51:05 2023 GMT
+ Subject: CN=2048 RSA Test Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:b3:86:f9:ec:39:f5:63:1b:16:17:c9:fa:04:1a:
+ 32:1b:d8:ff:01:7c:55:2f:90:66:da:be:8a:b6:1e:
+ 68:ad:08:60:dc:63:40:c3:9c:fc:17:e9:5b:1f:bf:
+ a0:c7:de:42:7d:d8:cf:7b:56:9e:c7:17:65:65:45:
+ c5:e0:b0:80:c9:8a:b2:a5:a3:6e:af:14:96:56:9a:
+ 12:b1:2b:d6:ef:e6:03:79:96:70:9b:6b:01:9e:42:
+ 66:1f:8d:4b:bb:c7:60:09:df:2f:cc:b6:92:32:58:
+ 91:2d:80:c5:0c:d5:e0:a7:48:1e:5a:3a:e0:68:34:
+ 67:c0:67:59:2f:0d:fd:53:4c:5e:15:2a:2c:c2:ba:
+ 8e:1e:61:86:88:cc:84:74:9f:05:ed:7b:10:c2:b5:
+ dc:57:8f:9f:cc:ad:a4:bd:a0:97:90:2a:a8:8e:fc:
+ e3:13:2d:ef:a6:6b:41:54:4a:60:d3:d6:18:8f:4e:
+ 4f:fb:db:42:c3:5f:14:56:cd:e8:29:d1:f5:9b:55:
+ 66:c1:d5:3c:c0:6b:04:1a:a8:51:89:36:c9:43:eb:
+ f6:5d:4f:74:3b:4d:ff:9c:9b:00:49:31:8c:bb:c3:
+ 29:49:9e:08:6a:2b:41:a0:75:95:44:2d:28:6e:eb:
+ f9:4f:6c:2f:db:23:37:ef:f2:2a:3b:5e:e4:e4:0a:
+ e8:8d
+ Exponent: 65537 (0x10001)
+ Signature Algorithm: sha1WithRSAEncryption
+ 49:b1:97:48:72:dc:fb:97:56:f8:e7:80:81:9e:be:4b:9a:6a:
+ d8:5e:b0:59:a1:45:65:f8:1d:ad:c3:de:41:c9:33:17:66:47:
+ 36:54:7f:3c:e8:84:a0:81:40:79:7a:4f:09:1c:88:11:e4:b7:
+ b9:b1:ef:43:7b:70:67:21:81:9c:87:50:b0:1f:f6:fa:28:a4:
+ 62:e5:7d:e4:33:1c:50:11:7d:61:60:e4:bb:95:ba:0d:95:e8:
+ a3:44:07:58:47:c8:e2:57:dc:a6:80:12:62:a4:a4:73:a1:9b:
+ fc:6b:da:4d:44:44:8c:fc:c0:03:b2:6a:41:90:cd:db:53:17:
+ 05:74:7d:dd:3a:88:c6:ec:5d:d4:80:37:22:7f:b0:d2:eb:db:
+ 6e:1d:d5:fd:d7:1d:ee:29:c3:11:85:94:07:0d:f6:8b:7f:c6:
+ 35:39:08:74:87:3c:35:28:18:7c:dc:71:6c:e7:6c:a6:34:77:
+ 27:e7:0a:a8:dc:cf:b7:73:3c:45:b0:26:c3:09:d6:f9:ce:70:
+ 5a:7c:eb:5e:a5:60:97:55:f2:e2:87:8c:96:00:03:a9:20:2a:
+ 4d:b3:10:96:26:1c:c8:dc:58:30:62:95:05:a5:45:d8:07:d2:
+ 0d:47:a9:e8:2e:d0:75:f1:36:c1:d1:ca:9a:2e:5d:75:f7:69:
+ 3e:00:ae:9d
+-----BEGIN CERTIFICATE-----
+MIICvDCCAaQCCQD1oZEokxv3fTANBgkqhkiG9w0BAQUFADAgMR4wHAYDVQQDDBUy
+MDQ4IFJTQSBUZXN0IFJvb3QgQ0EwHhcNMTMwMTIzMjM1MTA1WhcNMjMwMTIxMjM1
+MTA1WjAgMR4wHAYDVQQDDBUyMDQ4IFJTQSBUZXN0IFJvb3QgQ0EwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzhvnsOfVjGxYXyfoEGjIb2P8BfFUvkGba
+voq2HmitCGDcY0DDnPwX6Vsfv6DH3kJ92M97Vp7HF2VlRcXgsIDJirKlo26vFJZW
+mhKxK9bv5gN5lnCbawGeQmYfjUu7x2AJ3y/MtpIyWJEtgMUM1eCnSB5aOuBoNGfA
+Z1kvDf1TTF4VKizCuo4eYYaIzIR0nwXtexDCtdxXj5/MraS9oJeQKqiO/OMTLe+m
+a0FUSmDT1hiPTk/720LDXxRWzegp0fWbVWbB1TzAawQaqFGJNslD6/ZdT3Q7Tf+c
+mwBJMYy7wylJnghqK0GgdZVELShu6/lPbC/bIzfv8io7XuTkCuiNAgMBAAEwDQYJ
+KoZIhvcNAQEFBQADggEBAEmxl0hy3PuXVvjngIGevkuaathesFmhRWX4Ha3D3kHJ
+MxdmRzZUfzzohKCBQHl6TwkciBHkt7mx70N7cGchgZyHULAf9voopGLlfeQzHFAR
+fWFg5LuVug2V6KNEB1hHyOJX3KaAEmKkpHOhm/xr2k1ERIz8wAOyakGQzdtTFwV0
+fd06iMbsXdSANyJ/sNLr224d1f3XHe4pwxGFlAcN9ot/xjU5CHSHPDUoGHzccWzn
+bKY0dyfnCqjcz7dzPEWwJsMJ1vnOcFp8616lYJdV8uKHjJYAA6kgKk2zEJYmHMjc
+WDBilQWlRdgH0g1Hqegu0HXxNsHRypouXXX3aT4Arp0=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/empty_subject_cert.der b/chromium/net/data/ssl/certificates/empty_subject_cert.der
new file mode 100644
index 00000000000..0a2283aa425
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/empty_subject_cert.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/expired_cert.pem b/chromium/net/data/ssl/certificates/expired_cert.pem
new file mode 100644
index 00000000000..1fa3c10bf0e
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/expired_cert.pem
@@ -0,0 +1,110 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcLvSySLaCEIdT
+Q+Ahzoi//Ai4d2IawA84yV42iHR/zlTeTKIifpVp1KH8VJ4smC6/KKtkfnLWljxp
+9dIjHMLrTf4nD6gtgMEJdmmz++py9X9cuS9TJ79k1V6BlnzU4R39pbl9KF5BOM2Q
+AvGoiODRr+B5BpERqImtfzQ3iQcgGoAvbclJNtlBl6r40F/VW4+mpPMjo1OJSYRd
+2z2ILq8Hi1eiW9AKd4UJ3IsdU9lwm9SfNQyhIi68KfzxaWohSD/wFqz83Y/1nxlB
+2KkJ4XStd2uMQ0ymxM4ocDl7/MiaM/VrJG2PM76Bl4Wv7GCngcw6MFvy18mtVwRG
+SxJJNx7TAgMBAAECggEAMfw+9NJpDHHwJsj78vDOPrday3Xewa/kRMICL2Me/3y5
+65V+IVKXXOU2uPAE0J7jzeXPswq5y1lj8bIquGnpHj4geoGlbl8Sc7F8Ia4I9Xwi
+I8yun7QgUSXXRJgDUtigVFrxFya47xmUISNp9RbN4wyIazFAcb/PMaH1Gr5y7ahq
+je2YV5wvG2YG18LJrSrAYmxEVUqECFv0B8fQS23pbjJlzJdtBVheRz/uWuAQ8jma
+I1tI2sT/NKikMhUwqdTWZSkuOEMKmB18K/rxFpKLQYx6vo8irwvk2pZHAHTV/WYO
+jlqkXBMviHAUHBoOVG8DeiVlBNnOY8+Ef94ngaqw4QKBgQD5vzh7UcvYwdQbsOUO
+NiQKBgt1FpE4nGglR3i0inxIYqkkmEDMthvzYEZPCVQsNHJPy92O5mjp6tNb1NcN
+T9faJ7USa3Cse+z7/dNgnu7BFfW3sahLzvaS4rMY5N0a3LA9aneUwRpj1JALXOnq
+CgN0zPea92AJyZkvq3d6gMnt2wKBgQDhsj6gOk7ojf3RL5htU0s/nFI1pzo1TiHj
+uHlQvQfnLPTZ9gWC66YUghOtfYCgSmZa7Zvmp4YP9wYE1CR34j3FltVhatOQG0yF
+gzf0htQ/r7z1A8QJcXNh4DNGZdjHnXDK0dFzRhJFlknrnAgZhN1tQlPrlObzp1kQ
+L0YhgfqwaQKBgQCPqZrQ/W14Y48i2q/4a9ZxWabPlMq2uOoDv8hEeoEhlndb0KU9
+3OfZKSFop6Iex5CWLFxnrkzdejJY2edXBf3RxROY4+rtnV/mWM12ABaxRXOSVoTM
+DuKx/ewuPsCdiiNrQMpG7InEsWqmzqzT7yyrzJgGMZSyLKCM1mKlOl5uDwKBgQCK
+kzWOjZ6LfTs9qFqPrZfDO8jiNoYv2oRGXKroHthuYZUJCtyBcQytBNzuJePHB0dn
+RwL1ESDoRoTEjDjD/v5shlsHkF7L2WcXhuThV7OUUuPTEHfaUHVGwDDbZYc/sPRj
+I4bVn01yun8ykcALYx/NiO8b83YGXlb57/zAcB0rGQKBgQC7P+qSkSwQsmjnQw1z
+1Or3v4eojlUHF3FXsGb13TAPKBCtnENlyIk51AnfC0ieBYsVOycVMW5RuNcTEF3C
+Sx/hBpkPgz4UgfFtBwgT+N84Cp0vAZ7YnP4tSu2kvm0Ehz92pUZZmqCNawp8vjjS
+zJB+cmCxvRYtVgKCr7Q8NVUsuA==
+-----END PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Test Root CA
+ Validity
+ Not Before: Jan 1 00:00:00 2006 GMT
+ Not After : Jan 1 00:00:00 2007 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:dc:2e:f4:b2:48:b6:82:10:87:53:43:e0:21:ce:
+ 88:bf:fc:08:b8:77:62:1a:c0:0f:38:c9:5e:36:88:
+ 74:7f:ce:54:de:4c:a2:22:7e:95:69:d4:a1:fc:54:
+ 9e:2c:98:2e:bf:28:ab:64:7e:72:d6:96:3c:69:f5:
+ d2:23:1c:c2:eb:4d:fe:27:0f:a8:2d:80:c1:09:76:
+ 69:b3:fb:ea:72:f5:7f:5c:b9:2f:53:27:bf:64:d5:
+ 5e:81:96:7c:d4:e1:1d:fd:a5:b9:7d:28:5e:41:38:
+ cd:90:02:f1:a8:88:e0:d1:af:e0:79:06:91:11:a8:
+ 89:ad:7f:34:37:89:07:20:1a:80:2f:6d:c9:49:36:
+ d9:41:97:aa:f8:d0:5f:d5:5b:8f:a6:a4:f3:23:a3:
+ 53:89:49:84:5d:db:3d:88:2e:af:07:8b:57:a2:5b:
+ d0:0a:77:85:09:dc:8b:1d:53:d9:70:9b:d4:9f:35:
+ 0c:a1:22:2e:bc:29:fc:f1:69:6a:21:48:3f:f0:16:
+ ac:fc:dd:8f:f5:9f:19:41:d8:a9:09:e1:74:ad:77:
+ 6b:8c:43:4c:a6:c4:ce:28:70:39:7b:fc:c8:9a:33:
+ f5:6b:24:6d:8f:33:be:81:97:85:af:ec:60:a7:81:
+ cc:3a:30:5b:f2:d7:c9:ad:57:04:46:4b:12:49:37:
+ 1e:d3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 9C:80:C5:A0:E6:0F:7F:D7:E2:6F:BE:D8:F1:13:F8:84:BD:D8:5B:B6
+ X509v3 Authority Key Identifier:
+ keyid:2B:88:93:E1:D2:54:50:F4:B8:A4:20:BD:B1:79:E6:0B:AA:EB:EC:1A
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 5d:0f:99:23:45:8b:a2:24:f7:b7:bb:f7:0a:e9:f9:52:5a:e8:
+ 82:72:ee:b5:86:0d:74:a0:cc:19:32:b0:f9:61:bf:36:26:a4:
+ 94:8c:59:29:68:1e:f4:75:3b:fe:df:8c:5a:d8:29:c0:9f:45:
+ c2:4b:47:1b:15:07:cc:4b:08:26:bb:41:44:49:0a:75:48:06:
+ 4a:e1:e1:51:f5:b6:be:5d:5a:d9:b4:f9:41:64:4d:a9:3e:97:
+ 6f:c0:1f:af:ca:dc:24:11:ec:e0:d0:be:a7:13:11:9f:76:72:
+ 16:95:53:e5:22:6f:44:89:e1:7a:c3:d7:39:7d:fc:5d:40:94:
+ 9a:aa:94:e5:f5:2b:4f:63:c1:34:fe:b7:f6:85:53:32:77:97:
+ 3c:74:11:67:cd:27:b5:e6:cb:8a:18:10:c0:f7:0a:e2:9f:5d:
+ 88:ff:82:54:43:41:dc:51:33:f1:c8:6d:09:c6:25:f0:53:3f:
+ 7e:04:ca:b4:07:f9:c4:9a:0d:ae:65:79:d7:42:e3:6b:1c:7f:
+ 59:67:19:f5:af:d0:b9:f3:73:04:bf:55:1d:ed:49:88:52:f4:
+ dc:3b:fb:a3:56:f8:29:fc:99:3e:6e:7f:9b:12:31:4b:24:c7:
+ a6:a2:95:2f:c3:51:02:66:8e:8e:dc:af:cb:10:e7:34:48:62:
+ 14:db:1d:47
+-----BEGIN CERTIFICATE-----
+MIIDdDCCAlygAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwFzEVMBMGA1UEAwwMVGVz
+dCBSb290IENBMB4XDTA2MDEwMTAwMDAwMFoXDTA3MDEwMTAwMDAwMFowYDELMAkG
+A1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWlu
+IFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANwu9LJItoIQh1ND4CHOiL/8CLh3
+YhrADzjJXjaIdH/OVN5MoiJ+lWnUofxUniyYLr8oq2R+ctaWPGn10iMcwutN/icP
+qC2AwQl2abP76nL1f1y5L1Mnv2TVXoGWfNThHf2luX0oXkE4zZAC8aiI4NGv4HkG
+kRGoia1/NDeJByAagC9tyUk22UGXqvjQX9Vbj6ak8yOjU4lJhF3bPYgurweLV6Jb
+0Ap3hQncix1T2XCb1J81DKEiLrwp/PFpaiFIP/AWrPzdj/WfGUHYqQnhdK13a4xD
+TKbEzihwOXv8yJoz9WskbY8zvoGXha/sYKeBzDowW/LXya1XBEZLEkk3HtMCAwEA
+AaOBgDB+MAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFJyAxaDmD3/X4m++2PET+IS9
+2Fu2MB8GA1UdIwQYMBaAFCuIk+HSVFD0uKQgvbF55guq6+waMB0GA1UdJQQWMBQG
+CCsGAQUFBwMBBggrBgEFBQcDAjAPBgNVHREECDAGhwR/AAABMA0GCSqGSIb3DQEB
+BQUAA4IBAQBdD5kjRYuiJPe3u/cK6flSWuiCcu61hg10oMwZMrD5Yb82JqSUjFkp
+aB70dTv+34xa2CnAn0XCS0cbFQfMSwgmu0FESQp1SAZK4eFR9ba+XVrZtPlBZE2p
+PpdvwB+vytwkEezg0L6nExGfdnIWlVPlIm9EieF6w9c5ffxdQJSaqpTl9StPY8E0
+/rf2hVMyd5c8dBFnzSe15suKGBDA9wrin12I/4JUQ0HcUTPxyG0JxiXwUz9+BMq0
+B/nEmg2uZXnXQuNrHH9ZZxn1r9C583MEv1Ud7UmIUvTcO/ujVvgp/Jk+bn+bEjFL
+JMemopUvw1ECZo6O3K/LEOc0SGIU2x1H
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/explicit-policy-chain.pem b/chromium/net/data/ssl/certificates/explicit-policy-chain.pem
new file mode 100644
index 00000000000..df1a667b880
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/explicit-policy-chain.pem
@@ -0,0 +1,228 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Policy Test Intermediate CA
+ Validity
+ Not Before: Jun 28 18:46:07 2013 GMT
+ Not After : Jun 26 18:46:07 2023 GMT
+ Subject: CN=policy_test.example
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:be:a4:a1:34:5f:d7:70:e7:49:5a:75:2b:c5:8a:
+ 63:43:bb:27:80:83:34:ab:42:6d:21:13:a4:4e:a7:
+ 85:4c:81:53:a4:1d:c4:bd:1b:bc:af:68:fb:4b:84:
+ 38:26:6b:79:96:a2:92:ca:4f:e3:6d:8e:b3:f4:68:
+ f6:ea:db:57:5d:e1:7e:78:52:28:ec:91:6a:20:11:
+ f6:35:2a:0e:4e:dc:6f:df:85:3f:ff:18:31:f6:72:
+ 81:d8:0f:e0:10:5f:cf:40:21:23:16:06:8f:7b:65:
+ ba:8e:db:1b:b0:1f:38:1f:a2:d1:e6:06:46:89:30:
+ fb:04:87:74:8f:95:cc:ce:4a:05:20:d8:ae:04:58:
+ c5:8f:2f:0d:33:9d:50:0d:19:f7:e7:64:35:9a:74:
+ 0d:1c:b5:4b:05:b2:76:1f:17:ec:33:b3:a0:69:fd:
+ 52:2e:c0:f4:3b:83:0b:cd:99:ba:1e:35:b8:ac:57:
+ d7:c9:bb:9a:d8:a0:c6:1a:86:4f:21:b6:3c:07:fc:
+ 36:16:31:7d:88:ab:6e:6f:b1:39:49:62:32:dd:61:
+ 04:12:85:6a:58:1e:8c:c6:68:05:a6:c8:ee:ac:78:
+ 8b:c7:6c:3f:20:a9:d7:e3:9a:fd:e4:d6:47:fb:53:
+ 0c:02:4c:b6:63:24:fc:b1:be:0a:2b:90:be:fd:6e:
+ 9c:2d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Certificate Policies:
+ Policy: 1.2.3.4
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 3e:02:2e:1d:b2:69:0e:5a:d1:14:c7:0f:2b:b3:4d:5a:88:7a:
+ 11:16:77:78:e7:d5:1f:45:08:87:e8:88:92:52:73:eb:cd:41:
+ 93:41:ee:3b:fb:08:77:5d:6c:46:58:79:df:2c:60:09:79:ac:
+ 3c:7b:df:be:20:7c:22:6a:eb:5b:f6:c3:f4:e7:27:83:03:14:
+ 89:32:7b:d7:67:bd:0d:25:12:3a:c9:2d:82:94:1d:36:44:5f:
+ bc:23:bb:9f:a0:0c:09:19:88:4e:6d:1f:ce:83:6a:1b:6b:f0:
+ 08:34:3d:6f:00:7f:b9:f8:57:90:c1:b8:7d:4d:a6:22:f2:1f:
+ 45:44:41:31:d7:c5:b8:05:1c:9c:7e:72:4e:49:6c:52:07:c9:
+ 6d:d8:eb:5f:c7:4a:30:49:f5:4d:bd:70:4e:18:15:c9:cd:ee:
+ 45:c0:94:77:fe:9d:fc:25:9b:e9:53:e3:2f:81:c7:cd:59:14:
+ cf:e2:45:ef:04:a2:a0:17:08:60:a3:8b:75:6b:2b:fd:c5:fd:
+ 92:20:53:7e:ba:28:25:87:cb:23:68:57:aa:2e:ae:22:7d:79:
+ b2:b2:66:01:00:a0:4a:7e:34:bb:b8:bc:be:c0:64:77:0c:dd:
+ 3a:1e:43:54:a4:1f:29:50:c4:2e:16:65:e9:aa:2e:ee:99:1f:
+ de:00:0c:7c
+-----BEGIN CERTIFICATE-----
+MIIDATCCAemgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwJjEkMCIGA1UEAwwbUG9s
+aWN5IFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTEzMDYyODE4NDYwN1oXDTIzMDYy
+NjE4NDYwN1owHjEcMBoGA1UEAwwTcG9saWN5X3Rlc3QuZXhhbXBsZTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6koTRf13DnSVp1K8WKY0O7J4CDNKtC
+bSETpE6nhUyBU6QdxL0bvK9o+0uEOCZreZaikspP422Os/Ro9urbV13hfnhSKOyR
+aiAR9jUqDk7cb9+FP/8YMfZygdgP4BBfz0AhIxYGj3tluo7bG7AfOB+i0eYGRokw
++wSHdI+VzM5KBSDYrgRYxY8vDTOdUA0Z9+dkNZp0DRy1SwWydh8X7DOzoGn9Ui7A
+9DuDC82Zuh41uKxX18m7mtigxhqGTyG2PAf8NhYxfYirbm+xOUliMt1hBBKFalge
+jMZoBabI7qx4i8dsPyCp1+Oa/eTWR/tTDAJMtmMk/LG+CiuQvv1unC0CAwEAAaNB
+MD8wDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
+EAYDVR0gBAkwBzAFBgMqAwQwDQYJKoZIhvcNAQEFBQADggEBAD4CLh2yaQ5a0RTH
+DyuzTVqIehEWd3jn1R9FCIfoiJJSc+vNQZNB7jv7CHddbEZYed8sYAl5rDx7374g
+fCJq61v2w/TnJ4MDFIkye9dnvQ0lEjrJLYKUHTZEX7wju5+gDAkZiE5tH86Dahtr
+8Ag0PW8Af7n4V5DBuH1NpiLyH0VEQTHXxbgFHJx+ck5JbFIHyW3Y61/HSjBJ9U29
+cE4YFcnN7kXAlHf+nfwlm+lT4y+Bx81ZFM/iRe8EoqAXCGCji3VrK/3F/ZIgU366
+KCWHyyNoV6ouriJ9ebKyZgEAoEp+NLu4vL7AZHcM3ToeQ1SkHylQxC4WZemqLu6Z
+H94ADHw=
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Policy Test Root CA
+ Validity
+ Not Before: Jun 28 18:46:07 2013 GMT
+ Not After : Jun 26 18:46:07 2023 GMT
+ Subject: CN=Policy Test Intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:9b:f5:f1:b3:9a:f8:7b:5d:b6:b6:99:97:ee:a8:
+ b5:62:2c:7a:f5:2e:04:42:d7:b3:f5:0b:10:71:50:
+ a8:db:27:11:4c:e0:2f:40:fe:fb:08:54:df:53:86:
+ d2:fc:f9:8b:40:a4:f4:0c:b9:ee:27:f3:be:bb:b1:
+ e5:84:07:3c:d7:b0:75:bc:03:31:ae:e6:35:78:d5:
+ d5:b0:3e:dc:be:3e:da:62:3b:77:90:71:f7:fd:e9:
+ 0d:d9:0a:ed:6a:59:25:b6:50:5a:d9:bd:a2:86:f2:
+ c1:bb:ba:e3:54:b7:20:38:00:aa:f7:1c:57:e5:dd:
+ d0:d5:75:3b:70:84:13:50:08:c0:ec:95:24:c4:8d:
+ 65:68:be:11:68:35:50:d3:d4:96:57:6c:de:3b:7e:
+ fc:c5:dd:c0:f2:77:a4:82:22:14:18:3f:e6:4e:5b:
+ 1e:3c:28:69:99:d9:64:e3:70:30:cc:12:0b:ad:ee:
+ ee:8e:3a:4f:f0:a1:02:dd:b1:d1:d0:3d:2c:ca:52:
+ 04:ea:98:3f:bf:14:15:5e:68:c7:ae:c6:8a:3e:4e:
+ 07:4c:d4:b3:94:4a:3d:ea:86:e2:ae:35:7b:39:0a:
+ 86:c0:f8:79:c2:61:47:59:3a:79:82:e3:56:6b:47:
+ d9:ec:70:33:7a:11:82:71:a6:57:a3:ec:f7:e6:e6:
+ 28:5d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Key Usage: critical
+ Digital Signature, Certificate Sign, CRL Sign
+ X509v3 Policy Constraints:
+ Require Explicit Policy:0
+ X509v3 Certificate Policies:
+ Policy: 1.2.3.4
+ Policy: 1.2.3.4.5
+ Policy: 1.2.3.5
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 1c:0c:79:88:11:1d:40:f2:6e:f1:d9:b7:da:2c:e1:5d:49:28:
+ e7:f5:51:27:d6:46:cc:9b:93:4c:25:ff:98:8d:91:a2:a2:92:
+ 81:6f:28:a9:ef:25:ed:33:01:bd:ab:30:3c:a1:95:ff:88:f0:
+ b5:9d:06:e6:5c:9d:a0:bd:9e:e7:11:bc:ff:19:0f:81:76:42:
+ 30:c6:e7:2d:2b:37:f5:03:66:71:3e:49:8e:0f:2c:42:20:93:
+ 49:42:d8:fa:54:1f:4b:c9:36:ac:eb:fa:fe:e4:bc:31:54:30:
+ 5f:f6:ba:0b:f5:3b:84:79:9d:f2:a9:c2:ca:4c:1b:37:f7:f6:
+ 23:f9:64:56:1e:84:78:f2:57:0b:81:63:51:db:00:8b:eb:52:
+ 54:d5:c5:d3:b5:e9:0a:82:26:cd:42:7b:64:8a:50:f4:fd:d4:
+ 9f:38:d5:27:9c:55:13:6f:ce:65:06:27:8c:e8:08:5b:fc:f9:
+ 5d:b5:57:89:36:20:44:ac:bf:89:77:55:e7:65:38:13:86:93:
+ af:54:7e:f6:2a:24:6a:28:ed:da:23:96:6f:24:be:ec:30:95:
+ 80:f9:77:1f:57:48:6f:56:f9:ab:13:25:91:4a:0a:cc:ff:3b:
+ 6a:43:9d:30:67:6f:06:5a:5c:3f:4a:be:4e:bf:2d:69:35:bd:
+ 95:c2:99:5d
+-----BEGIN CERTIFICATE-----
+MIIDEjCCAfqgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwHjEcMBoGA1UEAwwTUG9s
+aWN5IFRlc3QgUm9vdCBDQTAeFw0xMzA2MjgxODQ2MDdaFw0yMzA2MjYxODQ2MDda
+MCYxJDAiBgNVBAMMG1BvbGljeSBUZXN0IEludGVybWVkaWF0ZSBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJv18bOa+HtdtraZl+6otWIsevUuBELX
+s/ULEHFQqNsnEUzgL0D++whU31OG0vz5i0Ck9Ay57ifzvrux5YQHPNewdbwDMa7m
+NXjV1bA+3L4+2mI7d5Bx9/3pDdkK7WpZJbZQWtm9oobywbu641S3IDgAqvccV+Xd
+0NV1O3CEE1AIwOyVJMSNZWi+EWg1UNPUllds3jt+/MXdwPJ3pIIiFBg/5k5bHjwo
+aZnZZONwMMwSC63u7o46T/ChAt2x0dA9LMpSBOqYP78UFV5ox67Gij5OB0zUs5RK
+PeqG4q41ezkKhsD4ecJhR1k6eYLjVmtH2exwM3oRgnGmV6Ps9+bmKF0CAwEAAaNS
+MFAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDAYDVR0kBAUwA4AB
+ADAfBgNVHSAEGDAWMAUGAyoDBDAGBgQqAwQFMAUGAyoDBTANBgkqhkiG9w0BAQUF
+AAOCAQEAHAx5iBEdQPJu8dm32izhXUko5/VRJ9ZGzJuTTCX/mI2RoqKSgW8oqe8l
+7TMBvaswPKGV/4jwtZ0G5lydoL2e5xG8/xkPgXZCMMbnLSs39QNmcT5Jjg8sQiCT
+SULY+lQfS8k2rOv6/uS8MVQwX/a6C/U7hHmd8qnCykwbN/f2I/lkVh6EePJXC4Fj
+UdsAi+tSVNXF07XpCoImzUJ7ZIpQ9P3UnzjVJ5xVE2/OZQYnjOgIW/z5XbVXiTYg
+RKy/iXdV52U4E4aTr1R+9iokaijt2iOWbyS+7DCVgPl3H1dIb1b5qxMlkUoKzP87
+akOdMGdvBlpcP0q+Tr8taTW9lcKZXQ==
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 9822402887813377013 (0x88502f6298e32bf5)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Policy Test Root CA
+ Validity
+ Not Before: Jun 28 18:46:07 2013 GMT
+ Not After : Jun 26 18:46:07 2023 GMT
+ Subject: CN=Policy Test Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:a5:39:54:40:12:d5:30:51:aa:fc:bb:85:24:5a:
+ 76:19:e5:f5:54:d0:6c:c2:99:18:45:03:89:da:29:
+ 17:41:53:ac:89:1c:1c:46:b5:b6:78:d8:66:88:d1:
+ bf:83:6b:73:fb:43:0a:10:66:44:43:6e:a2:d7:d5:
+ b4:90:48:9f:ff:12:4a:f1:ae:6e:fb:21:d5:6d:7d:
+ 46:e5:96:41:80:4a:32:ee:e0:84:1e:22:2c:91:6a:
+ 62:08:18:7a:6b:67:8e:cd:39:28:13:5d:7a:75:a8:
+ 91:66:f6:9e:75:7e:b0:12:c8:3a:ea:d1:f5:7d:fa:
+ c8:3c:04:15:d8:63:5a:9e:3b:ad:4c:3c:e7:c8:f8:
+ b3:8c:2c:d6:79:28:b1:25:6a:11:c1:6e:04:5f:bf:
+ 0e:67:74:b0:99:be:d6:b9:df:99:7d:1f:7f:57:f9:
+ c5:78:07:73:b3:34:e4:7d:08:7c:9f:81:db:31:3f:
+ 2a:03:4b:8d:3c:23:6a:87:91:f7:f7:f2:b0:d5:83:
+ dd:c2:b3:c2:43:d0:ee:f7:e9:09:0b:1f:b5:12:22:
+ 37:4f:d3:ad:5c:0e:ee:51:8e:da:b4:ae:26:f1:4c:
+ 9e:34:aa:1c:8b:d3:b7:7e:17:f9:cb:12:36:3f:0d:
+ d0:b1:29:9c:9d:07:91:9b:30:9d:17:c8:a4:69:1d:
+ 60:ab
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Key Usage: critical
+ Digital Signature, Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 33:12:f6:02:8e:73:45:09:80:8e:71:c1:52:fd:3c:48:0d:c8:
+ 5a:62:64:21:ab:5b:46:6c:cd:e4:55:06:83:05:df:d7:50:78:
+ 41:8a:7b:a3:39:29:81:c6:de:e1:8d:d4:d2:f6:4c:31:7b:59:
+ 90:d7:ad:af:69:9e:49:e5:ca:06:f2:bf:34:55:e9:d2:40:54:
+ 89:2f:b9:94:f2:a2:06:db:cf:ef:20:8d:0d:8f:3c:76:65:a4:
+ 13:1d:4e:ae:de:43:a3:ed:98:4f:c0:f9:59:99:22:ba:43:cd:
+ 6e:82:2a:28:69:b6:38:ec:c1:d8:bb:42:3b:44:85:c1:09:15:
+ 19:ab:12:92:d6:84:a8:e8:88:7e:1c:e6:d6:82:ff:57:68:1f:
+ c7:67:6f:42:15:9e:9b:56:3f:5e:36:27:e1:68:0b:d3:a0:24:
+ 7d:68:08:55:30:f1:a5:2d:e7:f0:03:82:aa:2c:03:fb:78:dc:
+ 81:54:db:38:8c:7e:f9:c4:7d:f1:50:1c:42:b9:6e:c0:91:9e:
+ b0:56:57:f0:0e:3d:d9:24:65:50:a1:57:a5:72:6e:8a:1f:7f:
+ fa:ab:91:33:d8:1d:9c:48:b3:60:57:b1:94:09:61:9e:a3:90:
+ b0:c2:17:13:7a:aa:b9:ad:99:dc:25:5e:d8:c8:e8:a6:88:bb:
+ fd:94:ee:4c
+-----BEGIN CERTIFICATE-----
+MIIC4jCCAcqgAwIBAgIJAIhQL2KY4yv1MA0GCSqGSIb3DQEBBQUAMB4xHDAaBgNV
+BAMME1BvbGljeSBUZXN0IFJvb3QgQ0EwHhcNMTMwNjI4MTg0NjA3WhcNMjMwNjI2
+MTg0NjA3WjAeMRwwGgYDVQQDDBNQb2xpY3kgVGVzdCBSb290IENBMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApTlUQBLVMFGq/LuFJFp2GeX1VNBswpkY
+RQOJ2ikXQVOsiRwcRrW2eNhmiNG/g2tz+0MKEGZEQ26i19W0kEif/xJK8a5u+yHV
+bX1G5ZZBgEoy7uCEHiIskWpiCBh6a2eOzTkoE116daiRZvaedX6wEsg66tH1ffrI
+PAQV2GNanjutTDznyPizjCzWeSixJWoRwW4EX78OZ3Swmb7Wud+ZfR9/V/nFeAdz
+szTkfQh8n4HbMT8qA0uNPCNqh5H39/Kw1YPdwrPCQ9Du9+kJCx+1EiI3T9OtXA7u
+UY7atK4m8UyeNKoci9O3fhf5yxI2Pw3QsSmcnQeRmzCdF8ikaR1gqwIDAQABoyMw
+ITAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUF
+AAOCAQEAMxL2Ao5zRQmAjnHBUv08SA3IWmJkIatbRmzN5FUGgwXf11B4QYp7ozkp
+gcbe4Y3U0vZMMXtZkNetr2meSeXKBvK/NFXp0kBUiS+5lPKiBtvP7yCNDY88dmWk
+Ex1Ort5Do+2YT8D5WZkiukPNboIqKGm2OOzB2LtCO0SFwQkVGasSktaEqOiIfhzm
+1oL/V2gfx2dvQhWem1Y/XjYn4WgL06AkfWgIVTDxpS3n8AOCqiwD+3jcgVTbOIx+
++cR98VAcQrluwJGesFZX8A492SRlUKFXpXJuih9/+quRM9gdnEizYFexlAlhnqOQ
+sMIXE3qqua2Z3CVe2Mjopoi7/ZTuTA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/foaf.me.chromium-test-cert.der b/chromium/net/data/ssl/certificates/foaf.me.chromium-test-cert.der
new file mode 100644
index 00000000000..da0afc624c6
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/foaf.me.chromium-test-cert.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/globalsign_ev_sha256_ca_cert.pem b/chromium/net/data/ssl/certificates/globalsign_ev_sha256_ca_cert.pem
new file mode 100644
index 00000000000..bfad0aac94b
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/globalsign_ev_sha256_ca_cert.pem
@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIEPDCCAySgAwIBAgILBAAAAAABJQcQRNUwDQYJKoZIhvcNAQELBQAwTDEgMB4G
+A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
+Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkxMTE4MTAwMDAwWhcNMTkwMzE4
+MTAwMDAwWjBwMSYwJAYDVQQLEx1FeHRlbmRlZCBWYWxpZGF0aW9uIFNIQTI1NiBD
+QTETMBEGA1UEChMKR2xvYmFsU2lnbjExMC8GA1UEAxMoR2xvYmFsU2lnbiBFeHRl
+bmRlZCBWYWxpZGF0aW9uIFNIQTI1NiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBALBif8TfrtmndK/ILyYLrRoXAmHWc7OhUAhQOi9KnUuv0F7PPbG3
+IoqTWVHc/5BXLTrU8v7FdKBKEyevSd8QqPltoW/wzqhwFShy8PPpWT5UrcxVGHNP
+BE99xpAPWq6JOAKSQxp59F0rhXCKUsFO+Gl+K/zR1tpYR9Oy9GKyowpIDvbxevkS
+n8b/ZAbtdi4YL3M6qy680hD7XFEgMiOcjgHvIHBj21Ga01L6yYv0klQHDRVFhhca
+wcSsQ/ckrODI508EwvESGrk18bmkypnNxDoZJJoqtQUeS8UBwUDsZ9ES63LitzBF
+uTG/nz5A/WWOzN18Adq6piOm8QGcKfwatMcCAwEAAaOB+jCB9zAOBgNVHQ8BAf8E
+BAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUivwUGz2jWWelO+Fz
+kqZikX/keDAwRgYDVR0gBD8wPTA7BgRVHSAAMDMwMQYIKwYBBQUHAgEWJWh0dHA6
+Ly93d3cuZ2xvYmFsc2lnbi5uZXQvcmVwb3NpdG9yeS8wNgYDVR0fBC8wLTAroCmg
+J4YlaHR0cDovL2NybC5nbG9iYWxzaWduLm5ldC9yb290LXIzLmNybDARBglghkgB
+hvhCAQEEBAMCAgQwHwYDVR0jBBgwFoAUj/BLf6guRSSuTVD6Y5qL3uLdG7wwDQYJ
+KoZIhvcNAQELBQADggEBAF2HVz/fP/IUd8jFBven7nszfYdjJJbzdpehLJqoLccQ
+EEHtGTy9xnqChzCkSgIoe705slJDt4wdXibIm5uV1CE0YidAEqLPeg4w1sU6y9eV
+L0E+IGJR7UF3FH0tBDbnyiTGEjviDxqi1VlSSbXvIoyhQHlsNvSeKdvTudDNmaSF
+lleJLy8SEXyJwieoACCibX27ZUk1vU4Hhvm2nY7AbP5ry6lzNuHozc+mMvuiwM/3
+Mc61UR+LBN8YxgpSHB1m1THyVG/Nz3b82rMe1XvSm1sYsULysrRLzSVc+89Up74A
+CIFMY+ZrQU0Yq+VrBBMPRtJ1Jc1BxkjaXf0O0c9CLFo=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/google.binary.p7b b/chromium/net/data/ssl/certificates/google.binary.p7b
new file mode 100644
index 00000000000..052e3885ef9
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/google.binary.p7b
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/google.chain.pem b/chromium/net/data/ssl/certificates/google.chain.pem
new file mode 100644
index 00000000000..e78af716195
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/google.chain.pem
@@ -0,0 +1,38 @@
+-----BEGIN CERTIFICATE-----
+MIIDITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0x
+MTEyMTgyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcw
+FQYDVQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
+gYEA6PmGD5D6htffvXImttdEAoN4c9kCKO+IRTn7EOh8rqk41XXGOOsKFQebg+jN
+gtXj9xVoRaELGYW84u+E593y17iYwqG7tcFR39SDAqc9BkJb4SLD3muFXxzW2k6L
+05vuuWciKh0R73mkszeK9P4Y/bz5RiNQl/Os/CRGK1w7t0UCAwEAAaOB5zCB5DAM
+BgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3Rl
+LmNvbS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUF
+BwMCBglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRw
+Oi8vb2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0
+ZS5jb20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUF
+AAOBgQCfQ89bxFApsb/isJr/aiEdLRLDLE5a+RLizrmCUi3nHX4adpaQedEkUjh5
+u2ONgJd8IyAPkU0Wueru9G2Jysa9zCRo1kNbzipYvzwY4OA8Ys+WAi0oR1A04Se6
+z5nRUP8pJcA2NhUzUnC+MY+f6H/nEQyNv4SgQhqAibAxWEEHXw==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAoygAwIBAgIEMAAAAjANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi
+bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNTEzMDAw
+MDAwWhcNMTQwNTEyMjM1OTU5WjBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
+d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBD
+QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1NNn0I0Vf67NMf59HZGhPwtx
+PKzMyGT7Y/wySweUvW+Aui/hBJPAM/wJMyPpC3QrccQDxtLN4i/1CWPN/0ilAL/g
+5/OIty0y3pg25gqtAHvEZEo7hHUD8nCSfQ5i9SGraTaEMXWQ+L/HbIgbBpV8yeWo
+3nWhLHpo39XKHIdYYBkCAwEAAaOB/jCB+zASBgNVHRMBAf8ECDAGAQH/AgEAMAsG
+A1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwKAYDVR0RBCEwH6QdMBsxGTAX
+BgNVBAMTEFByaXZhdGVMYWJlbDMtMTUwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDov
+L2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsG
+AQUFBzABhhZodHRwOi8vb2NzcC50aGF3dGUuY29tMDQGA1UdJQQtMCsGCCsGAQUF
+BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEB
+BQUAA4GBAFWsY+reod3SkF+fC852vhNRj5PZBSvIG3dLrWlQoe7e3P3bB+noOZTc
+q3J5Lwa/q4FwxKjt6lM07e8eU9kGx1Yr0Vz00YqOtCuxN5BICEIlxT6Ky3/rbwTR
+bcV0oveifHtgPHfNDs5IAn8BL7abN+AqKjbc1YXWrOU/VG+WHgWv
+-----END CERTIFICATE----- \ No newline at end of file
diff --git a/chromium/net/data/ssl/certificates/google.pem_cert.p7b b/chromium/net/data/ssl/certificates/google.pem_cert.p7b
new file mode 100644
index 00000000000..ba80fb0733d
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/google.pem_cert.p7b
@@ -0,0 +1,37 @@
+-----BEGIN CERTIFICATE-----
+MIIGeQYJKoZIhvcNAQcCoIIGajCCBmYCAQExADALBgkqhkiG9w0BBwGgggZMMIID
+ITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBMMQsw
+CQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRk
+LjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0xMTEy
+MTgyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw
+FAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcwFQYD
+VQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
+6PmGD5D6htffvXImttdEAoN4c9kCKO+IRTn7EOh8rqk41XXGOOsKFQebg+jNgtXj
+9xVoRaELGYW84u+E593y17iYwqG7tcFR39SDAqc9BkJb4SLD3muFXxzW2k6L05vu
+uWciKh0R73mkszeK9P4Y/bz5RiNQl/Os/CRGK1w7t0UCAwEAAaOB5zCB5DAMBgNV
+HRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3RlLmNv
+bS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMC
+BglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRwOi8v
+b2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0ZS5j
+b20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUFAAOB
+gQCfQ89bxFApsb/isJr/aiEdLRLDLE5a+RLizrmCUi3nHX4adpaQedEkUjh5u2ON
+gJd8IyAPkU0Wueru9G2Jysa9zCRo1kNbzipYvzwY4OA8Ys+WAi0oR1A04Se6z5nR
+UP8pJcA2NhUzUnC+MY+f6H/nEQyNv4SgQhqAibAxWEEHXzCCAyMwggKMoAMCAQIC
+BDAAAAIwDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZl
+cmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDUxMzAwMDAwMFoXDTE0MDUxMjIz
+NTk1OVowTDELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5n
+IChQdHkpIEx0ZC4xFjAUBgNVBAMTDVRoYXd0ZSBTR0MgQ0EwgZ8wDQYJKoZIhvcN
+AQEBBQADgY0AMIGJAoGBANTTZ9CNFX+uzTH+fR2RoT8LcTyszMhk+2P8MksHlL1v
+gLov4QSTwDP8CTMj6Qt0K3HEA8bSzeIv9Qljzf9IpQC/4OfziLctMt6YNuYKrQB7
+xGRKO4R1A/Jwkn0OYvUhq2k2hDF1kPi/x2yIGwaVfMnlqN51oSx6aN/VyhyHWGAZ
+AgMBAAGjgf4wgfswEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMCAQYwEQYJ
+YIZIAYb4QgEBBAQDAgEGMCgGA1UdEQQhMB+kHTAbMRkwFwYDVQQDExBQcml2YXRl
+TGFiZWwzLTE1MDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24u
+Y29tL3BjYTMuY3JsMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDov
+L29jc3AudGhhd3RlLmNvbTA0BgNVHSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIG
+CWCGSAGG+EIEAQYKYIZIAYb4RQEIATANBgkqhkiG9w0BAQUFAAOBgQBVrGPq3qHd
+0pBfnwvOdr4TUY+T2QUryBt3S61pUKHu3tz92wfp6DmU3KtyeS8Gv6uBcMSo7epT
+NO3vHlPZBsdWK9Fc9NGKjrQrsTeQSAhCJcU+ist/628E0W3FdKL3onx7YDx3zQ7O
+SAJ/AS+2mzfgKio23NWF1qzlP1Rvlh4Fr6EAMQA=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/google.pem_pkcs7.p7b b/chromium/net/data/ssl/certificates/google.pem_pkcs7.p7b
new file mode 100644
index 00000000000..49e2eec66d6
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/google.pem_pkcs7.p7b
@@ -0,0 +1,37 @@
+-----BEGIN PKCS7-----
+MIIGeQYJKoZIhvcNAQcCoIIGajCCBmYCAQExADALBgkqhkiG9w0BBwGgggZMMIID
+ITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBMMQsw
+CQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRk
+LjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0xMTEy
+MTgyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw
+FAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcwFQYD
+VQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
+6PmGD5D6htffvXImttdEAoN4c9kCKO+IRTn7EOh8rqk41XXGOOsKFQebg+jNgtXj
+9xVoRaELGYW84u+E593y17iYwqG7tcFR39SDAqc9BkJb4SLD3muFXxzW2k6L05vu
+uWciKh0R73mkszeK9P4Y/bz5RiNQl/Os/CRGK1w7t0UCAwEAAaOB5zCB5DAMBgNV
+HRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3RlLmNv
+bS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMC
+BglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRwOi8v
+b2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0ZS5j
+b20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUFAAOB
+gQCfQ89bxFApsb/isJr/aiEdLRLDLE5a+RLizrmCUi3nHX4adpaQedEkUjh5u2ON
+gJd8IyAPkU0Wueru9G2Jysa9zCRo1kNbzipYvzwY4OA8Ys+WAi0oR1A04Se6z5nR
+UP8pJcA2NhUzUnC+MY+f6H/nEQyNv4SgQhqAibAxWEEHXzCCAyMwggKMoAMCAQIC
+BDAAAAIwDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZl
+cmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDUxMzAwMDAwMFoXDTE0MDUxMjIz
+NTk1OVowTDELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5n
+IChQdHkpIEx0ZC4xFjAUBgNVBAMTDVRoYXd0ZSBTR0MgQ0EwgZ8wDQYJKoZIhvcN
+AQEBBQADgY0AMIGJAoGBANTTZ9CNFX+uzTH+fR2RoT8LcTyszMhk+2P8MksHlL1v
+gLov4QSTwDP8CTMj6Qt0K3HEA8bSzeIv9Qljzf9IpQC/4OfziLctMt6YNuYKrQB7
+xGRKO4R1A/Jwkn0OYvUhq2k2hDF1kPi/x2yIGwaVfMnlqN51oSx6aN/VyhyHWGAZ
+AgMBAAGjgf4wgfswEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMCAQYwEQYJ
+YIZIAYb4QgEBBAQDAgEGMCgGA1UdEQQhMB+kHTAbMRkwFwYDVQQDExBQcml2YXRl
+TGFiZWwzLTE1MDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24u
+Y29tL3BjYTMuY3JsMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDov
+L29jc3AudGhhd3RlLmNvbTA0BgNVHSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIG
+CWCGSAGG+EIEAQYKYIZIAYb4RQEIATANBgkqhkiG9w0BAQUFAAOBgQBVrGPq3qHd
+0pBfnwvOdr4TUY+T2QUryBt3S61pUKHu3tz92wfp6DmU3KtyeS8Gv6uBcMSo7epT
+NO3vHlPZBsdWK9Fc9NGKjrQrsTeQSAhCJcU+ist/628E0W3FdKL3onx7YDx3zQ7O
+SAJ/AS+2mzfgKio23NWF1qzlP1Rvlh4Fr6EAMQA=
+-----END PKCS7-----
diff --git a/chromium/net/data/ssl/certificates/google.single.der b/chromium/net/data/ssl/certificates/google.single.der
new file mode 100644
index 00000000000..f73df1704f0
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/google.single.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/google.single.pem b/chromium/net/data/ssl/certificates/google.single.pem
new file mode 100644
index 00000000000..a03adc4ca6b
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/google.single.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0x
+MTEyMTgyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcw
+FQYDVQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
+gYEA6PmGD5D6htffvXImttdEAoN4c9kCKO+IRTn7EOh8rqk41XXGOOsKFQebg+jN
+gtXj9xVoRaELGYW84u+E593y17iYwqG7tcFR39SDAqc9BkJb4SLD3muFXxzW2k6L
+05vuuWciKh0R73mkszeK9P4Y/bz5RiNQl/Os/CRGK1w7t0UCAwEAAaOB5zCB5DAM
+BgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3Rl
+LmNvbS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUF
+BwMCBglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRw
+Oi8vb2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0
+ZS5jb20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUF
+AAOBgQCfQ89bxFApsb/isJr/aiEdLRLDLE5a+RLizrmCUi3nHX4adpaQedEkUjh5
+u2ONgJd8IyAPkU0Wueru9G2Jysa9zCRo1kNbzipYvzwY4OA8Ys+WAi0oR1A04Se6
+z5nRUP8pJcA2NhUzUnC+MY+f6H/nEQyNv4SgQhqAibAxWEEHXw==
+-----END CERTIFICATE----- \ No newline at end of file
diff --git a/chromium/net/data/ssl/certificates/google_diginotar.pem b/chromium/net/data/ssl/certificates/google_diginotar.pem
new file mode 100644
index 00000000000..12bbcae0826
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/google_diginotar.pem
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFKDCCBBCgAwIBAgIQBeLmpM0J6lTWZbB1/iKiVjANBgkqhkiG9w0BAQUFADBm
+MQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMSEwHwYDVQQDExhEaWdp
+Tm90YXIgUHVibGljIENBIDIwMjUxIDAeBgkqhkiG9w0BCQEWEWluZm9AZGlnaW5v
+dGFyLm5sMB4XDTExMDcxMDE5MDYzMFoXDTEzMDcwOTE5MDYzMFowajELMAkGA1UE
+BhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxFjAUBgNVBAcTDU1vdW50YWluIFZp
+ZXcxFzAVBgNVBAUTDlBLMDAwMjI5MjAwMDAyMRUwEwYDVQQDEwwqLmdvb2dsZS5j
+b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDNbeKubCV0aCxhOiOS
+CSQ/w9HXTYuD5BLKuiqXNw3setdTymeJz2L8aWOHo3nicFNDVwWTgwWomGNr2J6Q
+7g1iINNSW0rR4E1l2szRkcnAY6c6i/Eke93nF4i2hDsnIBveolF5yjpuRm73uQQD
+ulHjA3BFRF/PTi0fw2/Yt+8ieoMuNcMWN6Eou5Gqt5YZkWv176ofeCbsBmMrP87x
+OhhtTDckCapk4VQZG2XrfzZcV6tdzCp5TI8uHdu17cdzXm1imZ8tyvzFeiCEOQN8
+vPNzB/fIr3CJQ5q4uM5aKT3DD5PeVzf4rfJKQNgCTWiIBc9XcWEUuszwAsnmg7e2
+EJRdAgMBAAGjggHMMIIByDA6BggrBgEFBQcBAQQuMCwwKgYIKwYBBQUHMAGGHmh0
+dHA6Ly92YWxpZGF0aW9uLmRpZ2lub3Rhci5ubDAfBgNVHSMEGDAWgBTfM8Cvkv43
+/LbYFhbQ2bGR1fpupTAJBgNVHRMEAjAAMIHGBgNVHSAEgb4wgbswgbgGDmCEEAGH
+aQEBAQIEAQICMIGlMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2lub3Rhci5u
+bC9jcHMwegYIKwYBBQUHAgIwbhpsQ29uZGl0aW9ucywgYXMgbWVudGlvbmVkIG9u
+IG91ciB3ZWJzaXRlICh3d3cuZGlnaW5vdGFyLm5sKSwgYXJlIGFwcGxpY2FibGUg
+dG8gYWxsIG91ciBwcm9kdWN0cyBhbmQgc2VydmljZXMuMEkGA1UdHwRCMEAwPqA8
+oDqGOGh0dHA6Ly9zZXJ2aWNlLmRpZ2lub3Rhci5ubC9jcmwvcHVibGljMjAyNS9s
+YXRlc3RDUkwuY3JsMA4GA1UdDwEB/wQEAwIEsDAbBgNVHREEFDASgRBhZG1pbkBn
+b29nbGUuY29tMB0GA1UdDgQWBBQHSn0WJzIo0eMBMQUNsMqN6eF/7TANBgkqhkiG
+9w0BAQUFAAOCAQEAAs5dL7N9wzRJkI4Aq4lC5t8j5ZadqnqUcgYLADzSv4ExytNH
+UY2nH6iVTihC0UPSsILWraoeApdT7Rphz/8DLQEBRGdeKWAptNM3EbiXtQaZT2uB
+pidL8UoafX0kch3f71Y1scpBEjvu5ZZLnjg0A8AL0tnsereOVdDpU98bKqdbbrnM
+FRmBlSf7xdaNca6JJHeEpga4E9Ty683CmccrSGXdU2tTCuHEJww+iOAUtPIZcsum
+U7/eYeY1pMyGLyIjbNgRY7nDzRwvM/BsbL9eh4/mSQj/4nncqJd22sVQpCggQiVK
+baB2sVGcVNBkK55bT8gPqnx8JypubyUvayzZGg==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/googlenew.chain.pem b/chromium/net/data/ssl/certificates/googlenew.chain.pem
new file mode 100644
index 00000000000..5a3e1cf6ff3
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/googlenew.chain.pem
@@ -0,0 +1,38 @@
+-----BEGIN CERTIFICATE-----
+MIIDITCCAoqgAwIBAgIQT52W2WawmStUwpV8tBV9TTANBgkqhkiG9w0BAQUFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0xMTEwMjYwMDAwMDBaFw0x
+MzA5MzAyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcw
+FQYDVQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
+gYEA3rcmQ6aZhc04pxUJuc8PycNVjIjujI0oJyRLKl6g2Bb6YRhLz21ggNM1QDJy
+wI8S2OVOj7my9tkVXlqGMaO6hqpryNlxjMzNJxMenUJdOPanrO/6YvMYgdQkRn8B
+d3zGKokUmbuYOR2oGfs5AER9G5RqeC1prcB6LPrQ2iASmNMCAwEAAaOB5zCB5DAM
+BgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3Rl
+LmNvbS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUF
+BwMCBglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRw
+Oi8vb2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0
+ZS5jb20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUF
+AAOBgQAhrNWuyjSJWsKrUtKyNGadeqvu5nzVfsJcKLt0AMkQH0IT/GmKHiSgAgDp
+ulvKGQSy068Bsn5fFNum21K5mvMSf3yinDtvmX3qUA12IxL/92ZzKbeVCq3Yi7Le
+IOkKcGQRCMha8X2e7GmlpdWC1ycenlbN0nbVeSv3JUMcafC4+Q==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAoygAwIBAgIEMAAAAjANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi
+bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNTEzMDAw
+MDAwWhcNMTQwNTEyMjM1OTU5WjBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
+d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBD
+QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1NNn0I0Vf67NMf59HZGhPwtx
+PKzMyGT7Y/wySweUvW+Aui/hBJPAM/wJMyPpC3QrccQDxtLN4i/1CWPN/0ilAL/g
+5/OIty0y3pg25gqtAHvEZEo7hHUD8nCSfQ5i9SGraTaEMXWQ+L/HbIgbBpV8yeWo
+3nWhLHpo39XKHIdYYBkCAwEAAaOB/jCB+zASBgNVHRMBAf8ECDAGAQH/AgEAMAsG
+A1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwKAYDVR0RBCEwH6QdMBsxGTAX
+BgNVBAMTEFByaXZhdGVMYWJlbDMtMTUwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDov
+L2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsG
+AQUFBzABhhZodHRwOi8vb2NzcC50aGF3dGUuY29tMDQGA1UdJQQtMCsGCCsGAQUF
+BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEB
+BQUAA4GBAFWsY+reod3SkF+fC852vhNRj5PZBSvIG3dLrWlQoe7e3P3bB+noOZTc
+q3J5Lwa/q4FwxKjt6lM07e8eU9kGx1Yr0Vz00YqOtCuxN5BICEIlxT6Ky3/rbwTR
+bcV0oveifHtgPHfNDs5IAn8BL7abN+AqKjbc1YXWrOU/VG+WHgWv
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/invalid_key_usage_cert.der b/chromium/net/data/ssl/certificates/invalid_key_usage_cert.der
new file mode 100644
index 00000000000..3a1be64f9ae
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/invalid_key_usage_cert.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/mit.davidben.der b/chromium/net/data/ssl/certificates/mit.davidben.der
new file mode 100644
index 00000000000..4e26aa8825f
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/mit.davidben.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/multivalue_rdn.pem b/chromium/net/data/ssl/certificates/multivalue_rdn.pem
new file mode 100644
index 00000000000..6ffe16111f1
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/multivalue_rdn.pem
@@ -0,0 +1,59 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ ef:6c:2f:57:d9:fd:5a:0f
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, O=Chromium, DC=Chromium, CN=Multivalue RDN Test, OU=Chromium net_unittests
+ Validity
+ Not Before: Dec 2 03:47:39 2011 GMT
+ Not After : Jan 1 03:47:39 2012 GMT
+ Subject: C=US, O=Chromium, DC=Chromium, CN=Multivalue RDN Test, OU=Chromium net_unittests
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:9d:23:10:ed:87:82:b0:eb:a4:fb:49:f5:db:c1:
+ 7b:4d:f0:ed:1b:f5:f8:f2:c1:b5:d2:84:de:eb:94:
+ 82:f0:de:8b:04:b7:e8:ed:86:22:41:99:56:54:71:
+ 33:8e:c1:69:6a:2b:f4:77:1e:24:70:81:5b:56:08:
+ 57:02:4c:bf:af:9a:a0:33:55:e2:00:6b:b3:cc:5c:
+ 3b:47:6e:dc:05:30:bd:0c:f9:51:c0:70:2b:3f:70:
+ a2:10:a3:b7:8b:3f:22:fa:ab:bd:c7:48:a5:ff:d3:
+ 7b:d0:b7:12:48:0b:bf:90:62:f1:8a:40:db:1d:1a:
+ 0c:f5:dd:92:2a:1c:b6:2c:6b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ 8D:5E:71:FA:2A:73:BA:9F:8E:63:32:1C:5D:AB:87:D0:AB:47:AB:B7
+ X509v3 Authority Key Identifier:
+ keyid:8D:5E:71:FA:2A:73:BA:9F:8E:63:32:1C:5D:AB:87:D0:AB:47:AB:B7
+
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ 18:ac:0d:d3:50:38:ee:7c:55:1c:e9:30:c0:57:5b:4f:cb:7d:
+ 14:59:18:de:92:20:e6:67:a8:a8:ed:da:01:33:5a:48:4c:e4:
+ 66:85:25:8d:6b:56:81:67:f3:af:e9:f8:12:5c:19:07:17:98:
+ bf:d7:0f:ba:b5:64:6b:ec:17:ca:0c:d6:ce:c3:b3:09:43:0a:
+ 04:8f:da:4b:c8:a3:45:ea:ef:ca:f8:7a:2e:91:a8:8c:f1:a7:
+ d4:7b:6d:9d:73:4b:9a:1c:be:04:b1:02:b3:b7:2a:e9:fd:19:
+ 86:f2:26:ac:45:a1:0f:9b:99:1a:53:b1:69:99:3e:6c:51:23:
+ 40:70
+-----BEGIN CERTIFICATE-----
+MIICsDCCAhmgAwIBAgIJAO9sL1fZ/VoPMA0GCSqGSIb3DQEBBQUAMHExbzAJBgNV
+BAYTAlVTMA8GA1UECgwIQ2hyb21pdW0wFgYKCZImiZPyLGQBGRYIQ2hyb21pdW0w
+GgYDVQQDDBNNdWx0aXZhbHVlIFJETiBUZXN0MB0GA1UECwwWQ2hyb21pdW0gbmV0
+X3VuaXR0ZXN0czAeFw0xMTEyMDIwMzQ3MzlaFw0xMjAxMDEwMzQ3MzlaMHExbzAJ
+BgNVBAYTAlVTMA8GA1UECgwIQ2hyb21pdW0wFgYKCZImiZPyLGQBGRYIQ2hyb21p
+dW0wGgYDVQQDDBNNdWx0aXZhbHVlIFJETiBUZXN0MB0GA1UECwwWQ2hyb21pdW0g
+bmV0X3VuaXR0ZXN0czCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAnSMQ7YeC
+sOuk+0n128F7TfDtG/X48sG10oTe65SC8N6LBLfo7YYiQZlWVHEzjsFpaiv0dx4k
+cIFbVghXAky/r5qgM1XiAGuzzFw7R27cBTC9DPlRwHArP3CiEKO3iz8i+qu9x0il
+/9N70LcSSAu/kGLxikDbHRoM9d2SKhy2LGsCAwEAAaNQME4wHQYDVR0OBBYEFI1e
+cfoqc7qfjmMyHF2rh9CrR6u3MB8GA1UdIwQYMBaAFI1ecfoqc7qfjmMyHF2rh9Cr
+R6u3MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAGKwN01A47nxVHOkw
+wFdbT8t9FFkY3pIg5meoqO3aATNaSEzkZoUljWtWgWfzr+n4ElwZBxeYv9cPurVk
+a+wXygzWzsOzCUMKBI/aS8ijRervyvh6LpGojPGn1HttnXNLmhy+BLECs7cq6f0Z
+hvImrEWhD5uZGlOxaZk+bFEjQHA=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/ndn.ca.crt b/chromium/net/data/ssl/certificates/ndn.ca.crt
new file mode 100644
index 00000000000..6da9fb204b7
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/ndn.ca.crt
@@ -0,0 +1,35 @@
+-----BEGIN CERTIFICATE-----
+MIIGBjCCA+4CCQDbt8YGR683ojANBgkqhkiG9w0BAQUFADCBxDELMAkGA1UEBhMC
+VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFDASBgNVBAcTC0xvcyBBbmdlbGVzMR8w
+HQYDVQQKExZOZXcgRHJlYW0gTmV0d29yaywgTExDMREwDwYDVQQLEwhTZWN1cml0
+eTEwMC4GA1UEAxMnTmV3IERyZWFtIE5ldHdvcmsgQ2VydGlmaWNhdGUgQXV0aG9y
+aXR5MSQwIgYJKoZIhvcNAQkBFhVzdXBwb3J0QGRyZWFtaG9zdC5jb20wHhcNMDYw
+ODIyMjExMjU4WhcNMTYwODE5MjExMjU4WjCBxDELMAkGA1UEBhMCVVMxEzARBgNV
+BAgTCkNhbGlmb3JuaWExFDASBgNVBAcTC0xvcyBBbmdlbGVzMR8wHQYDVQQKExZO
+ZXcgRHJlYW0gTmV0d29yaywgTExDMREwDwYDVQQLEwhTZWN1cml0eTEwMC4GA1UE
+AxMnTmV3IERyZWFtIE5ldHdvcmsgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSQwIgYJ
+KoZIhvcNAQkBFhVzdXBwb3J0QGRyZWFtaG9zdC5jb20wggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQDHykL2vz70nbj827iARXxgBK41yXUy7oBcoG5TA+MD
+GjXVqV+szQWgQz6C6uPPp+O4cUVxnAIfXvCo7VjsYYsDcmCWAlV27ZRN3Ek7HvIv
+4rHaht0y/E/DgKOZiiy7kJMvqDZSuD9NxSlIOTDBS6aDyORNZKubWdg0l+Axk3Yn
+YhmVhPtqupO8HzQjR0s2wgwKdz3m96RqjJDBng0wLEv/iCGN0ogBBV1TePuKcodF
+TQivkjvVcITRVWIBKNfg0uDeM+cHIYGp44WM3gBX0W3AaG9JH/1tYWmgVrk/cmwK
+oMq3PKVr/Usp7nR3PTyn1rpcJjPZDSNOleO+KilI4vbwFgnydbm97eTf/BFy548j
+SPi9HINufNDSajXCRvyQ04CQVpAzH2mPVcykoL6++M2u2nNO5tLWa2ix96RNPrV/
+K00KbmIODPoqRVmoL7UvD4w2AM26l7Ol20cLqU8G4bZGe1DoKpF1CxwQlBzY6iJN
+PiEY+eAII54w7cnHdAp2mOKvJBVUzCROc7g4W0n3/JCHEaXDnfXlqevCckAaDbes
+AM7w9epOd7rUWpbSxOuKsgIyXvhM9VwxI7L5TdgULqKXq57jMAK8irsOalEt+5pJ
+8RGFDOgJsbR+eJ3En//11OJzgz1bdW0lSUD72hoNdLyJtP7dn8+FrIfGBw9mwWMG
+MwIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQAVUa0xn7/bDpyxdqJrr3np5HKDKaL6
+CL4KNgBS1hKHLIqxwKGTO+nCm1sVgK9fIh7hF5sG7f5hc5ZPp9usOeqwewB5drYZ
+jPyk2e5WX0fjdB2pFPxhPS8vzNJRBtpPnUoiOuwXI4K12V7xj3SC/S4tqNfBM/p9
+sk15XfWiS8rMqDGg6oMFeM4BZ7YaZOXY/upqofg+MEbVdLBngwUPI/a1rR8OYUBr
+NhsSZpXwg22IwDE45M7wxgRvj0hojRAAxVS75ogitx040tf2Lp8DJgtSGvOHtuW9
+87MXd8Ev8xf/7d9EXw4ghwKvyWglrw0Bpoh9OP9DOwoRFIzdBz5aUmAx6PNIvZ0Y
+xQ+QRUxj+Kx2Xl6hpsk8URsfxKDHR2sZwcSqjD+JJGJee26An7btAst1/grAYw5X
+tEfcXyXiDBHXPY6t0NZOzfQUggwIU0fiWhvT43Skob6pCc0dUBeEhFK0dpyDE3AM
+4LwF/ECGfPn/UzzB/Lax4WaY2yGccBrikRfIkZARrJbvBCAxchH+HCeBV0B0BlOi
+2R0RxwH0gKBEHxhMaq5J/rTaE7V5wd8OsxzcxUgW+te6hc0bbuhPiYhtvQ0N7+oF
+z89JuuwocsTbNekeBwHB5wpsCPA29mYId8uvVl7LThvut9+szsWetmVua7P9t10h
+GX3cdJCMZUwypA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/nist.der b/chromium/net/data/ssl/certificates/nist.der
new file mode 100644
index 00000000000..8add89d6e9e
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/nist.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/no_subject_common_name_cert.pem b/chromium/net/data/ssl/certificates/no_subject_common_name_cert.pem
new file mode 100644
index 00000000000..f9d582e84ca
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/no_subject_common_name_cert.pem
@@ -0,0 +1,109 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ f0:1e:87:f4:fe:b6:f0:10:dc:7e:65:da:f4:fb:8f:e3
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Client Authentication and Secure Email CA
+ Validity
+ Not Before: Apr 25 00:00:00 2012 GMT
+ Not After : Apr 25 23:59:59 2013 GMT
+ Subject: emailAddress=wtc@google.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:f6:50:cf:80:32:ee:05:1b:6a:07:c5:5f:71:bc:
+ 67:81:40:63:46:35:a4:23:6c:77:32:57:ec:c8:b0:
+ 0b:16:0e:5f:b7:42:6e:de:6f:de:84:9f:cf:81:73:
+ ee:30:a9:ac:47:8c:47:27:78:89:eb:d1:14:e9:a9:
+ fd:08:74:01:2c:dc:ea:4f:0a:30:82:cd:b5:02:65:
+ 54:42:9c:af:14:18:a7:56:c7:c4:00:7d:c0:f6:4d:
+ 97:58:80:57:f5:fc:2c:36:78:69:d6:e3:7f:05:05:
+ ff:08:26:1e:f5:d5:60:3f:15:5d:06:16:28:11:a5:
+ 5d:b5:d0:59:d1:27:ab:38:8e:6b:68:b6:3d:c3:cb:
+ f5:0d:42:35:a1:6e:f5:3f:73:12:33:9f:47:a5:43:
+ 2f:f3:dc:00:61:18:3f:4a:74:e4:d2:e8:37:e7:19:
+ 18:84:34:49:78:d2:b5:4d:90:65:4e:6f:a0:13:5b:
+ 2f:47:3e:0c:04:2f:fe:bd:9c:c1:d1:d1:f2:36:fe:
+ df:07:e6:ec:b8:48:c7:1f:24:f6:af:9a:35:2a:a8:
+ 12:db:a9:a2:50:cc:0c:28:a4:fc:66:f2:28:a8:c2:
+ d1:fb:ea:1e:58:c3:14:70:e0:18:a4:2a:04:54:8c:
+ d3:f3:09:2e:b7:76:a3:eb:07:7a:f4:e8:3a:e3:2e:
+ 6b:b7
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Authority Key Identifier:
+ keyid:7A:13:4E:00:74:5B:C6:78:63:64:27:C1:2F:E2:A0:5B:BC:79:C5:7B
+
+ X509v3 Subject Key Identifier:
+ D7:D3:09:C6:62:34:E3:2A:2D:5D:F3:E9:B4:B0:DA:73:55:E9:75:28
+ X509v3 Key Usage: critical
+ Digital Signature, Key Encipherment
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Extended Key Usage:
+ E-mail Protection, 1.3.6.1.4.1.6449.1.3.5.2
+ Netscape Cert Type:
+ S/MIME
+ X509v3 Certificate Policies:
+ Policy: 1.3.6.1.4.1.6449.1.2.1.1.1
+ CPS: https://secure.comodo.net/CPS
+
+ X509v3 CRL Distribution Points:
+
+ Full Name:
+ URI:http://crl.comodoca.com/COMODOClientAuthenticationandSecureEmailCA.crl
+
+ Authority Information Access:
+ CA Issuers - URI:http://crt.comodoca.com/COMODOClientAuthenticationandSecureEmailCA.crt
+ OCSP - URI:http://ocsp.comodoca.com
+
+ X509v3 Subject Alternative Name:
+ email:wtc@google.com
+ Signature Algorithm: sha1WithRSAEncryption
+ 62:4c:6b:d9:de:0e:56:66:74:ac:b2:08:ef:d4:9f:f7:02:d7:
+ f0:80:7a:ad:91:19:d4:4e:1e:76:1d:34:fb:f9:c5:c3:5b:55:
+ 83:af:5f:da:12:43:bf:e2:d2:4a:3b:aa:91:d6:0e:07:4b:ab:
+ 57:c9:b8:d7:6b:cc:f9:33:85:d4:ea:40:06:09:30:15:8f:e9:
+ 1a:0f:9d:b7:a4:4b:b5:a1:f5:3a:90:71:93:ae:ab:e1:84:1c:
+ d8:d5:1c:2c:87:df:3a:5e:e8:5a:75:21:d8:45:41:5e:db:ba:
+ 9c:f3:50:c9:08:1f:e5:d5:e7:55:0a:25:cd:86:88:41:83:2f:
+ b3:ee:39:02:a6:34:52:fe:64:0a:72:6e:65:41:eb:f9:10:34:
+ 65:40:3d:93:3e:68:6a:ea:68:c5:cb:09:09:78:be:a7:1e:fa:
+ 6f:21:d8:0e:e3:8d:74:08:57:ef:17:f1:6d:50:66:a2:73:78:
+ 10:81:65:bf:96:e4:82:8d:46:7b:e8:a1:fa:6f:33:90:d8:4f:
+ ec:1f:fe:6f:4b:bf:b1:67:2d:cc:e3:90:ef:87:d3:af:ef:d7:
+ 3b:d7:14:56:b7:7a:1a:96:e4:8c:de:2b:a3:95:9d:a9:e5:31:
+ 7b:c9:2c:ec:1f:82:06:7c:80:fa:14:da:71:3b:d1:47:84:8f:
+ 01:e6:5a:8a
+-----BEGIN CERTIFICATE-----
+MIIFHjCCBAagAwIBAgIRAPAeh/T+tvAQ3H5l2vT7j+MwDQYJKoZIhvcNAQEFBQAw
+gZMxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
+BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTkwNwYD
+VQQDEzBDT01PRE8gQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h
+aWwgQ0EwHhcNMTIwNDI1MDAwMDAwWhcNMTMwNDI1MjM1OTU5WjAfMR0wGwYJKoZI
+hvcNAQkBFg53dGNAZ29vZ2xlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAPZQz4Ay7gUbagfFX3G8Z4FAY0Y1pCNsdzJX7MiwCxYOX7dCbt5v3oSf
+z4Fz7jCprEeMRyd4ievRFOmp/Qh0ASzc6k8KMILNtQJlVEKcrxQYp1bHxAB9wPZN
+l1iAV/X8LDZ4adbjfwUF/wgmHvXVYD8VXQYWKBGlXbXQWdEnqziOa2i2PcPL9Q1C
+NaFu9T9zEjOfR6VDL/PcAGEYP0p05NLoN+cZGIQ0SXjStU2QZU5voBNbL0c+DAQv
+/r2cwdHR8jb+3wfm7LhIxx8k9q+aNSqoEtupolDMDCik/GbyKKjC0fvqHljDFHDg
+GKQqBFSM0/MJLrd2o+sHevToOuMua7cCAwEAAaOCAd4wggHaMB8GA1UdIwQYMBaA
+FHoTTgB0W8Z4Y2QnwS/ioFu8ecV7MB0GA1UdDgQWBBTX0wnGYjTjKi1d8+m0sNpz
+Vel1KDAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAgBgNVHSUEGTAXBggr
+BgEFBQcDBAYLKwYBBAGyMQEDBQIwEQYJYIZIAYb4QgEBBAQDAgUgMEYGA1UdIAQ/
+MD0wOwYMKwYBBAGyMQECAQEBMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJl
+LmNvbW9kby5uZXQvQ1BTMFcGA1UdHwRQME4wTKBKoEiGRmh0dHA6Ly9jcmwuY29t
+b2RvY2EuY29tL0NPTU9ET0NsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
+aWxDQS5jcmwwgYgGCCsGAQUFBwEBBHwwejBSBggrBgEFBQcwAoZGaHR0cDovL2Ny
+dC5jb21vZG9jYS5jb20vQ09NT0RPQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1
+cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2Eu
+Y29tMBkGA1UdEQQSMBCBDnd0Y0Bnb29nbGUuY29tMA0GCSqGSIb3DQEBBQUAA4IB
+AQBiTGvZ3g5WZnSssgjv1J/3AtfwgHqtkRnUTh52HTT7+cXDW1WDr1/aEkO/4tJK
+O6qR1g4HS6tXybjXa8z5M4XU6kAGCTAVj+kaD523pEu1ofU6kHGTrqvhhBzY1Rws
+h986XuhadSHYRUFe27qc81DJCB/l1edVCiXNhohBgy+z7jkCpjRS/mQKcm5lQev5
+EDRlQD2TPmhq6mjFywkJeL6nHvpvIdgO4410CFfvF/FtUGaic3gQgWW/luSCjUZ7
+6KH6bzOQ2E/sH/5vS7+xZy3M45Dvh9Ov79c71xRWt3oaluSM3iujlZ2p5TF7ySzs
+H4IGfID6FNpxO9FHhI8B5lqK
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/non-crit-codeSigning-chain.pem b/chromium/net/data/ssl/certificates/non-crit-codeSigning-chain.pem
new file mode 100644
index 00000000000..d4565d14029
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/non-crit-codeSigning-chain.pem
@@ -0,0 +1,105 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpgIBAAKCAQEA9qqEx3tA2pheek7aVb/16FY4NyumZ0fhyXn60xmhUPkRESbR
+0JGUNfWEk1KJgGZHL/fkwRW4hCPQMmBzBdAFjCUR/V2QGUVu4dEcNFHrhGsdFiLb
+o2T+9a4mqmtYSRZFqHpBqBv8Uy0ec4Et/FzDACLK3CY7Ut+BDW+qcBLYEvXYx3oJ
+UGQW71yB7XuBgFjd5R3yq3pHXQXSrZboz2hGd3adYU6xRFiWAEgxOlMm4CmLgqXW
+3ywEW4XAmf93jDxjRPCiQqjUFFKu+O9gFIKjNq+apifuVZA5DXI8DmrJfxNQk4g1
+iJFZp6FzfyUr/eCV5iHjkjfVpWDr663yy4xAQwIDAQABAoIBAQDGovraSX8oiZtL
+k0Rv2W4F86jBhP00HsbMoNZEOVeXBXug/EnqU9GuwlBI8yaXp8Wb81zbwMoeX1jB
+uLnn7GULPq8GAdqQ/0ETyHmWCIJI2JlLwjZtll9bKSsqAdfOw4jE6+8DmcXQlXz4
+Nwb5OxotedczAfaz/hjG4S23ovUuDggSUtNXNxvXOyzk9FjN87vvl9HWLOLuKzDB
+LXYOm0UcEY833XNhnoV3V9GZPHKyZO7HsPLNbCRLwKgVOEqBVwWS+M+QMR8uxrEk
++GVto05gJ6fZ+PXzIVKMOFBST7fx6tBOEAFwmxbYovv7N653rzz/lXQ0SbIPRmcB
+VqBDCWOBAoGBAPu1nPTneCX4EdP7ml+RNreRcOce1/9VxOATp7msDghOfBGjwV01
+3VYzn7YVxBHxadb0kMiJ6rwEmLroiJsnp2zZpoK8K7Kzkr3Bv2E19CDNNKNo2iAp
+WbjTwtPKuj3dWEuLHfQ+FYRb6IkAWfif/u3DFGd5ntMLhhbNbjoRiudbAoGBAPre
+5dxxQMFcEw0YaEOlG/hxTh6wsMAd2P4u1vkjz841mNFP04MECJVWUIEdHiN9hCIU
+n07V8HE9t5GFEahO1+hIwq35vOQQ0hqGk3s2NvvHZjRtiQXgqX4uOULhyHo9LAyi
+bsJHC/+TYyImr/1kLdkdfdjfIwylnFM8wvQ/Bcc5AoGBAK0JO75MhZcsgy0EUSqT
+jFcDf+cSmBBq6O3V9T653eet9LK3rU0jo2YIFSo6qlBfcpAYDpQd46WfT1NmWcq3
+puw4b7R+IVg3BJC4aZUtXwdRqncPtKvZYVmjEdNBEWlICdPc7hmiuG4GNMRB3pgB
+fWH78sHzpNCWonZ4gOcgeinzAoGBAODeGzvVaC3p0knSruKzhLbVGSj5R/Vsy6xL
+X/ZB22sDL8+utfCiFO+HRvH0n6dAQsgppAKOUc+venO9y24J/g3/6kD3shDb4vhT
+2K6AkhhtS3eDF2dlUYgA9uK0b3bijjFlB9KszFxySFG8S9PdkBslDEDxAgG8ELur
+ozQ7qXpBAoGBAOwbkTFGJNCLyirSkyEdPIFDv7GmfKKUNFl5rbRopoQ4q/yjRNKw
+fsF7TE9/hqkanVfRCpKM78NtrKGPgTXHPq8kCtdL5yDIQzz/EVC30ar2HzZmnMgX
+2AXhOHYT8iXDHcad0HE58gRReb2pPzoxyLDXgEZftI6vbyojfi46NtC4
+-----END RSA PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 RSA Test Root CA
+ Validity
+ Not Before: Jan 23 23:51:05 2013 GMT
+ Not After : Jan 21 23:51:05 2023 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:f6:aa:84:c7:7b:40:da:98:5e:7a:4e:da:55:bf:
+ f5:e8:56:38:37:2b:a6:67:47:e1:c9:79:fa:d3:19:
+ a1:50:f9:11:11:26:d1:d0:91:94:35:f5:84:93:52:
+ 89:80:66:47:2f:f7:e4:c1:15:b8:84:23:d0:32:60:
+ 73:05:d0:05:8c:25:11:fd:5d:90:19:45:6e:e1:d1:
+ 1c:34:51:eb:84:6b:1d:16:22:db:a3:64:fe:f5:ae:
+ 26:aa:6b:58:49:16:45:a8:7a:41:a8:1b:fc:53:2d:
+ 1e:73:81:2d:fc:5c:c3:00:22:ca:dc:26:3b:52:df:
+ 81:0d:6f:aa:70:12:d8:12:f5:d8:c7:7a:09:50:64:
+ 16:ef:5c:81:ed:7b:81:80:58:dd:e5:1d:f2:ab:7a:
+ 47:5d:05:d2:ad:96:e8:cf:68:46:77:76:9d:61:4e:
+ b1:44:58:96:00:48:31:3a:53:26:e0:29:8b:82:a5:
+ d6:df:2c:04:5b:85:c0:99:ff:77:8c:3c:63:44:f0:
+ a2:42:a8:d4:14:52:ae:f8:ef:60:14:82:a3:36:af:
+ 9a:a6:27:ee:55:90:39:0d:72:3c:0e:6a:c9:7f:13:
+ 50:93:88:35:88:91:59:a7:a1:73:7f:25:2b:fd:e0:
+ 95:e6:21:e3:92:37:d5:a5:60:eb:eb:ad:f2:cb:8c:
+ 40:43
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ F1:CF:56:60:86:22:7B:5F:E3:00:7E:D8:73:A2:F2:C4:1D:A9:EB:43
+ X509v3 Extended Key Usage:
+ Code Signing
+ Signature Algorithm: sha1WithRSAEncryption
+ 93:70:2e:48:e9:19:55:22:e8:c4:18:9c:2a:cb:4f:3c:e5:88:
+ 08:a8:8e:8c:49:d5:3e:6a:bc:77:d7:8d:22:03:78:9a:1f:01:
+ 43:85:e6:ec:d3:ec:90:05:47:a3:23:e8:04:e4:6d:7a:ef:45:
+ af:b1:6c:17:7c:e1:3e:be:10:bd:c1:05:12:98:c7:3c:87:49:
+ 9e:79:30:ca:8a:44:95:ce:00:be:81:26:0e:84:83:ab:16:91:
+ f3:33:30:ef:09:50:3e:4b:7b:f8:5b:6c:90:47:f9:55:f6:4c:
+ cb:be:50:2d:f1:c1:96:c0:c2:4f:2c:ee:cb:8b:aa:d6:c2:dd:
+ 28:89:bc:b3:d1:dc:d1:ec:c0:fe:bf:b9:7b:0a:ab:aa:96:ce:
+ 08:89:d8:c7:50:5d:b0:16:ea:90:15:f0:20:d3:e6:bb:3b:18:
+ 87:12:71:b7:b8:56:eb:9c:85:be:82:7c:53:4b:88:22:08:59:
+ 63:ee:75:42:7c:10:69:e9:4c:fe:b0:77:52:81:17:f3:42:b5:
+ 60:e5:2a:1b:03:21:a0:df:bb:ab:21:46:6b:fb:78:76:ac:80:
+ ec:c3:9d:58:a7:27:af:8a:b0:60:a1:c7:8c:f9:e3:d6:f9:1b:
+ e8:44:67:3f:bc:43:e6:32:e1:d9:ca:29:78:20:8c:45:42:0c:
+ 76:39:c2:c0
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjQCAgDsMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNVBAMMFTIwNDggUlNB
+IFRlc3QgUm9vdCBDQTAeFw0xMzAxMjMyMzUxMDVaFw0yMzAxMjEyMzUxMDVaMGAx
+CzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3Vu
+dGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQDDAkxMjcuMC4wLjEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD2qoTHe0DamF56TtpVv/Xo
+Vjg3K6ZnR+HJefrTGaFQ+RERJtHQkZQ19YSTUomAZkcv9+TBFbiEI9AyYHMF0AWM
+JRH9XZAZRW7h0Rw0UeuEax0WItujZP71riaqa1hJFkWoekGoG/xTLR5zgS38XMMA
+IsrcJjtS34ENb6pwEtgS9djHeglQZBbvXIHte4GAWN3lHfKrekddBdKtlujPaEZ3
+dp1hTrFEWJYASDE6UybgKYuCpdbfLARbhcCZ/3eMPGNE8KJCqNQUUq7472AUgqM2
+r5qmJ+5VkDkNcjwOasl/E1CTiDWIkVmnoXN/JSv94JXmIeOSN9WlYOvrrfLLjEBD
+AgMBAAGjVTBTMA8GA1UdEQQIMAaHBH8AAAEwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
+FgQU8c9WYIYie1/jAH7Yc6LyxB2p60MwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJ
+KoZIhvcNAQEFBQADggEBAJNwLkjpGVUi6MQYnCrLTzzliAiojoxJ1T5qvHfXjSID
+eJofAUOF5uzT7JAFR6Mj6ATkbXrvRa+xbBd84T6+EL3BBRKYxzyHSZ55MMqKRJXO
+AL6BJg6Eg6sWkfMzMO8JUD5Le/hbbJBH+VX2TMu+UC3xwZbAwk8s7suLqtbC3SiJ
+vLPR3NHswP6/uXsKq6qWzgiJ2MdQXbAW6pAV8CDT5rs7GIcScbe4Vuuchb6CfFNL
+iCIIWWPudUJ8EGnpTP6wd1KBF/NCtWDlKhsDIaDfu6shRmv7eHasgOzDnVinJ6+K
+sGChx4z549b5G+hEZz+8Q+Yy4dnKKXggjEVCDHY5wsA=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/ocsp-test-root.pem b/chromium/net/data/ssl/certificates/ocsp-test-root.pem
new file mode 100644
index 00000000000..493fe54f9bc
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/ocsp-test-root.pem
@@ -0,0 +1,51 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1 (0x1)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Testing CA
+ Validity
+ Not Before: Jan 1 06:00:00 2010 GMT
+ Not After : Dec 1 06:00:00 2032 GMT
+ Subject: CN=Testing CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:a7:19:98:f2:93:0b:fe:73:d0:31:a8:7f:13:3d:
+ 2f:37:8e:ee:ee:d5:2a:77:e4:4d:0f:c9:ff:6f:07:
+ ff:32:cb:f3:da:99:9d:e4:ed:65:83:2a:fc:b0:80:
+ 7f:98:78:75:06:53:9d:25:8a:0c:e3:c2:c7:79:67:
+ 65:30:99:a9:03:4a:9b:11:5a:87:6c:39:a8:c4:e4:
+ ed:4a:cd:0c:64:09:59:46:fb:39:ee:eb:47:a0:70:
+ 4d:bb:01:8a:cf:48:c3:a1:c4:b8:95:fc:40:9f:b4:
+ a3:40:a9:86:b1:af:c4:55:19:ab:9e:ca:47:c3:01:
+ 85:c7:71:c6:4a:a5:ec:f0:7d
+ Exponent: 3 (0x3)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE, pathlen:0
+ X509v3 Certificate Policies:
+ Policy: 1.3.6.1.4.1.11129.2.4.1
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 48:0c:c9:ab:8f:f2:cc:80:f1:1f:b3:3a:45:18:de:ab:c5:e0:
+ d7:d4:64:a0:c4:86:2e:fc:58:3a:d7:86:ba:02:4e:29:95:72:
+ 9f:20:5d:43:b2:41:4e:7c:a4:86:a1:df:b3:ab:7e:46:cb:af:
+ 41:7d:c2:2b:b4:d3:22:d3:67:3e:13:ef:b6:9f:5c:8a:0d:3c:
+ a7:58:eb:a9:21:d2:9b:6b:e5:b6:4f:d6:7c:22:a7:b3:18:82:
+ b2:16:7d:d6:5c:7d:c9:46:be:91:49:e8:d2:42:95:cd:f8:8a:
+ 91:50:e7:5b:2a:26:68:ef:e7:e7:c6:24:d1:3c:01:9d:6c:48:
+ a4:f5
+-----BEGIN CERTIFICATE-----
+MIIB0DCCATmgAwIBAgIBATANBgkqhkiG9w0BAQUFADAVMRMwEQYDVQQDEwpUZXN0
+aW5nIENBMB4XDTEwMDEwMTA2MDAwMFoXDTMyMTIwMTA2MDAwMFowFTETMBEGA1UE
+AxMKVGVzdGluZyBDQTCBnTANBgkqhkiG9w0BAQEFAAOBiwAwgYcCgYEApxmY8pML
+/nPQMah/Ez0vN47u7tUqd+RND8n/bwf/Msvz2pmd5O1lgyr8sIB/mHh1BlOdJYoM
+48LHeWdlMJmpA0qbEVqHbDmoxOTtSs0MZAlZRvs57utHoHBNuwGKz0jDocS4lfxA
+n7SjQKmGsa/EVRmrnspHwwGFx3HGSqXs8H0CAQOjMjAwMBIGA1UdEwEB/wQIMAYB
+Af8CAQAwGgYDVR0gAQEABBAwDjAMBgorBgEEAdZ5AgQBMA0GCSqGSIb3DQEBBQUA
+A4GBAEgMyauP8syA8R+zOkUY3qvF4NfUZKDEhi78WDrXhroCTimVcp8gXUOyQU58
+pIah37OrfkbLr0F9wiu00yLTZz4T77afXIoNPKdY66kh0ptr5bZP1nwip7MYgrIW
+fdZcfclGvpFJ6NJClc34ipFQ51sqJmjv5+fGJNE8AZ1sSKT1
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/ok_cert.pem b/chromium/net/data/ssl/certificates/ok_cert.pem
new file mode 100644
index 00000000000..69d10d2219c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/ok_cert.pem
@@ -0,0 +1,110 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCbE8ILYEITh9up
+ken6c61zNAibRnq70g7glLy6fHqQJsrIVzmj6b+4dHLYUA3mu13pqZyoK6YP1MPd
+afdh23IrW4vo6xtxCpqQk0rAEa+0cji7E+01JHEvO4Y1Q4NScGj628HDe+dJqiQD
+AZWRDgIodlKrRjD1XZT91U0UsuytDvYQVbEIosgMdEevW8FvqWAhDH6fkb4Q5OdW
+wUxGnX0+cHLINVMJvCoPq+fDQWy4A/2uRiFn/x9NBZEz2AwNta+y6e3pn8gZE9vh
+Feqe3Jv9toIZzsqQZ/fCWK6FKzfkxQNYc5vcSqHx96VuDhqrbnPFdpcQfRB08Yg4
+3TSioKY7AgMBAAECggEAOqImzPxRH2dPs3Z6+/n+y78RvfvQ7fDHNTyneu8TvCse
+os7v+TypA4nr3kOubd3L7Uv28lLGj9fHUpD9Ot+o9CHB7YfvMTdsJ1u5eJN3VoeV
+UY6AMoab0Nr1rG/hWCsuViL+yPWxBlYxFX3k2hps0HWkXiPE4RDIA41BfqEEAY4+
+6V0lvoBZAJbYncGg1BEDxH+erXIFmAu3PeCYEpb2VP7hQH8JITEWco+DmK5impoB
+e+BaEVLqFKUjU+EdvpE4WKB24K9lw35bfGhWd/cQwSaLIPezG1OK9M0JbpPoj5gg
+KBdwrS7EdOur64Ue774KPAFRYU8mEpnnQMKOnNUuSQKBgQDHfriFwjViBdRJGTZ1
+Wa/AgJ7rVU9yMhaUSifYbLQDrYRwagYNtA/NqTgRYl7BbHZpsYmglQoCAWJa+KK2
+xwJ/1uLsNG+I04lSQCsRr4/z23O6Vc2VzmMpru6Upa9mL8aNiUm2+7VJje/NnUW5
+OXiSxbYGchYbO7+sIo8UmSpm7wKBgQDHAFLoBZOeh1BGnD0YNH7WYJ4kH9IriFcB
+QqJL8yFjikbUU976yAyXNbMIVBMkCZoT/l7RvgwLufarKTzRHv88nCPwg8/sbQQT
+WP4TRcxS6zZj4y0VHN2i0KSldAYk1ohgLFXzAQzXVcMBzNNOdSSLtqRbPZo9Gd7U
+DYaHxRIVdQKBgQCFykaV7hk/FAm6vF35dZyYzanGyf/t5gmeid0PGFfh34zilzhY
+GFpA4yvm/MHvln4ThC14tHtxvNvphrYZPn4+ni6xmrjyWmvN7Zr00XkJYjPK06B8
+x11Zpyf6KOPo9EGEyn3Vahm6qqYYj1EjV5e1V0MsL3cD7J4vIz4x4ka9oQKBgQCN
+9tQuQ7Qw1rVU+ia3etO1Wc3XVYAYoDX5ZzDi37rFCSNIW+DppQceZCepXFkfT15E
+vyWjmWF8iBjJuCxzvxo0ges9rLsLHiZXKxhuZU/DI5t0nN9PfX07pn6ereuoIge+
+HELgjbI8eCkawqVIBleg+BW+JW9AAZGuU0vS1ar19QKBgQC3J57JCl6ZZzGKpFpU
+/9qYA0qFFRBIRddHlfelk7EBqg/6C6yEXAqNO+DcurdU6li+lEOKNSPAqii2MC+H
+XqCIdtbZcOX7pUSg5E8N883ruMjsaePTsvA5iEY5QvA8Mn47wpPikYEXQgFWoP+W
+UFlVhwe/E/ebjJZqyTiQaQcMPQ==
+-----END PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 237 (0xed)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Test Root CA
+ Validity
+ Not Before: Jun 18 19:52:02 2013 GMT
+ Not After : Jun 16 19:52:02 2023 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:9b:13:c2:0b:60:42:13:87:db:a9:91:e9:fa:73:
+ ad:73:34:08:9b:46:7a:bb:d2:0e:e0:94:bc:ba:7c:
+ 7a:90:26:ca:c8:57:39:a3:e9:bf:b8:74:72:d8:50:
+ 0d:e6:bb:5d:e9:a9:9c:a8:2b:a6:0f:d4:c3:dd:69:
+ f7:61:db:72:2b:5b:8b:e8:eb:1b:71:0a:9a:90:93:
+ 4a:c0:11:af:b4:72:38:bb:13:ed:35:24:71:2f:3b:
+ 86:35:43:83:52:70:68:fa:db:c1:c3:7b:e7:49:aa:
+ 24:03:01:95:91:0e:02:28:76:52:ab:46:30:f5:5d:
+ 94:fd:d5:4d:14:b2:ec:ad:0e:f6:10:55:b1:08:a2:
+ c8:0c:74:47:af:5b:c1:6f:a9:60:21:0c:7e:9f:91:
+ be:10:e4:e7:56:c1:4c:46:9d:7d:3e:70:72:c8:35:
+ 53:09:bc:2a:0f:ab:e7:c3:41:6c:b8:03:fd:ae:46:
+ 21:67:ff:1f:4d:05:91:33:d8:0c:0d:b5:af:b2:e9:
+ ed:e9:9f:c8:19:13:db:e1:15:ea:9e:dc:9b:fd:b6:
+ 82:19:ce:ca:90:67:f7:c2:58:ae:85:2b:37:e4:c5:
+ 03:58:73:9b:dc:4a:a1:f1:f7:a5:6e:0e:1a:ab:6e:
+ 73:c5:76:97:10:7d:10:74:f1:88:38:dd:34:a2:a0:
+ a6:3b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 34:FF:09:84:DB:23:D0:1F:45:72:50:CE:79:28:D3:EF:FB:B1:46:07
+ X509v3 Authority Key Identifier:
+ keyid:2B:88:93:E1:D2:54:50:F4:B8:A4:20:BD:B1:79:E6:0B:AA:EB:EC:1A
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ a6:21:b1:53:7f:ec:a8:23:6f:76:d4:bd:0a:6a:67:a7:a8:9e:
+ 7d:08:38:62:cd:f4:34:d9:41:3a:02:a7:6d:31:7d:33:02:27:
+ ab:06:e6:01:c8:65:32:b5:f3:96:27:4c:5a:82:a5:84:a7:99:
+ 29:4a:b6:b9:57:41:75:a9:e2:a6:87:00:25:ff:5a:85:f6:68:
+ da:e1:5a:19:fb:91:5e:70:27:31:dd:9a:ac:20:9a:d6:27:1c:
+ 55:34:8c:f9:a4:97:ff:81:63:fb:b8:7d:71:d4:42:88:3c:10:
+ db:78:54:e3:42:b1:a4:83:81:b9:92:7a:f6:b2:f2:19:1c:b6:
+ 68:80:2b:14:5a:36:84:e0:67:ad:f9:e4:bc:a1:63:af:a1:13:
+ 13:95:3f:76:5e:2c:81:ed:7c:4a:38:04:bf:dc:03:b0:ca:8b:
+ d3:17:d8:fc:60:d9:83:31:9f:ef:be:a7:e3:05:4f:b4:3e:97:
+ 8a:6d:86:c5:69:ef:93:8c:1b:9e:6e:95:f7:1a:66:f7:1f:bf:
+ 5e:92:c4:ed:15:e1:2e:56:56:11:80:be:02:1d:96:fa:39:6a:
+ e0:dd:04:d7:98:e9:29:72:a5:60:f1:0e:14:5d:08:db:26:18:
+ 42:5b:f3:82:fb:79:83:48:1b:86:8d:9d:8b:5c:87:1a:23:ae:
+ bc:4c:13:46
+-----BEGIN CERTIFICATE-----
+MIIDdDCCAlygAwIBAgICAO0wDQYJKoZIhvcNAQEFBQAwFzEVMBMGA1UEAwwMVGVz
+dCBSb290IENBMB4XDTEzMDYxODE5NTIwMloXDTIzMDYxNjE5NTIwMlowYDELMAkG
+A1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWlu
+IFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJsTwgtgQhOH26mR6fpzrXM0CJtG
+ervSDuCUvLp8epAmyshXOaPpv7h0cthQDea7XempnKgrpg/Uw91p92Hbcitbi+jr
+G3EKmpCTSsARr7RyOLsT7TUkcS87hjVDg1JwaPrbwcN750mqJAMBlZEOAih2UqtG
+MPVdlP3VTRSy7K0O9hBVsQiiyAx0R69bwW+pYCEMfp+RvhDk51bBTEadfT5wcsg1
+Uwm8Kg+r58NBbLgD/a5GIWf/H00FkTPYDA21r7Lp7emfyBkT2+EV6p7cm/22ghnO
+ypBn98JYroUrN+TFA1hzm9xKofH3pW4OGqtuc8V2lxB9EHTxiDjdNKKgpjsCAwEA
+AaOBgDB+MAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFDT/CYTbI9AfRXJQznko0+/7
+sUYHMB8GA1UdIwQYMBaAFCuIk+HSVFD0uKQgvbF55guq6+waMB0GA1UdJQQWMBQG
+CCsGAQUFBwMBBggrBgEFBQcDAjAPBgNVHREECDAGhwR/AAABMA0GCSqGSIb3DQEB
+BQUAA4IBAQCmIbFTf+yoI2921L0KamenqJ59CDhizfQ02UE6AqdtMX0zAierBuYB
+yGUytfOWJ0xagqWEp5kpSra5V0F1qeKmhwAl/1qF9mja4VoZ+5FecCcx3ZqsIJrW
+JxxVNIz5pJf/gWP7uH1x1EKIPBDbeFTjQrGkg4G5knr2svIZHLZogCsUWjaE4Get
++eS8oWOvoRMTlT92XiyB7XxKOAS/3AOwyovTF9j8YNmDMZ/vvqfjBU+0PpeKbYbF
+ae+TjBuebpX3Gmb3H79eksTtFeEuVlYRgL4CHZb6OWrg3QTXmOkpcqVg8Q4UXQjb
+JhhCW/OC+3mDSBuGjZ2LXIcaI668TBNG
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-1024-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-1024-rsa-intermediate.pem
new file mode 100644
index 00000000000..d5711bd5c19
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-1024-rsa-intermediate.pem
@@ -0,0 +1,44 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 242 (0xf2)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=1024 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:54 2011 GMT
+ Not After : Dec 9 22:47:54 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ EC Public Key:
+ pub:
+ 04:c6:da:96:04:72:10:1a:ac:92:fd:d6:23:1e:c5:
+ cc:92:2e:09:2e:76:39:a4:d5:ca:e3:c1:2d:e4:8e:
+ b1:84:90:9d:6e:6a:ca:46:48:22:80:50:ed:80:83:
+ b8:43:96:c7:be:77:a8:23:f3:bf:f4:0f:c6:78:55:
+ 8f:0c:9e:6d:a6
+ ASN1 OID: prime256v1
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 54:45:00:a1:6b:41:42:0b:5f:ac:23:75:06:2c:58:e7:46:05:
+ 1e:f1:f6:cb:37:e6:d2:3d:84:db:0c:b8:fd:4d:d6:f5:13:ff:
+ 1a:22:14:01:fe:ff:09:8d:e3:fd:64:68:12:7e:d1:ae:31:cb:
+ c4:17:99:fe:20:1e:68:7c:d7:d6:93:f6:2e:88:d0:89:34:8e:
+ a6:59:17:1e:4f:2a:53:69:9a:46:5a:80:91:65:47:ca:17:87:
+ 5e:2d:b8:41:bf:05:fa:80:fb:57:20:23:d6:99:5e:7e:5d:bf:
+ bc:6d:0b:83:86:53:bb:28:f1:4a:83:3c:32:14:06:00:ce:cc:
+ 62:d7
+-----BEGIN CERTIFICATE-----
+MIIBxjCCAS8CAgDyMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTEwMjQgcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1NFoXDTIxMTIwOTIy
+NDc1NFowYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMbalgRyEBqskv3WIx7F
+zJIuCS52OaTVyuPBLeSOsYSQnW5qykZIIoBQ7YCDuEOWx753qCPzv/QPxnhVjwye
+baajEzARMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEFBQADgYEAVEUAoWtB
+QgtfrCN1BixY50YFHvH2yzfm0j2E2wy4/U3W9RP/GiIUAf7/CY3j/WRoEn7RrjHL
+xBeZ/iAeaHzX1pP2LojQiTSOplkXHk8qU2maRlqAkWVHyheHXi24Qb8F+oD7VyAj
+1plefl2/vG0Lg4ZTuyjxSoM8MhQGAM7MYtc=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-2048-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-2048-rsa-intermediate.pem
new file mode 100644
index 00000000000..aea77ee3ce0
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-2048-rsa-intermediate.pem
@@ -0,0 +1,54 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 242 (0xf2)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:54 2011 GMT
+ Not After : Dec 9 22:47:54 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ EC Public Key:
+ pub:
+ 04:c6:80:6a:45:dd:d9:c1:83:91:b8:9f:d6:59:cb:
+ 08:0d:5b:b1:b3:52:83:4d:e8:68:61:3e:df:df:82:
+ 7c:84:63:ce:08:a9:8f:04:20:81:8d:ad:c0:80:25:
+ 72:0e:b3:f3:06:fe:7c:46:0d:4d:cd:9f:0a:72:5b:
+ a5:7b:ee:f2:31
+ ASN1 OID: prime256v1
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 17:05:5c:7d:c4:c7:07:d1:08:09:fd:8f:01:29:8e:91:cd:de:
+ d8:f2:22:66:86:63:b1:8b:fb:41:f9:46:31:f5:24:3f:19:a4:
+ 4b:40:4e:ef:e6:1a:5f:90:24:3d:04:3b:ae:42:17:be:a4:1d:
+ 0c:8d:b1:e3:8f:05:fd:d7:b5:a7:c1:ee:b6:97:72:1a:25:86:
+ 61:dc:31:11:81:af:20:3c:4a:c0:b1:ff:03:23:8c:7c:2b:94:
+ e0:4b:25:74:7c:13:5e:0e:a7:72:e4:8e:a1:27:86:c4:ea:b1:
+ a3:b7:f3:80:b6:5f:76:91:6b:04:d5:55:96:01:35:10:a6:33:
+ 4f:cc:ea:2f:d2:f1:fc:a4:a1:14:77:1f:61:a9:a1:c4:b5:90:
+ bb:73:c1:ed:bb:63:47:a7:e8:27:a3:8e:27:88:c9:7e:dc:00:
+ 76:44:2e:89:a7:b0:ef:9f:bb:f2:58:e1:c5:01:7b:b1:a0:b2:
+ dc:ce:c7:cf:a7:5d:0d:37:b8:86:4a:5a:61:9c:59:98:ef:4d:
+ af:61:35:de:ed:5b:b2:94:16:7f:3d:2a:96:87:9e:63:0b:0d:
+ 80:ac:36:1b:ac:bf:2f:c8:4b:be:c2:6d:ea:8b:7b:e3:8f:b5:
+ d6:62:0d:dc:c8:17:d4:eb:78:40:a4:9e:95:e7:38:75:c0:31:
+ 64:2b:ad:d8
+-----BEGIN CERTIFICATE-----
+MIICRzCCAS8CAgDyMA0GCSqGSIb3DQEBBQUAMCgxJjAkBgNVBAMMHTIwNDggcnNh
+IFRlc3QgaW50ZXJtZWRpYXRlIENBMB4XDTExMTIxMjIyNDc1NFoXDTIxMTIwOTIy
+NDc1NFowYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
+BAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3QgQ0ExEjAQBgNVBAMMCTEy
+Ny4wLjAuMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMaAakXd2cGDkbif1lnL
+CA1bsbNSg03oaGE+39+CfIRjzgipjwQggY2twIAlcg6z8wb+fEYNTc2fCnJbpXvu
+8jGjEzARMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEFBQADggEBABcFXH3E
+xwfRCAn9jwEpjpHN3tjyImaGY7GL+0H5RjH1JD8ZpEtATu/mGl+QJD0EO65CF76k
+HQyNseOPBf3XtafB7raXcholhmHcMRGBryA8SsCx/wMjjHwrlOBLJXR8E14Op3Lk
+jqEnhsTqsaO384C2X3aRawTVVZYBNRCmM0/M6i/S8fykoRR3H2GpocS1kLtzwe27
+Y0en6CejjieIyX7cAHZELomnsO+fu/JY4cUBe7GgstzOx8+nXQ03uIZKWmGcWZjv
+Ta9hNd7tW7KUFn89KpaHnmMLDYCsNhusvy/IS77CbeqLe+OPtdZiDdzIF9TreECk
+npXnOHXAMWQrrdg=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-768-rsa-intermediate.pem b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-768-rsa-intermediate.pem
new file mode 100644
index 00000000000..434b93f4d9c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-768-rsa-intermediate.pem
@@ -0,0 +1,41 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 242 (0xf2)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=768 rsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:54 2011 GMT
+ Not After : Dec 9 22:47:54 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ EC Public Key:
+ pub:
+ 04:bd:53:19:05:f9:a1:53:38:f9:94:53:38:c3:5f:
+ 65:91:ca:00:98:ff:8c:78:cb:a9:ce:a7:f4:ac:74:
+ 48:94:0a:6d:8e:6e:12:16:0c:ba:fb:4d:39:6f:75:
+ 96:0e:f6:6a:ab:e9:9b:a4:6f:3b:35:fc:ad:dc:6b:
+ 12:97:1e:de:79
+ ASN1 OID: prime256v1
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ 5a:27:e9:f3:8a:ea:29:4b:32:0d:27:de:e4:c8:94:d4:72:1e:
+ b9:97:f6:a1:d1:13:df:fc:7d:98:1e:5e:bc:05:0b:24:9a:0a:
+ 4c:cc:5f:66:8a:7a:51:18:42:48:b1:1b:56:1b:46:bf:9b:56:
+ bd:c5:46:54:da:c1:7f:00:2c:c5:f1:e9:24:da:1e:19:83:96:
+ 5f:df:71:15:61:73:8e:6c:ca:3d:50:e7:de:2d:4a:ce:9a:a1:
+ 44:51:64:0e:b0:6a
+-----BEGIN CERTIFICATE-----
+MIIBpDCCAS4CAgDyMA0GCSqGSIb3DQEBBQUAMCcxJTAjBgNVBAMMHDc2OCByc2Eg
+VGVzdCBpbnRlcm1lZGlhdGUgQ0EwHhcNMTExMjEyMjI0NzU0WhcNMjExMjA5MjI0
+NzU0WjBgMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UE
+BwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3
+LjAuMC4xMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvVMZBfmhUzj5lFM4w19l
+kcoAmP+MeMupzqf0rHRIlAptjm4SFgy6+005b3WWDvZqq+mbpG87Nfyt3GsSlx7e
+eaMTMBEwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQUFAANhAFon6fOK6ilL
+Mg0n3uTIlNRyHrmX9qHRE9/8fZgeXrwFCySaCkzMX2aKelEYQkixG1YbRr+bVr3F
+RlTawX8ALMXx6STaHhmDll/fcRVhc45syj1Q594tSs6aoURRZA6wag==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-prime256v1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-prime256v1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..6e00ebfd886
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-ee-by-prime256v1-ecdsa-intermediate.pem
@@ -0,0 +1,39 @@
+Certificate:
+ Data:
+ Version: 1 (0x0)
+ Serial Number: 242 (0xf2)
+ Signature Algorithm: ecdsa-with-SHA1
+ Issuer: CN=prime256v1 ecdsa Test intermediate CA
+ Validity
+ Not Before: Dec 12 22:47:55 2011 GMT
+ Not After : Dec 9 22:47:55 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ EC Public Key:
+ pub:
+ 04:79:bf:01:56:fb:d3:32:5c:95:eb:7f:78:d3:ec:
+ bc:4d:df:ae:5f:58:ed:c1:c8:21:a8:23:96:6d:37:
+ b1:ea:21:a6:3e:4a:2e:36:1d:d9:3f:ff:b2:8d:36:
+ 10:02:44:38:8a:a7:63:d0:b1:89:6b:2e:da:e2:a9:
+ f2:c6:fa:66:a5
+ ASN1 OID: prime256v1
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: ecdsa-with-SHA1
+ 30:46:02:21:00:8d:99:02:83:bf:bd:8d:45:06:7f:1b:3e:e3:
+ 61:31:3e:93:ca:27:62:f3:7a:6f:1e:b6:6b:67:26:c4:ee:95:
+ e9:02:21:00:d6:34:24:c3:53:8e:56:92:0a:fb:2b:bf:b2:33:
+ 3a:2d:7a:23:7e:a8:d3:d1:67:42:e0:b0:4e:c6:01:b6:a0:8a
+-----BEGIN CERTIFICATE-----
+MIIBjTCCATMCAgDyMAkGByqGSM49BAEwMDEuMCwGA1UEAwwlcHJpbWUyNTZ2MSBl
+Y2RzYSBUZXN0IGludGVybWVkaWF0ZSBDQTAeFw0xMTEyMTIyMjQ3NTVaFw0yMTEy
+MDkyMjQ3NTVaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYw
+FAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQD
+DAkxMjcuMC4wLjEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR5vwFW+9MyXJXr
+f3jT7LxN365fWO3ByCGoI5ZtN7HqIaY+Si42Hdk//7KNNhACRDiKp2PQsYlrLtri
+qfLG+maloxMwETAPBgNVHREECDAGhwR/AAABMAkGByqGSM49BAEDSQAwRgIhAI2Z
+AoO/vY1FBn8bPuNhMT6Tyidi83pvHrZrZybE7pXpAiEA1jQkw1OOVpIK+yu/sjM6
+LXojfqjT0WdC4LBOxgG2oIo=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/prime256v1-ecdsa-intermediate.pem b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-intermediate.pem
new file mode 100644
index 00000000000..589c001cf7b
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/prime256v1-ecdsa-intermediate.pem
@@ -0,0 +1,58 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 242 (0xf2)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=2048 RSA Test Root CA
+ Validity
+ Not Before: Dec 12 22:47:53 2011 GMT
+ Not After : Dec 9 22:47:53 2021 GMT
+ Subject: CN=prime256v1 ecdsa Test intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ EC Public Key:
+ pub:
+ 04:d1:35:14:53:74:2f:e1:e4:9b:41:9e:42:9d:10:
+ 6b:0b:f4:16:8f:bc:a7:c7:a4:39:09:73:34:cb:87:
+ df:2f:7e:4a:5f:b1:b5:e4:dc:49:41:4e:a8:81:34:
+ b5:da:7d:27:7d:05:c1:bd:0a:29:6d:ad:a3:5d:37:
+ 7b:56:b7:1b:60
+ ASN1 OID: prime256v1
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 95:31:9C:D4:B9:C2:F8:A6:08:71:5F:3A:17:F7:2C:1E:A9:AD:46:41
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 22:38:c0:f9:09:fc:7b:2d:d3:31:8e:eb:7d:bb:b9:78:b7:89:
+ f4:7a:85:b4:f8:0f:2a:1b:a5:c3:53:f1:55:a4:bd:a3:dd:d2:
+ 2d:e5:af:63:bd:fc:eb:6d:95:90:7a:de:1e:ed:fa:a9:b4:df:
+ 82:f1:22:10:3a:b9:c7:a1:23:d0:9f:2a:60:81:61:83:a0:e6:
+ 2b:de:b7:a0:4e:f6:81:a7:8f:02:c7:14:06:16:f1:9e:85:c9:
+ 7d:7d:f3:31:aa:78:cd:a9:a8:81:5b:e4:26:2f:fa:93:e7:6a:
+ 6e:a8:2f:1b:0a:b9:20:cc:f0:93:89:81:43:58:c8:b6:0a:40:
+ d3:24:b9:e9:c6:64:93:13:16:9c:0b:e8:bd:77:91:6e:96:bf:
+ 22:85:db:ba:88:5b:db:18:9a:5d:10:5d:45:07:ba:99:9b:60:
+ c0:30:4b:41:64:20:03:fa:97:94:82:59:5b:85:e6:f3:be:a5:
+ e8:c9:52:11:1a:62:e1:f0:24:7e:47:30:e2:e2:8d:8c:5b:84:
+ 10:ec:cc:f5:d2:4c:9e:47:ea:20:66:20:31:0f:8b:03:77:b3:
+ b6:54:9f:b4:7a:60:6e:1a:63:47:9f:b4:00:b7:7c:35:be:58:
+ e3:8b:22:0e:3d:79:b9:6f:0e:4f:05:06:1a:16:e1:b9:92:1c:
+ ea:f5:ef:9d
+-----BEGIN CERTIFICATE-----
+MIICQzCCASugAwIBAgICAPIwDQYJKoZIhvcNAQEFBQAwIDEeMBwGA1UEAwwVMjA0
+OCBSU0EgVGVzdCBSb290IENBMB4XDTExMTIxMjIyNDc1M1oXDTIxMTIwOTIyNDc1
+M1owMDEuMCwGA1UEAwwlcHJpbWUyNTZ2MSBlY2RzYSBUZXN0IGludGVybWVkaWF0
+ZSBDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNE1FFN0L+Hkm0GeQp0Qawv0
+Fo+8p8ekOQlzNMuH3y9+Sl+xteTcSUFOqIE0tdp9J30Fwb0KKW2to103e1a3G2Cj
+QjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJUxnNS5wvimCHFfOhf3LB6p
+rUZBMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAIjjA+Qn8ey3T
+MY7rfbu5eLeJ9HqFtPgPKhulw1PxVaS9o93SLeWvY738622VkHreHu36qbTfgvEi
+EDq5x6Ej0J8qYIFhg6DmK963oE72gaePAscUBhbxnoXJfX3zMap4zamogVvkJi/6
+k+dqbqgvGwq5IMzwk4mBQ1jItgpA0yS56cZkkxMWnAvovXeRbpa/IoXbuohb2xia
+XRBdRQe6mZtgwDBLQWQgA/qXlIJZW4Xm876l6MlSERpi4fAkfkcw4uKNjFuEEOzM
+9dJMnkfqIGYgMQ+LA3eztlSftHpgbhpjR5+0ALd8Nb5Y44siDj15uW8OTwUGGhbh
+uZIc6vXvnQ==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/punycodetest.der b/chromium/net/data/ssl/certificates/punycodetest.der
new file mode 100644
index 00000000000..b19618f5c79
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/punycodetest.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/quic_intermediate.crt b/chromium/net/data/ssl/certificates/quic_intermediate.crt
new file mode 100644
index 00000000000..ca1e6f6f13e
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/quic_intermediate.crt
@@ -0,0 +1,53 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 2 (0x2)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: O=Acme Co, CN=Root CA
+ Validity
+ Not Before: Jan 1 10:00:00 2013 GMT
+ Not After : Dec 31 10:00:00 2023 GMT
+ Subject: O=Acme Co, CN=Intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:af:95:dd:a0:eb:d7:c3:ba:a6:ae:db:6e:05:68:
+ a0:00:15:a1:85:d1:89:ba:be:3a:7a:3b:8c:3b:41:
+ 07:76:63:71:28:f7:bf:a5:fb:b3:28:94:f9:9a:de:
+ 1d:03:00:ce:5e:25:06:6a:e6:c7:0a:6b:6d:d3:76:
+ 95:57:f5:16:f8:f0:43:de:b7:c7:1b:0b:83:f4:70:
+ e6:29:a1:8d:22:12:9a:df:4b:31:e8:9b:86:7d:95:
+ 29:97:18:c1:34:2f:b6:a7:c1:c7:46:d6:9c:c6:a6:
+ ae:6e:dd:8f:be:c2:ec:02:00:d2:54:f6:0f:a0:cc:
+ af:04:85:65:98:a1:ea:73:f1
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Key Usage: critical
+ Certificate Sign
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ 9a:68:79:17:6c:13:20:b3:5f:01:ca:ae:c0:bf:d2:7b:98:bf:
+ dd:4d:d1:c3:a5:ab:01:47:2e:c8:61:b4:f5:1d:55:04:f0:eb:
+ 5d:84:5a:78:09:b0:f1:42:64:14:e8:9e:ba:c3:38:32:d3:16:
+ fe:e1:65:1f:76:da:e4:c0:83:62:4a:ae:d0:4e:00:2e:38:52:
+ 91:81:62:94:b0:3d:69:b3:87:72:39:55:94:9e:ca:2c:ca:51:
+ 3c:d3:3f:d2:1c:92:d3:de:df:ba:bc:45:9b:30:99:b4:39:f8:
+ 17:55:94:7d:3a:ba:0e:e9:3f:2d:bc:f0:ea:6d:17:85:23:e4:
+ ca:94
+-----BEGIN CERTIFICATE-----
+MIIB+DCCAWOgAwIBAgIBAjALBgkqhkiG9w0BAQUwJDEQMA4GA1UEChMHQWNtZSBD
+bzEQMA4GA1UEAxMHUm9vdCBDQTAeFw0xMzAxMDExMDAwMDBaFw0yMzEyMzExMDAw
+MDBaMCwxEDAOBgNVBAoTB0FjbWUgQ28xGDAWBgNVBAMTD0ludGVybWVkaWF0ZSBD
+QTCBnTALBgkqhkiG9w0BAQEDgY0AMIGJAoGBAK+V3aDr18O6pq7bbgVooAAVoYXR
+ibq+Ono7jDtBB3ZjcSj3v6X7syiU+ZreHQMAzl4lBmrmxwprbdN2lVf1FvjwQ963
+xxsLg/Rw5imhjSISmt9LMeibhn2VKZcYwTQvtqfBx0bWnMamrm7dj77C7AIA0lT2
+D6DMrwSFZZih6nPxAgMBAAGjODA2MA4GA1UdDwEB/wQEAwIABDATBgNVHSUEDDAK
+BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MAsGCSqGSIb3DQEBBQOBgQCaaHkX
+bBMgs18Byq7Av9J7mL/dTdHDpasBRy7IYbT1HVUE8OtdhFp4CbDxQmQU6J66wzgy
+0xb+4WUfdtrkwINiSq7QTgAuOFKRgWKUsD1ps4dyOVWUnsosylE80z/SHJLT3t+6
+vEWbMJm0OfgXVZR9OroO6T8tvPDqbReFI+TKlA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/quic_root.crt b/chromium/net/data/ssl/certificates/quic_root.crt
new file mode 100644
index 00000000000..55502e6b94e
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/quic_root.crt
@@ -0,0 +1,106 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1 (0x1)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: O=Acme Co, CN=Root CA
+ Validity
+ Not Before: Jan 1 10:00:00 2013 GMT
+ Not After : Dec 31 10:00:00 2023 GMT
+ Subject: O=Acme Co, CN=Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:f3:8f:b5:01:f7:8f:bf:0e:c3:bc:2e:43:f9:63:
+ 32:ae:e2:70:2d:77:70:bf:32:57:77:dd:00:f4:16:
+ 08:e2:f4:b8:b4:c9:bc:41:be:54:ba:44:3f:6f:77:
+ f9:d1:1b:52:25:16:7d:df:f9:29:79:3c:7c:8f:16:
+ e3:85:d5:7c:96:5e:2e:60:b3:80:e1:fc:09:b9:04:
+ 4d:ff:bc:05:25:55:96:b8:e7:7e:03:ed:f4:a1:93:
+ 54:66:b6:d5:e4:1f:92:94:52:7d:c3:60:89:5f:79:
+ f9:63:d1:f4:bb:4d:fa:da:4d:2e:d2:1d:ac:dc:7a:
+ 4f:52:67:3f:ad:eb:ed:ba:cd
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Key Usage: critical
+ Certificate Sign
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ 7c:0f:20:54:85:ea:e9:68:c5:15:fc:10:8a:09:98:0e:51:53:
+ 7a:a3:37:c3:ec:8d:61:2c:49:66:d0:34:0b:8b:68:50:58:75:
+ 1f:fb:76:87:89:16:7d:56:d1:be:2f:bb:ef:95:26:92:55:37:
+ 6f:ca:82:e2:d4:93:33:80:1f:9c:b9:2d:1e:ee:3b:90:7d:13:
+ 2e:28:9b:17:8c:15:5f:12:eb:ed:f2:86:2f:a5:f5:59:e4:f3:
+ 07:a9:99:2d:32:70:d4:2a:d0:43:f2:1c:92:6d:75:f8:60:fa:
+ b5:8f:4f:07:6b:f6:c0:80:b3:4f:c8:9f:ed:11:bd:4d:d9:d7:
+ 4a:2c
+-----BEGIN CERTIFICATE-----
+MIIB8DCCAVugAwIBAgIBATALBgkqhkiG9w0BAQUwJDEQMA4GA1UEChMHQWNtZSBD
+bzEQMA4GA1UEAxMHUm9vdCBDQTAeFw0xMzAxMDExMDAwMDBaFw0yMzEyMzExMDAw
+MDBaMCQxEDAOBgNVBAoTB0FjbWUgQ28xEDAOBgNVBAMTB1Jvb3QgQ0EwgZ0wCwYJ
+KoZIhvcNAQEBA4GNADCBiQKBgQDzj7UB94+/DsO8LkP5YzKu4nAtd3C/Mld33QD0
+Fgji9Li0ybxBvlS6RD9vd/nRG1IlFn3f+Sl5PHyPFuOF1XyWXi5gs4Dh/Am5BE3/
+vAUlVZa4534D7fShk1RmttXkH5KUUn3DYIlfeflj0fS7TfraTS7SHazcek9SZz+t
+6+26zQIDAQABozgwNjAOBgNVHQ8BAf8EBAMCAAQwEwYDVR0lBAwwCgYIKwYBBQUH
+AwEwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQUDgYEAfA8gVIXq6WjFFfwQ
+igmYDlFTeqM3w+yNYSxJZtA0C4toUFh1H/t2h4kWfVbRvi+775UmklU3b8qC4tST
+M4AfnLktHu47kH0TLiibF4wVXxLr7fKGL6X1WeTzB6mZLTJw1CrQQ/Ickm11+GD6
+tY9PB2v2wICzT8if7RG9TdnXSiw=
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1 (0x1)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: O=Acme Co, CN=Root CA
+ Validity
+ Not Before: Jan 1 10:00:00 2013 GMT
+ Not After : Dec 31 10:00:00 2023 GMT
+ Subject: O=Acme Co, CN=Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:f3:8f:b5:01:f7:8f:bf:0e:c3:bc:2e:43:f9:63:
+ 32:ae:e2:70:2d:77:70:bf:32:57:77:dd:00:f4:16:
+ 08:e2:f4:b8:b4:c9:bc:41:be:54:ba:44:3f:6f:77:
+ f9:d1:1b:52:25:16:7d:df:f9:29:79:3c:7c:8f:16:
+ e3:85:d5:7c:96:5e:2e:60:b3:80:e1:fc:09:b9:04:
+ 4d:ff:bc:05:25:55:96:b8:e7:7e:03:ed:f4:a1:93:
+ 54:66:b6:d5:e4:1f:92:94:52:7d:c3:60:89:5f:79:
+ f9:63:d1:f4:bb:4d:fa:da:4d:2e:d2:1d:ac:dc:7a:
+ 4f:52:67:3f:ad:eb:ed:ba:cd
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Key Usage: critical
+ Certificate Sign
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ 7c:0f:20:54:85:ea:e9:68:c5:15:fc:10:8a:09:98:0e:51:53:
+ 7a:a3:37:c3:ec:8d:61:2c:49:66:d0:34:0b:8b:68:50:58:75:
+ 1f:fb:76:87:89:16:7d:56:d1:be:2f:bb:ef:95:26:92:55:37:
+ 6f:ca:82:e2:d4:93:33:80:1f:9c:b9:2d:1e:ee:3b:90:7d:13:
+ 2e:28:9b:17:8c:15:5f:12:eb:ed:f2:86:2f:a5:f5:59:e4:f3:
+ 07:a9:99:2d:32:70:d4:2a:d0:43:f2:1c:92:6d:75:f8:60:fa:
+ b5:8f:4f:07:6b:f6:c0:80:b3:4f:c8:9f:ed:11:bd:4d:d9:d7:
+ 4a:2c
+-----BEGIN CERTIFICATE-----
+MIIB8DCCAVugAwIBAgIBATALBgkqhkiG9w0BAQUwJDEQMA4GA1UEChMHQWNtZSBD
+bzEQMA4GA1UEAxMHUm9vdCBDQTAeFw0xMzAxMDExMDAwMDBaFw0yMzEyMzExMDAw
+MDBaMCQxEDAOBgNVBAoTB0FjbWUgQ28xEDAOBgNVBAMTB1Jvb3QgQ0EwgZ0wCwYJ
+KoZIhvcNAQEBA4GNADCBiQKBgQDzj7UB94+/DsO8LkP5YzKu4nAtd3C/Mld33QD0
+Fgji9Li0ybxBvlS6RD9vd/nRG1IlFn3f+Sl5PHyPFuOF1XyWXi5gs4Dh/Am5BE3/
+vAUlVZa4534D7fShk1RmttXkH5KUUn3DYIlfeflj0fS7TfraTS7SHazcek9SZz+t
+6+26zQIDAQABozgwNjAOBgNVHQ8BAf8EBAMCAAQwEwYDVR0lBAwwCgYIKwYBBQUH
+AwEwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQUDgYEAfA8gVIXq6WjFFfwQ
+igmYDlFTeqM3w+yNYSxJZtA0C4toUFh1H/t2h4kWfVbRvi+775UmklU3b8qC4tST
+M4AfnLktHu47kH0TLiibF4wVXxLr7fKGL6X1WeTzB6mZLTJw1CrQQ/Ickm11+GD6
+tY9PB2v2wICzT8if7RG9TdnXSiw=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/quic_test.example.com.crt b/chromium/net/data/ssl/certificates/quic_test.example.com.crt
new file mode 100644
index 00000000000..375cedd0339
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/quic_test.example.com.crt
@@ -0,0 +1,56 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 3 (0x3)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: O=Acme Co, CN=Intermediate CA
+ Validity
+ Not Before: Jan 1 10:00:00 2013 GMT
+ Not After : Dec 31 10:00:00 2023 GMT
+ Subject: O=Acme Co, CN=Leaf certificate
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:c1:31:32:b2:28:dc:0d:a4:e0:4b:54:d6:fa:b7:
+ d2:0c:45:29:bf:67:c7:d1:b8:a9:90:63:51:c4:96:
+ 9f:86:a9:47:d7:67:f6:f9:1d:37:29:c2:0a:55:a7:
+ 8c:29:97:dc:f2:7f:f4:97:d0:d5:44:c9:04:1c:48:
+ ea:cc:a9:48:5c:eb:69:11:75:6e:db:7d:1a:5a:c0:
+ 9f:ad:a7:b8:0e:3b:a1:61:24:24:6f:64:84:ad:bb:
+ 28:06:c2:4a:c8:07:7b:46:33:8a:c7:81:77:92:4f:
+ 9d:88:1c:52:04:23:61:12:97:c7:e4:af:90:67:7e:
+ fb:ac:3d:23:92:f0:c9:39:6d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Key Usage: critical
+ Digital Signature, Key Encipherment
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Alternative Name:
+ DNS:test.example.com
+ Signature Algorithm: sha1WithRSAEncryption
+ ad:33:55:2a:80:4c:ab:bc:b3:34:f7:b3:7e:fb:05:a8:11:3f:
+ a1:35:56:4c:46:2f:8d:24:70:35:3a:66:8d:14:c4:fb:7f:d9:
+ 76:de:c4:52:a7:42:8f:70:1d:fd:d5:33:04:69:5d:3c:18:03:
+ 8f:db:19:d0:14:d8:1c:0b:b6:74:9c:cf:41:ba:24:d9:c4:c3:
+ cf:86:fb:15:3d:c4:99:ea:af:6a:29:34:ed:97:03:38:ed:38:
+ b3:21:39:a0:f0:16:ac:81:d3:88:52:d8:5e:a3:6d:e6:ec:3f:
+ e9:20:ac:d3:78:7b:ae:59:9e:5d:3b:5e:61:bb:43:88:cd:8e:
+ d0:0d
+-----BEGIN CERTIFICATE-----
+MIICGzCCAYagAwIBAgIBAzALBgkqhkiG9w0BAQUwLDEQMA4GA1UEChMHQWNtZSBD
+bzEYMBYGA1UEAxMPSW50ZXJtZWRpYXRlIENBMB4XDTEzMDEwMTEwMDAwMFoXDTIz
+MTIzMTEwMDAwMFowLTEQMA4GA1UEChMHQWNtZSBDbzEZMBcGA1UEAxMQTGVhZiBj
+ZXJ0aWZpY2F0ZTCBnTALBgkqhkiG9w0BAQEDgY0AMIGJAoGBAMExMrIo3A2k4EtU
+1vq30gxFKb9nx9G4qZBjUcSWn4apR9dn9vkdNynCClWnjCmX3PJ/9JfQ1UTJBBxI
+6sypSFzraRF1btt9GlrAn62nuA47oWEkJG9khK27KAbCSsgHe0YziseBd5JPnYgc
+UgQjYRKXx+SvkGd++6w9I5LwyTltAgMBAAGjUjBQMA4GA1UdDwEB/wQEAwIAoDAT
+BgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBsGA1UdEQQUMBKCEHRl
+c3QuZXhhbXBsZS5jb20wCwYJKoZIhvcNAQEFA4GBAK0zVSqATKu8szT3s377BagR
+P6E1VkxGL40kcDU6Zo0UxPt/2XbexFKnQo9wHf3VMwRpXTwYA4/bGdAU2BwLtnSc
+z0G6JNnEw8+G+xU9xJnqr2opNO2XAzjtOLMhOaDwFqyB04hS2F6jbebsP+kgrNN4
+e65Znl07XmG7Q4jNjtAN
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/quic_test_ecc.example.com.crt b/chromium/net/data/ssl/certificates/quic_test_ecc.example.com.crt
new file mode 100644
index 00000000000..0e6bfbaa8c2
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/quic_test_ecc.example.com.crt
@@ -0,0 +1,50 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 4 (0x4)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: O=Acme Co, CN=Intermediate CA
+ Validity
+ Not Before: Jan 1 10:00:00 2013 GMT
+ Not After : Dec 31 10:00:00 2023 GMT
+ Subject: O=Acme Co, CN=ECDSA Leaf certificate
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ Public-Key: (256 bit)
+ pub:
+ 04:6d:48:d0:30:76:bb:bf:91:b1:d7:03:c2:fc:95:
+ 9b:e0:ea:42:ed:43:2c:a6:b2:23:c4:52:33:93:95:
+ 25:fc:16:75:83:9e:0f:0f:91:a5:47:b1:21:91:d4:
+ 94:94:30:b8:00:dc:1c:79:2c:fa:72:99:62:b2:fa:
+ af:b0:ca:f2:42
+ ASN1 OID: prime256v1
+ X509v3 extensions:
+ X509v3 Key Usage: critical
+ Digital Signature
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Alternative Name:
+ DNS:test.example.com
+ Signature Algorithm: sha1WithRSAEncryption
+ 5d:23:47:b4:b5:0f:38:18:cd:63:90:24:37:f1:da:67:66:a4:
+ fe:8d:53:3f:c5:a7:10:e6:21:a3:1d:b7:42:b0:1a:e7:d7:83:
+ 3d:ea:7b:6b:89:85:bb:13:77:4d:45:ab:b2:e7:1e:ac:6e:74:
+ b6:9f:c4:e0:76:1c:e4:13:e9:6c:b1:20:a3:34:e8:1e:8a:71:
+ 51:cb:00:44:71:64:f6:4b:9e:9a:2d:d9:9a:44:62:f5:8c:3c:
+ c5:ec:c1:1c:d5:bb:05:53:33:af:70:44:1d:5b:aa:23:67:30:
+ 3e:d3:a9:5e:a2:57:84:86:aa:be:bd:7b:4f:74:d9:3b:cd:2e:
+ 7e:d1
+-----BEGIN CERTIFICATE-----
+MIIB3DCCAUegAwIBAgIBBDALBgkqhkiG9w0BAQUwLDEQMA4GA1UEChMHQWNtZSBD
+bzEYMBYGA1UEAxMPSW50ZXJtZWRpYXRlIENBMB4XDTEzMDEwMTEwMDAwMFoXDTIz
+MTIzMTEwMDAwMFowMzEQMA4GA1UEChMHQWNtZSBDbzEfMB0GA1UEAxMWRUNEU0Eg
+TGVhZiBjZXJ0aWZpY2F0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG1I0DB2
+u7+RsdcDwvyVm+DqQu1DLKayI8RSM5OVJfwWdYOeDw+RpUexIZHUlJQwuADcHHks
++nKZYrL6r7DK8kKjUjBQMA4GA1UdDwEB/wQEAwIAgDATBgNVHSUEDDAKBggrBgEF
+BQcDATAMBgNVHRMBAf8EAjAAMBsGA1UdEQQUMBKCEHRlc3QuZXhhbXBsZS5jb20w
+CwYJKoZIhvcNAQEFA4GBAF0jR7S1DzgYzWOQJDfx2mdmpP6NUz/FpxDmIaMdt0Kw
+GufXgz3qe2uJhbsTd01Fq7LnHqxudLafxOB2HOQT6WyxIKM06B6KcVHLAERxZPZL
+npot2ZpEYvWMPMXswRzVuwVTM69wRB1bqiNnMD7TqV6iV4SGqr69e0902TvNLn7R
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/redundant-server-chain.pem b/chromium/net/data/ssl/certificates/redundant-server-chain.pem
new file mode 100644
index 00000000000..1411d1ce7fe
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/redundant-server-chain.pem
@@ -0,0 +1,271 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA6NE6YtvtLz7IsraneD9Z/cQ+NURvx3bIYcdmCUvV4dklQnW4
+vpBqRioqElU9EyUY1cgTotOaliOIectRKGB7M9A5v4LWDeZHoifDcx+tpKms2EuY
+mm9AOs35Xbi4Q95CILTvV3OdHez6l++sz+8Ctc361ugd1gq+wKmRn91Qq7k90piC
+spanoHZEx+3BZJMkD5yVGX6c1KUcUQ2YkNH0sOKZ6Ed1v/TQFTQIIXPHs2WLQD/X
+lQEaFOnhKeBF2VGwML170j3xfF/2icoLzWGBNg2pRK9bOziSHfEvOOw7AQ4Ya5ys
+/XC/NuRHc1eGrGBv5rFH/1gu0xIoileLycCGDQIDAQABAoIBADnrU0sky2zlgah0
+KFWR7SFkoNU/oU9ODavFn2zQoPT+wHY4My21X7r04mKNMhSBNhx5Gel4Gw0e6eTi
+393bosrREozCT95FW6zLl6QcTWaZj5Z/uAczhhcbBt56Bd1cfbcFTEXFTWEUg4Mo
+7SUNoO75v12XgVSud6YWiVPsCxWtFmiE91pZINfOM0rBacASY7F+/jJwhlmt04Ru
+qwyG2bWmVB97cj2IcNFMwrH/3vbml5YttTKEb1wlKodrj8BqzOcP5VW3DgXbjbz8
+gZtP+pjpP5e9F6UcmwXek12dGwqp+9Mo8veidI8dXNSEiHpdFiTOolsLTGVXziVP
++spFbAECgYEA96mAIB4RidCH2wYtKoepiGisJmFvebGFpyBUWjKtDFKg0ufJ3S/3
+HFq5Pn8473ii8qVjBwlin/bs9dOEuwEI2lvM39QeoUASVdfLOHoYKsK8dyFo7rTX
+bQdwMQpSqYbJyi5OElHH/Z28celhF522Lt73uKVOFfiyGYlGzjApZV0CgYEA8KfJ
+QCxA27mWTzzHjYtTEGlYskbGpV0XNhjSoCueJvqE8+FYYylSpIB7+yUUI/5g5Iau
+aQlVFt+c2IyG5Fg+k7rc0arFkRm8HGp8df9aE7xdHwdw5BL/6wQDfFuP4sDIWVab
+IdJDUgdp+G4OGKcSgVCBbIfMrlKll/fMqBWxaHECgYEAv0mZH7V5wGNje2VC33WX
+GTgXtzFMw8a8v4A2BtDbXgg4FY5YGVJh3/Gm4MGs/THFUfsyCI5UMc+r6JduDm5X
+IykCjeMtoUh2oP0jBsUvA2AT50PT44OkXJ8BJa+edzgXheTMAlROTvJVSfqDNpVm
+0L8AwQpUzJ2hGh4wpTMH1jUCgYEAz+llqZeSAUL5ZUOxc8wm20roYj1baYpff1E6
+xz5nyG0vaDQL1L/islR+yJ9kIySmOUlSbVSuurA+Jahi8ex7Q85w8IOFZLLDHhmx
+pZATFnHqUeBv29u+ViCFkm7YhKLhdK2qITIzDy9wkj0i2JGfHzGaX1WDtCebAQwJ
+OD5lo0ECgYEA06/8JE1CBm3+NuwLzOEYMabfTUe9oe/2shP6SrGIGKf4s5vleDlk
+yXNIGLFCtx8C3BXQbyEXg3l44dTOFka/rTe3LSfIzw+ed/sRkyoJuJljdL4dAvB+
+EU6DmsPAHawRxNqGDdaIw7USUYQz0OVyKGLnOmmsQUJR1OgDTils9z8=
+-----END RSA PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=B CA
+ Validity
+ Not Before: Feb 29 19:15:59 2012 GMT
+ Not After : Feb 26 19:15:59 2022 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:e8:d1:3a:62:db:ed:2f:3e:c8:b2:b6:a7:78:3f:
+ 59:fd:c4:3e:35:44:6f:c7:76:c8:61:c7:66:09:4b:
+ d5:e1:d9:25:42:75:b8:be:90:6a:46:2a:2a:12:55:
+ 3d:13:25:18:d5:c8:13:a2:d3:9a:96:23:88:79:cb:
+ 51:28:60:7b:33:d0:39:bf:82:d6:0d:e6:47:a2:27:
+ c3:73:1f:ad:a4:a9:ac:d8:4b:98:9a:6f:40:3a:cd:
+ f9:5d:b8:b8:43:de:42:20:b4:ef:57:73:9d:1d:ec:
+ fa:97:ef:ac:cf:ef:02:b5:cd:fa:d6:e8:1d:d6:0a:
+ be:c0:a9:91:9f:dd:50:ab:b9:3d:d2:98:82:b2:96:
+ a7:a0:76:44:c7:ed:c1:64:93:24:0f:9c:95:19:7e:
+ 9c:d4:a5:1c:51:0d:98:90:d1:f4:b0:e2:99:e8:47:
+ 75:bf:f4:d0:15:34:08:21:73:c7:b3:65:8b:40:3f:
+ d7:95:01:1a:14:e9:e1:29:e0:45:d9:51:b0:30:bd:
+ 7b:d2:3d:f1:7c:5f:f6:89:ca:0b:cd:61:81:36:0d:
+ a9:44:af:5b:3b:38:92:1d:f1:2f:38:ec:3b:01:0e:
+ 18:6b:9c:ac:fd:70:bf:36:e4:47:73:57:86:ac:60:
+ 6f:e6:b1:47:ff:58:2e:d3:12:28:8a:57:8b:c9:c0:
+ 86:0d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 78:3F:CB:F8:30:EA:63:A3:6E:FE:86:22:50:DE:24:BD:22:C8:BE:9D
+ X509v3 Authority Key Identifier:
+ keyid:4C:29:01:6A:B4:74:98:F4:B1:66:50:F0:8F:83:88:F0:C3:9D:5B:6D
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ Signature Algorithm: sha1WithRSAEncryption
+ aa:a9:e5:68:e2:e9:94:d5:7d:fd:f8:76:e8:e3:23:2e:b9:a6:
+ 7c:0d:7a:d8:8b:9e:91:19:79:56:2d:1b:15:ad:90:1e:9a:d6:
+ 47:c0:3f:28:f3:ec:88:dd:25:4c:68:73:b5:b2:27:21:50:f6:
+ a6:b0:81:16:13:0f:b7:18:4e:a2:ed:2d:fe:ad:af:19:c5:f4:
+ b6:68:b9:50:05:37:29:f1:2d:97:d8:9f:fe:59:a1:f5:f7:ec:
+ 6c:18:18:7e:f4:e6:99:08:01:73:ab:60:98:51:4f:c3:ca:70:
+ e6:18:ab:90:04:7c:73:f2:84:0c:35:e5:1b:22:f1:50:ee:f4:
+ d8:24:7b:84:7b:39:21:a6:e4:53:04:7f:a5:38:58:da:29:86:
+ 1e:40:f0:dc:6d:ec:92:1c:4b:da:af:79:e6:27:ce:3f:53:f8:
+ dc:f1:48:3a:f0:e8:7b:9d:81:8b:44:28:c6:d7:4f:23:98:09:
+ 53:b8:68:db:76:0c:09:d8:59:4f:c8:34:bb:1b:b1:b4:09:59:
+ 09:5d:53:b4:b9:9e:6d:4d:a3:f0:08:5d:2a:a0:b9:dd:9d:64:
+ 37:13:d6:41:61:6c:a8:18:37:7b:a7:55:3c:e5:78:ba:c0:aa:
+ d1:a7:a0:d5:1e:65:e7:34:41:b0:da:b6:05:cc:d7:51:66:cc:
+ 3a:00:c0:b1
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAwwEQiBD
+QTAeFw0xMjAyMjkxOTE1NTlaFw0yMjAyMjYxOTE1NTlaMGAxCzAJBgNVBAYTAlVT
+MRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAw
+DgYDVQQKDAdUZXN0IENBMRIwEAYDVQQDDAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQDo0Tpi2+0vPsiytqd4P1n9xD41RG/Hdshhx2YJ
+S9Xh2SVCdbi+kGpGKioSVT0TJRjVyBOi05qWI4h5y1EoYHsz0Dm/gtYN5keiJ8Nz
+H62kqazYS5iab0A6zflduLhD3kIgtO9Xc50d7PqX76zP7wK1zfrW6B3WCr7AqZGf
+3VCruT3SmIKylqegdkTH7cFkkyQPnJUZfpzUpRxRDZiQ0fSw4pnoR3W/9NAVNAgh
+c8ezZYtAP9eVARoU6eEp4EXZUbAwvXvSPfF8X/aJygvNYYE2DalEr1s7OJId8S84
+7DsBDhhrnKz9cL825EdzV4asYG/msUf/WC7TEiiKV4vJwIYNAgMBAAGjbzBtMAwG
+A1UdEwEB/wQCMAAwHQYDVR0OBBYEFHg/y/gw6mOjbv6GIlDeJL0iyL6dMB8GA1Ud
+IwQYMBaAFEwpAWq0dJj0sWZQ8I+DiPDDnVttMB0GA1UdJQQWMBQGCCsGAQUFBwMB
+BggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOCAQEAqqnlaOLplNV9/fh26OMjLrmm
+fA162IuekRl5Vi0bFa2QHprWR8A/KPPsiN0lTGhztbInIVD2prCBFhMPtxhOou0t
+/q2vGcX0tmi5UAU3KfEtl9if/lmh9ffsbBgYfvTmmQgBc6tgmFFPw8pw5hirkAR8
+c/KEDDXlGyLxUO702CR7hHs5IabkUwR/pThY2imGHkDw3G3skhxL2q955ifOP1P4
+3PFIOvDoe52Bi0QoxtdPI5gJU7ho23YMCdhZT8g0uxuxtAlZCV1TtLmebU2j8Ahd
+KqC53Z1kNxPWQWFsqBg3e6dVPOV4usCq0aeg1R5l5zRBsNq2BczXUWbMOgDAsQ==
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=C CA
+ Validity
+ Not Before: Feb 29 19:15:59 2012 GMT
+ Not After : Feb 26 19:15:59 2022 GMT
+ Subject: CN=B CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:d5:6d:be:6c:68:cd:70:e2:d6:02:3a:16:40:21:
+ 2c:93:56:de:74:88:61:ca:b4:0e:ab:cc:e9:bc:79:
+ 51:47:bf:a8:88:6d:3a:ad:93:db:43:f3:58:db:29:
+ 8a:47:21:4c:54:0e:e7:24:26:cc:83:aa:ec:ae:cc:
+ d1:ce:14:c2:ce:56:c8:02:6a:4d:39:9f:6e:67:ff:
+ b1:e2:fe:d6:99:9f:af:90:bb:87:08:c4:77:6e:e7:
+ 07:79:d4:72:cf:1c:20:51:54:1f:ef:bc:76:02:d4:
+ 9e:c7:27:a6:53:fb:62:2b:b8:b1:63:ba:f6:13:84:
+ 05:b3:aa:bb:33:81:66:8f:37:6d:b9:fb:30:56:a6:
+ eb:69:fe:2f:a8:2a:ab:2f:f9:49:31:c1:d2:9c:9c:
+ 20:72:67:fd:35:37:bf:8e:f6:4c:58:52:f3:4c:ee:
+ a4:c4:68:21:ef:42:e4:f2:ba:e1:84:d5:4a:86:2b:
+ f2:25:11:07:52:6a:18:62:c9:ca:68:b8:d0:92:d9:
+ 09:d8:c0:16:8e:fd:56:c2:e3:63:8c:cd:49:23:ac:
+ 75:7d:24:19:c6:81:b3:a5:90:e3:56:78:7a:35:c8:
+ 35:97:3b:c5:e1:60:51:97:02:c3:1e:bb:33:68:8d:
+ eb:37:f7:c4:62:b4:11:b9:e5:29:95:4e:a4:e3:14:
+ 66:c5
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 4C:29:01:6A:B4:74:98:F4:B1:66:50:F0:8F:83:88:F0:C3:9D:5B:6D
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 42:71:38:e7:27:f1:c4:3b:59:57:c3:68:99:1f:95:81:9c:2d:
+ 8e:c8:91:85:40:31:24:d2:1c:92:8e:d5:22:95:80:55:7b:a9:
+ db:48:a5:fd:5e:a3:46:f6:a0:17:1b:13:79:79:f8:c3:c7:fe:
+ 62:c2:c9:fa:fe:c4:59:97:19:12:92:98:c1:47:a4:5f:7c:d6:
+ 25:b7:84:6e:08:6a:9f:77:e0:2b:62:fb:ee:23:f5:3d:d7:99:
+ d2:2e:92:47:cc:b3:c1:d5:4b:6d:92:3e:1a:6f:68:93:af:2d:
+ a7:f5:2f:a2:6a:27:d2:32:ab:39:53:1f:0a:1e:cc:4e:af:46:
+ 77:a4:ed:b9:99:b3:13:06:f0:01:9d:db:ad:fd:0e:8b:53:ed:
+ 90:3a:e6:c2:c5:fb:13:ce:e4:1a:51:f9:1b:f3:76:3d:e6:da:
+ dd:e2:77:6e:72:18:0b:b4:74:fa:bf:78:72:80:98:b3:3c:59:
+ 2a:70:74:08:c5:73:0f:66:a6:1c:f6:79:f9:59:21:a8:0b:12:
+ f2:a7:6d:3b:18:e9:80:12:71:4c:2c:59:ac:fa:57:f4:e1:ab:
+ 04:76:e3:ff:60:e1:7d:f5:bd:12:0c:01:54:46:e4:f3:ca:f2:
+ 06:dd:5e:2f:87:07:cb:9a:04:6e:c5:33:dd:8e:52:c6:73:7a:
+ 65:21:b9:a4
+-----BEGIN CERTIFICATE-----
+MIIC3DCCAcSgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAwwEQyBD
+QTAeFw0xMjAyMjkxOTE1NTlaFw0yMjAyMjYxOTE1NTlaMA8xDTALBgNVBAMMBEIg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVbb5saM1w4tYCOhZA
+ISyTVt50iGHKtA6rzOm8eVFHv6iIbTqtk9tD81jbKYpHIUxUDuckJsyDquyuzNHO
+FMLOVsgCak05n25n/7Hi/taZn6+Qu4cIxHdu5wd51HLPHCBRVB/vvHYC1J7HJ6ZT
++2IruLFjuvYThAWzqrszgWaPN225+zBWputp/i+oKqsv+UkxwdKcnCByZ/01N7+O
+9kxYUvNM7qTEaCHvQuTyuuGE1UqGK/IlEQdSahhiycpouNCS2QnYwBaO/VbC42OM
+zUkjrHV9JBnGgbOlkONWeHo1yDWXO8XhYFGXAsMeuzNojes398RitBG55SmVTqTj
+FGbFAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEwpAWq0dJj0
+sWZQ8I+DiPDDnVttMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEA
+QnE45yfxxDtZV8NomR+VgZwtjsiRhUAxJNIcko7VIpWAVXup20il/V6jRvagFxsT
+eXn4w8f+YsLJ+v7EWZcZEpKYwUekX3zWJbeEbghqn3fgK2L77iP1PdeZ0i6SR8yz
+wdVLbZI+Gm9ok68tp/Uvomon0jKrOVMfCh7MTq9Gd6TtuZmzEwbwAZ3brf0Oi1Pt
+kDrmwsX7E87kGlH5G/N2Peba3eJ3bnIYC7R0+r94coCYszxZKnB0CMVzD2amHPZ5
++VkhqAsS8qdtOxjpgBJxTCxZrPpX9OGrBHbj/2DhffW9EgwBVEbk88ryBt1eL4cH
+y5oEbsUz3Y5SxnN6ZSG5pA==
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=D Root CA
+ Validity
+ Not Before: Feb 29 19:15:59 2012 GMT
+ Not After : Feb 26 19:15:59 2022 GMT
+ Subject: CN=C CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:a5:fc:1e:cc:76:82:f7:6a:d2:ed:5c:6a:9d:5b:
+ de:83:64:de:69:14:f6:54:8d:ce:01:ee:51:40:c4:
+ cc:d6:73:4c:c5:73:ca:60:4d:64:dc:84:f9:08:90:
+ ce:45:7a:84:4d:4b:3d:07:32:6b:95:6d:18:48:21:
+ 56:49:01:d0:11:75:54:c0:8c:a7:43:d8:33:bd:bf:
+ d8:ef:89:a3:d9:43:2b:83:b6:7e:5a:e5:d9:53:58:
+ 3f:1c:40:56:dd:6b:6c:67:eb:83:27:69:7e:4f:ff:
+ a4:23:6d:54:33:85:ed:d4:e3:01:47:29:2c:a7:91:
+ b7:2b:89:cd:64:96:3b:6d:fb:b2:1b:80:a6:c2:ec:
+ 32:4c:79:ef:80:aa:84:3c:77:60:47:2e:3f:bd:71:
+ 67:c5:7a:f4:98:70:73:17:53:a3:43:ff:f9:a2:9c:
+ d3:3b:69:61:99:eb:82:0d:fa:10:f0:68:3f:6f:3f:
+ f5:d5:04:7e:ac:2f:4e:d1:74:5f:19:39:b8:57:5c:
+ 79:82:ac:95:e7:4c:d0:8b:fc:59:2e:0a:d4:bc:e8:
+ 1b:1f:70:b5:ae:07:b8:f4:e7:97:4f:0b:3c:90:03:
+ e3:c3:b2:ed:5b:aa:ce:8f:cc:b9:e3:94:29:69:87:
+ c5:fe:a7:29:a6:a9:59:c8:17:10:34:31:0c:a8:61:
+ 8c:ab
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ B7:9B:E7:1E:00:25:BE:D8:ED:12:69:0D:4B:73:6D:A1:3A:5E:F1:4C
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 44:22:94:02:ad:82:a3:c8:6d:70:b6:20:42:d3:8f:29:62:3c:
+ b6:dd:e4:e7:9d:b2:77:2d:0f:e9:9c:8c:b3:61:4b:ca:1e:24:
+ da:0d:93:88:1f:c9:2d:3a:b1:24:3f:79:62:51:88:0a:66:49:
+ 8c:95:a9:34:52:a5:b0:25:d6:41:f1:81:6b:26:93:dc:cc:29:
+ 17:1f:ae:b8:27:18:40:00:2d:9c:de:e6:17:1d:29:52:f8:b1:
+ 5e:3e:8a:f6:0a:06:e2:f6:3f:73:37:89:fe:af:ee:fb:81:7a:
+ c9:16:89:22:4d:81:ad:5a:73:17:d5:99:08:63:71:c0:c1:09:
+ 5d:f6:66:04:73:5c:c6:16:b5:77:e0:3f:80:6b:08:18:4c:12:
+ 98:07:97:ac:cb:92:b8:48:47:a6:ef:d1:c7:48:35:7c:cf:53:
+ c6:0d:28:c6:98:0c:d8:60:4e:99:f5:49:b3:3c:2c:34:60:0d:
+ bd:aa:98:c5:60:5a:b6:b1:28:ca:e2:53:55:e5:c2:31:43:f3:
+ bf:de:45:2c:d2:b4:a6:75:25:3f:2b:91:42:5b:57:a5:25:98:
+ 39:30:71:d8:66:b8:35:c5:77:d8:f6:53:b3:9f:ee:1f:73:8d:
+ cc:31:11:76:bc:f3:65:4b:1a:59:60:04:7c:ec:76:9e:4b:8a:
+ fb:17:88:55
+-----BEGIN CERTIFICATE-----
+MIIC4TCCAcmgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwFDESMBAGA1UEAwwJRCBS
+b290IENBMB4XDTEyMDIyOTE5MTU1OVoXDTIyMDIyNjE5MTU1OVowDzENMAsGA1UE
+AwwEQyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKX8Hsx2gvdq
+0u1cap1b3oNk3mkU9lSNzgHuUUDEzNZzTMVzymBNZNyE+QiQzkV6hE1LPQcya5Vt
+GEghVkkB0BF1VMCMp0PYM72/2O+Jo9lDK4O2flrl2VNYPxxAVt1rbGfrgydpfk//
+pCNtVDOF7dTjAUcpLKeRtyuJzWSWO237shuApsLsMkx574CqhDx3YEcuP71xZ8V6
+9JhwcxdTo0P/+aKc0ztpYZnrgg36EPBoP28/9dUEfqwvTtF0Xxk5uFdceYKsledM
+0Iv8WS4K1LzoGx9wta4HuPTnl08LPJAD48Oy7Vuqzo/MueOUKWmHxf6nKaapWcgX
+EDQxDKhhjKsCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUt5vn
+HgAlvtjtEmkNS3NtoTpe8UwwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUA
+A4IBAQBEIpQCrYKjyG1wtiBC048pYjy23eTnnbJ3LQ/pnIyzYUvKHiTaDZOIH8kt
+OrEkP3liUYgKZkmMlak0UqWwJdZB8YFrJpPczCkXH664JxhAAC2c3uYXHSlS+LFe
+Por2Cgbi9j9zN4n+r+77gXrJFokiTYGtWnMX1ZkIY3HAwQld9mYEc1zGFrV34D+A
+awgYTBKYB5esy5K4SEem79HHSDV8z1PGDSjGmAzYYE6Z9UmzPCw0YA29qpjFYFq2
+sSjK4lNV5cIxQ/O/3kUs0rSmdSU/K5FCW1elJZg5MHHYZrg1xXfY9lOzn+4fc43M
+MRF2vPNlSxpZYAR87HaeS4r7F4hV
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICpDCCAYwCCQCGninElsmhPzANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQDDAlE
+IFJvb3QgQ0EwHhcNMTIwMjI5MTkxNTU5WhcNMjIwMjI2MTkxNTU5WjAUMRIwEAYD
+VQQDDAlEIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+
+wxbkVPUSUZ/UyGiWSOgnvyJSFU0VIQMtbvmyy71XlCI21euFyVMTWukkJeHXV7lA
+2nsQ3XfC6FvsbxYPd5auSSM2sIWCNO49KEX/xJXL5zQswh+WcDTz079fhjOf/dz2
+TLDufP2IuFaIGRJennTlaNBCRUVJyPcdysfiw3UfnCwxG5V7bpF/Rfr5y0UdC2W5
+yhKUfe7U1NfYQwfJ058OgBydSNuNaVnFm7E09khsBjET3Z/EsNq4n/Q3SnE16I9G
+Bu+DrsrKiabKfh28bBzKLCHtbf+0FlAhAj/eSY3rVW23OushOeyFWWsxbmo5FM/V
+ACEHD3OzFwBgnoiJHNn1AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAGZ0lFGL7+Et
+uuQcbDLkc3NWKtqISAJx/Bms8nigQ2J/IFHDVp19NjCj29wJi7Dy8+p0Thfy8O2F
+4/3aV3Ptl5Ay+1PVqVVhM4RkqLpuLHY2pHtjgREeflJEtcDGLX3v3zia7plHEGo5
+T22O6vLvFK/RbuAkFvmOjLif2JBnQQAaI+dUvrRtKGI0Ax1b8XkYD5p2Zalbbkd2
+uJOC0Mc7iyRkbUbP2e/fAzq9B/OXI2gD6uU25x4nskTptMvO6YNvTny8/zyhXdDc
+U8Ue+UDeZ6VFg8K02N1gF5e0WgIdiM8ndkNS6r1g+2DNEZfoCFYGW1Ta8D5+n+uV
+jFY6jvAVnlQ=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/redundant-validated-chain-root.pem b/chromium/net/data/ssl/certificates/redundant-validated-chain-root.pem
new file mode 100644
index 00000000000..6acfc1e216d
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/redundant-validated-chain-root.pem
@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICmjCCAYICCQCjrv+JsRC02TANBgkqhkiG9w0BAQUFADAPMQ0wCwYDVQQDDARD
+IENBMB4XDTEyMDIyOTE5MTU1OVoXDTIyMDIyNjE5MTU1OVowDzENMAsGA1UEAwwE
+QyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKX8Hsx2gvdq0u1c
+ap1b3oNk3mkU9lSNzgHuUUDEzNZzTMVzymBNZNyE+QiQzkV6hE1LPQcya5VtGEgh
+VkkB0BF1VMCMp0PYM72/2O+Jo9lDK4O2flrl2VNYPxxAVt1rbGfrgydpfk//pCNt
+VDOF7dTjAUcpLKeRtyuJzWSWO237shuApsLsMkx574CqhDx3YEcuP71xZ8V69Jhw
+cxdTo0P/+aKc0ztpYZnrgg36EPBoP28/9dUEfqwvTtF0Xxk5uFdceYKsledM0Iv8
+WS4K1LzoGx9wta4HuPTnl08LPJAD48Oy7Vuqzo/MueOUKWmHxf6nKaapWcgXEDQx
+DKhhjKsCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAcDhE2mVuhe8Z5IGzakzIRbN4
+5jQieOQhg+eO9h0ywr+Z0c1Ib88CoTQa3oJXwBojo86zn0aPoifRsOSj8mV1l9Te
+tGupoZwCjpPYHgL7j49ZY1nLMIQCmhiCaORXoJJTZWaQL79s4cnJ8bdIC3HPOtXF
+inhESDT3+B2vkozWIzUZytAfcu0PCubbQ2AmLT0GZgP9yhg8R90m81yF3ZYnIuJt
+bJSPo6at+aypb8NL//rVUAgzwMXn56DQ5+VcaPVVT8hgdpmQNXreCPTwbXWuXr1J
+56OQVe9KHKXlpScLmwDFdc+6Kh+AM9Oz/czpdJZmPMnsAtgOeBN2Ad0Sqq6BBQ==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/redundant-validated-chain.pem b/chromium/net/data/ssl/certificates/redundant-validated-chain.pem
new file mode 100644
index 00000000000..211b5f68d02
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/redundant-validated-chain.pem
@@ -0,0 +1,196 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA6NE6YtvtLz7IsraneD9Z/cQ+NURvx3bIYcdmCUvV4dklQnW4
+vpBqRioqElU9EyUY1cgTotOaliOIectRKGB7M9A5v4LWDeZHoifDcx+tpKms2EuY
+mm9AOs35Xbi4Q95CILTvV3OdHez6l++sz+8Ctc361ugd1gq+wKmRn91Qq7k90piC
+spanoHZEx+3BZJMkD5yVGX6c1KUcUQ2YkNH0sOKZ6Ed1v/TQFTQIIXPHs2WLQD/X
+lQEaFOnhKeBF2VGwML170j3xfF/2icoLzWGBNg2pRK9bOziSHfEvOOw7AQ4Ya5ys
+/XC/NuRHc1eGrGBv5rFH/1gu0xIoileLycCGDQIDAQABAoIBADnrU0sky2zlgah0
+KFWR7SFkoNU/oU9ODavFn2zQoPT+wHY4My21X7r04mKNMhSBNhx5Gel4Gw0e6eTi
+393bosrREozCT95FW6zLl6QcTWaZj5Z/uAczhhcbBt56Bd1cfbcFTEXFTWEUg4Mo
+7SUNoO75v12XgVSud6YWiVPsCxWtFmiE91pZINfOM0rBacASY7F+/jJwhlmt04Ru
+qwyG2bWmVB97cj2IcNFMwrH/3vbml5YttTKEb1wlKodrj8BqzOcP5VW3DgXbjbz8
+gZtP+pjpP5e9F6UcmwXek12dGwqp+9Mo8veidI8dXNSEiHpdFiTOolsLTGVXziVP
++spFbAECgYEA96mAIB4RidCH2wYtKoepiGisJmFvebGFpyBUWjKtDFKg0ufJ3S/3
+HFq5Pn8473ii8qVjBwlin/bs9dOEuwEI2lvM39QeoUASVdfLOHoYKsK8dyFo7rTX
+bQdwMQpSqYbJyi5OElHH/Z28celhF522Lt73uKVOFfiyGYlGzjApZV0CgYEA8KfJ
+QCxA27mWTzzHjYtTEGlYskbGpV0XNhjSoCueJvqE8+FYYylSpIB7+yUUI/5g5Iau
+aQlVFt+c2IyG5Fg+k7rc0arFkRm8HGp8df9aE7xdHwdw5BL/6wQDfFuP4sDIWVab
+IdJDUgdp+G4OGKcSgVCBbIfMrlKll/fMqBWxaHECgYEAv0mZH7V5wGNje2VC33WX
+GTgXtzFMw8a8v4A2BtDbXgg4FY5YGVJh3/Gm4MGs/THFUfsyCI5UMc+r6JduDm5X
+IykCjeMtoUh2oP0jBsUvA2AT50PT44OkXJ8BJa+edzgXheTMAlROTvJVSfqDNpVm
+0L8AwQpUzJ2hGh4wpTMH1jUCgYEAz+llqZeSAUL5ZUOxc8wm20roYj1baYpff1E6
+xz5nyG0vaDQL1L/islR+yJ9kIySmOUlSbVSuurA+Jahi8ex7Q85w8IOFZLLDHhmx
+pZATFnHqUeBv29u+ViCFkm7YhKLhdK2qITIzDy9wkj0i2JGfHzGaX1WDtCebAQwJ
+OD5lo0ECgYEA06/8JE1CBm3+NuwLzOEYMabfTUe9oe/2shP6SrGIGKf4s5vleDlk
+yXNIGLFCtx8C3BXQbyEXg3l44dTOFka/rTe3LSfIzw+ed/sRkyoJuJljdL4dAvB+
+EU6DmsPAHawRxNqGDdaIw7USUYQz0OVyKGLnOmmsQUJR1OgDTils9z8=
+-----END RSA PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=B CA
+ Validity
+ Not Before: Feb 29 19:15:59 2012 GMT
+ Not After : Feb 26 19:15:59 2022 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:e8:d1:3a:62:db:ed:2f:3e:c8:b2:b6:a7:78:3f:
+ 59:fd:c4:3e:35:44:6f:c7:76:c8:61:c7:66:09:4b:
+ d5:e1:d9:25:42:75:b8:be:90:6a:46:2a:2a:12:55:
+ 3d:13:25:18:d5:c8:13:a2:d3:9a:96:23:88:79:cb:
+ 51:28:60:7b:33:d0:39:bf:82:d6:0d:e6:47:a2:27:
+ c3:73:1f:ad:a4:a9:ac:d8:4b:98:9a:6f:40:3a:cd:
+ f9:5d:b8:b8:43:de:42:20:b4:ef:57:73:9d:1d:ec:
+ fa:97:ef:ac:cf:ef:02:b5:cd:fa:d6:e8:1d:d6:0a:
+ be:c0:a9:91:9f:dd:50:ab:b9:3d:d2:98:82:b2:96:
+ a7:a0:76:44:c7:ed:c1:64:93:24:0f:9c:95:19:7e:
+ 9c:d4:a5:1c:51:0d:98:90:d1:f4:b0:e2:99:e8:47:
+ 75:bf:f4:d0:15:34:08:21:73:c7:b3:65:8b:40:3f:
+ d7:95:01:1a:14:e9:e1:29:e0:45:d9:51:b0:30:bd:
+ 7b:d2:3d:f1:7c:5f:f6:89:ca:0b:cd:61:81:36:0d:
+ a9:44:af:5b:3b:38:92:1d:f1:2f:38:ec:3b:01:0e:
+ 18:6b:9c:ac:fd:70:bf:36:e4:47:73:57:86:ac:60:
+ 6f:e6:b1:47:ff:58:2e:d3:12:28:8a:57:8b:c9:c0:
+ 86:0d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 78:3F:CB:F8:30:EA:63:A3:6E:FE:86:22:50:DE:24:BD:22:C8:BE:9D
+ X509v3 Authority Key Identifier:
+ keyid:4C:29:01:6A:B4:74:98:F4:B1:66:50:F0:8F:83:88:F0:C3:9D:5B:6D
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ Signature Algorithm: sha1WithRSAEncryption
+ aa:a9:e5:68:e2:e9:94:d5:7d:fd:f8:76:e8:e3:23:2e:b9:a6:
+ 7c:0d:7a:d8:8b:9e:91:19:79:56:2d:1b:15:ad:90:1e:9a:d6:
+ 47:c0:3f:28:f3:ec:88:dd:25:4c:68:73:b5:b2:27:21:50:f6:
+ a6:b0:81:16:13:0f:b7:18:4e:a2:ed:2d:fe:ad:af:19:c5:f4:
+ b6:68:b9:50:05:37:29:f1:2d:97:d8:9f:fe:59:a1:f5:f7:ec:
+ 6c:18:18:7e:f4:e6:99:08:01:73:ab:60:98:51:4f:c3:ca:70:
+ e6:18:ab:90:04:7c:73:f2:84:0c:35:e5:1b:22:f1:50:ee:f4:
+ d8:24:7b:84:7b:39:21:a6:e4:53:04:7f:a5:38:58:da:29:86:
+ 1e:40:f0:dc:6d:ec:92:1c:4b:da:af:79:e6:27:ce:3f:53:f8:
+ dc:f1:48:3a:f0:e8:7b:9d:81:8b:44:28:c6:d7:4f:23:98:09:
+ 53:b8:68:db:76:0c:09:d8:59:4f:c8:34:bb:1b:b1:b4:09:59:
+ 09:5d:53:b4:b9:9e:6d:4d:a3:f0:08:5d:2a:a0:b9:dd:9d:64:
+ 37:13:d6:41:61:6c:a8:18:37:7b:a7:55:3c:e5:78:ba:c0:aa:
+ d1:a7:a0:d5:1e:65:e7:34:41:b0:da:b6:05:cc:d7:51:66:cc:
+ 3a:00:c0:b1
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAwwEQiBD
+QTAeFw0xMjAyMjkxOTE1NTlaFw0yMjAyMjYxOTE1NTlaMGAxCzAJBgNVBAYTAlVT
+MRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAw
+DgYDVQQKDAdUZXN0IENBMRIwEAYDVQQDDAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQDo0Tpi2+0vPsiytqd4P1n9xD41RG/Hdshhx2YJ
+S9Xh2SVCdbi+kGpGKioSVT0TJRjVyBOi05qWI4h5y1EoYHsz0Dm/gtYN5keiJ8Nz
+H62kqazYS5iab0A6zflduLhD3kIgtO9Xc50d7PqX76zP7wK1zfrW6B3WCr7AqZGf
+3VCruT3SmIKylqegdkTH7cFkkyQPnJUZfpzUpRxRDZiQ0fSw4pnoR3W/9NAVNAgh
+c8ezZYtAP9eVARoU6eEp4EXZUbAwvXvSPfF8X/aJygvNYYE2DalEr1s7OJId8S84
+7DsBDhhrnKz9cL825EdzV4asYG/msUf/WC7TEiiKV4vJwIYNAgMBAAGjbzBtMAwG
+A1UdEwEB/wQCMAAwHQYDVR0OBBYEFHg/y/gw6mOjbv6GIlDeJL0iyL6dMB8GA1Ud
+IwQYMBaAFEwpAWq0dJj0sWZQ8I+DiPDDnVttMB0GA1UdJQQWMBQGCCsGAQUFBwMB
+BggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOCAQEAqqnlaOLplNV9/fh26OMjLrmm
+fA162IuekRl5Vi0bFa2QHprWR8A/KPPsiN0lTGhztbInIVD2prCBFhMPtxhOou0t
+/q2vGcX0tmi5UAU3KfEtl9if/lmh9ffsbBgYfvTmmQgBc6tgmFFPw8pw5hirkAR8
+c/KEDDXlGyLxUO702CR7hHs5IabkUwR/pThY2imGHkDw3G3skhxL2q955ifOP1P4
+3PFIOvDoe52Bi0QoxtdPI5gJU7ho23YMCdhZT8g0uxuxtAlZCV1TtLmebU2j8Ahd
+KqC53Z1kNxPWQWFsqBg3e6dVPOV4usCq0aeg1R5l5zRBsNq2BczXUWbMOgDAsQ==
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 236 (0xec)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=C CA
+ Validity
+ Not Before: Feb 29 19:15:59 2012 GMT
+ Not After : Feb 26 19:15:59 2022 GMT
+ Subject: CN=B CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:d5:6d:be:6c:68:cd:70:e2:d6:02:3a:16:40:21:
+ 2c:93:56:de:74:88:61:ca:b4:0e:ab:cc:e9:bc:79:
+ 51:47:bf:a8:88:6d:3a:ad:93:db:43:f3:58:db:29:
+ 8a:47:21:4c:54:0e:e7:24:26:cc:83:aa:ec:ae:cc:
+ d1:ce:14:c2:ce:56:c8:02:6a:4d:39:9f:6e:67:ff:
+ b1:e2:fe:d6:99:9f:af:90:bb:87:08:c4:77:6e:e7:
+ 07:79:d4:72:cf:1c:20:51:54:1f:ef:bc:76:02:d4:
+ 9e:c7:27:a6:53:fb:62:2b:b8:b1:63:ba:f6:13:84:
+ 05:b3:aa:bb:33:81:66:8f:37:6d:b9:fb:30:56:a6:
+ eb:69:fe:2f:a8:2a:ab:2f:f9:49:31:c1:d2:9c:9c:
+ 20:72:67:fd:35:37:bf:8e:f6:4c:58:52:f3:4c:ee:
+ a4:c4:68:21:ef:42:e4:f2:ba:e1:84:d5:4a:86:2b:
+ f2:25:11:07:52:6a:18:62:c9:ca:68:b8:d0:92:d9:
+ 09:d8:c0:16:8e:fd:56:c2:e3:63:8c:cd:49:23:ac:
+ 75:7d:24:19:c6:81:b3:a5:90:e3:56:78:7a:35:c8:
+ 35:97:3b:c5:e1:60:51:97:02:c3:1e:bb:33:68:8d:
+ eb:37:f7:c4:62:b4:11:b9:e5:29:95:4e:a4:e3:14:
+ 66:c5
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 4C:29:01:6A:B4:74:98:F4:B1:66:50:F0:8F:83:88:F0:C3:9D:5B:6D
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 42:71:38:e7:27:f1:c4:3b:59:57:c3:68:99:1f:95:81:9c:2d:
+ 8e:c8:91:85:40:31:24:d2:1c:92:8e:d5:22:95:80:55:7b:a9:
+ db:48:a5:fd:5e:a3:46:f6:a0:17:1b:13:79:79:f8:c3:c7:fe:
+ 62:c2:c9:fa:fe:c4:59:97:19:12:92:98:c1:47:a4:5f:7c:d6:
+ 25:b7:84:6e:08:6a:9f:77:e0:2b:62:fb:ee:23:f5:3d:d7:99:
+ d2:2e:92:47:cc:b3:c1:d5:4b:6d:92:3e:1a:6f:68:93:af:2d:
+ a7:f5:2f:a2:6a:27:d2:32:ab:39:53:1f:0a:1e:cc:4e:af:46:
+ 77:a4:ed:b9:99:b3:13:06:f0:01:9d:db:ad:fd:0e:8b:53:ed:
+ 90:3a:e6:c2:c5:fb:13:ce:e4:1a:51:f9:1b:f3:76:3d:e6:da:
+ dd:e2:77:6e:72:18:0b:b4:74:fa:bf:78:72:80:98:b3:3c:59:
+ 2a:70:74:08:c5:73:0f:66:a6:1c:f6:79:f9:59:21:a8:0b:12:
+ f2:a7:6d:3b:18:e9:80:12:71:4c:2c:59:ac:fa:57:f4:e1:ab:
+ 04:76:e3:ff:60:e1:7d:f5:bd:12:0c:01:54:46:e4:f3:ca:f2:
+ 06:dd:5e:2f:87:07:cb:9a:04:6e:c5:33:dd:8e:52:c6:73:7a:
+ 65:21:b9:a4
+-----BEGIN CERTIFICATE-----
+MIIC3DCCAcSgAwIBAgICAOwwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAwwEQyBD
+QTAeFw0xMjAyMjkxOTE1NTlaFw0yMjAyMjYxOTE1NTlaMA8xDTALBgNVBAMMBEIg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVbb5saM1w4tYCOhZA
+ISyTVt50iGHKtA6rzOm8eVFHv6iIbTqtk9tD81jbKYpHIUxUDuckJsyDquyuzNHO
+FMLOVsgCak05n25n/7Hi/taZn6+Qu4cIxHdu5wd51HLPHCBRVB/vvHYC1J7HJ6ZT
++2IruLFjuvYThAWzqrszgWaPN225+zBWputp/i+oKqsv+UkxwdKcnCByZ/01N7+O
+9kxYUvNM7qTEaCHvQuTyuuGE1UqGK/IlEQdSahhiycpouNCS2QnYwBaO/VbC42OM
+zUkjrHV9JBnGgbOlkONWeHo1yDWXO8XhYFGXAsMeuzNojes398RitBG55SmVTqTj
+FGbFAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEwpAWq0dJj0
+sWZQ8I+DiPDDnVttMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEA
+QnE45yfxxDtZV8NomR+VgZwtjsiRhUAxJNIcko7VIpWAVXup20il/V6jRvagFxsT
+eXn4w8f+YsLJ+v7EWZcZEpKYwUekX3zWJbeEbghqn3fgK2L77iP1PdeZ0i6SR8yz
+wdVLbZI+Gm9ok68tp/Uvomon0jKrOVMfCh7MTq9Gd6TtuZmzEwbwAZ3brf0Oi1Pt
+kDrmwsX7E87kGlH5G/N2Peba3eJ3bnIYC7R0+r94coCYszxZKnB0CMVzD2amHPZ5
++VkhqAsS8qdtOxjpgBJxTCxZrPpX9OGrBHbj/2DhffW9EgwBVEbk88ryBt1eL4cH
+y5oEbsUz3Y5SxnN6ZSG5pA==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICmjCCAYICCQCjrv+JsRC02TANBgkqhkiG9w0BAQUFADAPMQ0wCwYDVQQDDARD
+IENBMB4XDTEyMDIyOTE5MTU1OVoXDTIyMDIyNjE5MTU1OVowDzENMAsGA1UEAwwE
+QyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKX8Hsx2gvdq0u1c
+ap1b3oNk3mkU9lSNzgHuUUDEzNZzTMVzymBNZNyE+QiQzkV6hE1LPQcya5VtGEgh
+VkkB0BF1VMCMp0PYM72/2O+Jo9lDK4O2flrl2VNYPxxAVt1rbGfrgydpfk//pCNt
+VDOF7dTjAUcpLKeRtyuJzWSWO237shuApsLsMkx574CqhDx3YEcuP71xZ8V69Jhw
+cxdTo0P/+aKc0ztpYZnrgg36EPBoP28/9dUEfqwvTtF0Xxk5uFdceYKsledM0Iv8
+WS4K1LzoGx9wta4HuPTnl08LPJAD48Oy7Vuqzo/MueOUKWmHxf6nKaapWcgXEDQx
+DKhhjKsCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAcDhE2mVuhe8Z5IGzakzIRbN4
+5jQieOQhg+eO9h0ywr+Z0c1Ib88CoTQa3oJXwBojo86zn0aPoifRsOSj8mV1l9Te
+tGupoZwCjpPYHgL7j49ZY1nLMIQCmhiCaORXoJJTZWaQL79s4cnJ8bdIC3HPOtXF
+inhESDT3+B2vkozWIzUZytAfcu0PCubbQ2AmLT0GZgP9yhg8R90m81yF3ZYnIuJt
+bJSPo6at+aypb8NL//rVUAgzwMXn56DQ5+VcaPVVT8hgdpmQNXreCPTwbXWuXr1J
+56OQVe9KHKXlpScLmwDFdc+6Kh+AM9Oz/czpdJZmPMnsAtgOeBN2Ad0Sqq6BBQ==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/root_ca_cert.pem b/chromium/net/data/ssl/certificates/root_ca_cert.pem
new file mode 100644
index 00000000000..0e58f2ab5a9
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/root_ca_cert.pem
@@ -0,0 +1,102 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAq6OEFgWu9ICFgaeoWfq7Dl57BNzERHpBBTedRaFr3uj+D4nT
+OXjraAFPFcBLE6RMJZXtpLvZrfdUDPEzTtcliLAoXmQB8DN8TTvYXEgEr3dSb+qZ
+sAfmbbtjnjOtGJQwlkb0QdZp4+5V3vrD1DbT0XGHKDu4/Estvzzi+4zo+plEDL1d
+y+Op9g09HOu2gB6+pVG1YAR3ckeWFw2ORO76xF+rMRbcaJqfmnmUBLkPFN/Bmvo3
+q39wuIDdSCXtvUNnAcEynXah/sFk2AB3c9E/IYaScuiRNkWEi7cUXrAyXKPtMNo2
+RdvfVUEYz/42N+270wkf1taR0thfcwJS06oNIwIDAQABAoIBAQCml41KurV3h48N
+qydSPnR0m+uXapftRyP45mP2A5lpwIdnmYS00dLbHfoeyIeWRu/Jw13neJTtr5Ob
+BDmimlxJ8YEdLMBc3fwWErILz7MMhCo1imUlYGWduDYWhV3K73rBQZkulegtXVVn
+mcmdHqI1NZXTzTPdXTLH3VcKhVhUcftA+foSmY5Sr2EgWL34lkF0ciWSbYf4dIAc
+RS+DikEpAM552hPu9+oo0+5aheH9ijuF4SCRZcvToC2YaTUR5OG4j31oGtDMXmeu
+5alBhaUZqS3b8FX8Q2GbqJ4sR+2XrgovrVteOGN0QvoExZeZIdt6ArqArKGQ/hQf
+gPITpX7RAoGBANp/9E3a+CB9fculDW/Vdpo2jVMLFmlMzWCxA5V0BwIgx4yCKgK7
+Zx1gsO+vaOKu1uLfAj5wWd1qNRbAAvL0CpSkEqfteHInyyN6muSWuDEELCIYU/0u
+IdhPH7yU/SYKsZK3qnOZBwSJMI0iJAKXO0qVYepTtN3MXzhIWkaPqoj9AoGBAMkY
+qjS/QDmyIukeUrhpEn6F2nh6/Upek0+xFUP/0SIeaCAfFiJ9+mFLSDLQ0Rvsq5G6
+glfMFaQz/+610+6YZ5ioEPUlVMAx0qNZRS8Gy97MDoe9Z+PmbKdvbZXLTP6nhpGy
+9Nhilog+U8MZCwiklDEKyldQBg/TghMsqhYEyFifAoGBAIGJ9obp2M06WQgQ1ISG
+44fN679eBW1sUR6QE3XZkgYa9PNCgDGadSmfl4aiUeaCjXd3i1cFOOHiA5N3RshP
+Eq7JDx5r1UqoePCR0Z7QFGdK9/dGwRSK8xnQ3xnooqSZFmnLZcye3uA7jYM+yGaY
+zlgLdD9+XO5aKeGuU4cdyZbpAoGAIm8cxgdxoe+E1tIga/9h8VROQo8czB1BsEWs
+VIZ7cxIt1kI8cg+MThir9jeXduahwkRjiVEi64kT6/YqohJqutMchD2uM3LUlK/2
+jsTlJ/NdEZU3MukD9e+4ngu/1WMuQciY8GyBRjcV9LRXFVXJIlSsrSLAxvj6rvnY
+7ghHnhUCgYBiKCwWTxuoh450TwZMv8X3/6+88w6CieUa0EvdVDcmSQ1cnlAw/7Uh
+inzU7HizHG2tq8Rg5HjaXTnkNhacT9tg2WELSH8Cay3287CmIhdkvZMJIPRhMMCW
+NUQMCtufqhgyX4Qn0W1dbhBzyuyfsj1Ec3BrUp1aPHr0QRm4HdsAIA==
+-----END RSA PRIVATE KEY-----
+
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 12573969073242583322 (0xae7fb6409b5f311a)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Test Root CA
+ Validity
+ Not Before: Jun 18 19:52:02 2013 GMT
+ Not After : Jun 16 19:52:02 2023 GMT
+ Subject: CN=Test Root CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:ab:a3:84:16:05:ae:f4:80:85:81:a7:a8:59:fa:
+ bb:0e:5e:7b:04:dc:c4:44:7a:41:05:37:9d:45:a1:
+ 6b:de:e8:fe:0f:89:d3:39:78:eb:68:01:4f:15:c0:
+ 4b:13:a4:4c:25:95:ed:a4:bb:d9:ad:f7:54:0c:f1:
+ 33:4e:d7:25:88:b0:28:5e:64:01:f0:33:7c:4d:3b:
+ d8:5c:48:04:af:77:52:6f:ea:99:b0:07:e6:6d:bb:
+ 63:9e:33:ad:18:94:30:96:46:f4:41:d6:69:e3:ee:
+ 55:de:fa:c3:d4:36:d3:d1:71:87:28:3b:b8:fc:4b:
+ 2d:bf:3c:e2:fb:8c:e8:fa:99:44:0c:bd:5d:cb:e3:
+ a9:f6:0d:3d:1c:eb:b6:80:1e:be:a5:51:b5:60:04:
+ 77:72:47:96:17:0d:8e:44:ee:fa:c4:5f:ab:31:16:
+ dc:68:9a:9f:9a:79:94:04:b9:0f:14:df:c1:9a:fa:
+ 37:ab:7f:70:b8:80:dd:48:25:ed:bd:43:67:01:c1:
+ 32:9d:76:a1:fe:c1:64:d8:00:77:73:d1:3f:21:86:
+ 92:72:e8:91:36:45:84:8b:b7:14:5e:b0:32:5c:a3:
+ ed:30:da:36:45:db:df:55:41:18:cf:fe:36:37:ed:
+ bb:d3:09:1f:d6:d6:91:d2:d8:5f:73:02:52:d3:aa:
+ 0d:23
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 2B:88:93:E1:D2:54:50:F4:B8:A4:20:BD:B1:79:E6:0B:AA:EB:EC:1A
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ a8:58:42:e4:7c:b1:46:11:ee:56:b7:09:08:fb:06:44:f0:a9:
+ 60:03:f0:05:23:09:3c:36:d6:28:1b:e5:d6:61:15:a0:6f:de:
+ 69:ac:28:58:05:f1:ce:9b:61:c2:58:b0:5d:ed:6c:75:44:e2:
+ 68:01:91:59:b1:4f:f3:51:f2:23:f6:47:42:41:57:26:4f:87:
+ 1e:d2:9f:94:3a:e2:d0:4e:6f:02:d2:92:76:2c:0a:dd:58:93:
+ e1:47:b9:02:a3:3d:75:b4:ba:24:70:87:32:87:cf:76:4e:a0:
+ 41:8b:86:42:18:55:ed:a5:ae:5d:6a:3a:8c:28:70:4c:f1:c5:
+ 36:6c:ec:01:a9:d6:51:39:32:31:30:24:82:9f:88:d9:f5:c1:
+ 09:6b:5a:6b:f1:95:d3:9d:3f:e0:42:63:fc:b7:32:90:55:56:
+ f2:76:1b:71:38:bd:bd:fb:3b:23:50:46:4c:2c:4e:49:48:52:
+ ea:05:5f:16:f2:98:51:af:2f:79:36:2a:a0:ba:36:68:1b:29:
+ 8b:7b:e8:8c:ea:73:31:e5:86:d7:2c:d8:56:06:43:d7:72:d2:
+ f0:27:4e:64:0a:2b:27:38:36:cd:be:c1:33:db:74:4b:4e:74:
+ be:21:bd:f6:81:66:d2:fd:2b:7f:f4:55:36:c0:ed:a7:44:ca:
+ b1:78:1d:0f
+-----BEGIN CERTIFICATE-----
+MIIC8zCCAdugAwIBAgIJAK5/tkCbXzEaMA0GCSqGSIb3DQEBBQUAMBcxFTATBgNV
+BAMMDFRlc3QgUm9vdCBDQTAeFw0xMzA2MTgxOTUyMDJaFw0yMzA2MTYxOTUyMDJa
+MBcxFTATBgNVBAMMDFRlc3QgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAKujhBYFrvSAhYGnqFn6uw5eewTcxER6QQU3nUWha97o/g+J0zl4
+62gBTxXASxOkTCWV7aS72a33VAzxM07XJYiwKF5kAfAzfE072FxIBK93Um/qmbAH
+5m27Y54zrRiUMJZG9EHWaePuVd76w9Q209Fxhyg7uPxLLb884vuM6PqZRAy9Xcvj
+qfYNPRzrtoAevqVRtWAEd3JHlhcNjkTu+sRfqzEW3Gian5p5lAS5DxTfwZr6N6t/
+cLiA3Ugl7b1DZwHBMp12of7BZNgAd3PRPyGGknLokTZFhIu3FF6wMlyj7TDaNkXb
+31VBGM/+Njftu9MJH9bWkdLYX3MCUtOqDSMCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUK4iT4dJUUPS4pCC9sXnmC6rr7BowDgYDVR0PAQH/BAQD
+AgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCoWELkfLFGEe5WtwkI+wZE8KlgA/AFIwk8
+NtYoG+XWYRWgb95prChYBfHOm2HCWLBd7Wx1ROJoAZFZsU/zUfIj9kdCQVcmT4ce
+0p+UOuLQTm8C0pJ2LArdWJPhR7kCoz11tLokcIcyh892TqBBi4ZCGFXtpa5dajqM
+KHBM8cU2bOwBqdZROTIxMCSCn4jZ9cEJa1pr8ZXTnT/gQmP8tzKQVVbydhtxOL29
++zsjUEZMLE5JSFLqBV8W8phRry95NiqgujZoGymLe+iM6nMx5YbXLNhWBkPXctLw
+J05kCisnODbNvsEz23RLTnS+Ib32gWbS/St/9FU2wO2nRMqxeB0P
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/salesforce_com_test.pem b/chromium/net/data/ssl/certificates/salesforce_com_test.pem
new file mode 100644
index 00000000000..1522d0b92ea
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/salesforce_com_test.pem
@@ -0,0 +1,81 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ 30:88:41:0a:28:b4:3e:3d:9a:f3:b3:90:a0:24:bc:d6
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: O=VeriSign Trust Network, OU=VeriSign, Inc., OU=VeriSign International Server CA - Class 3, OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
+ Validity
+ Not Before: Sep 18 00:00:00 2010 GMT
+ Not After : Sep 18 23:59:59 2012 GMT
+ Subject: C=US, ST=California, L=San Francisco, O=Salesforce.com, Inc., OU=Applications, CN=prerelna1.pre.salesforce.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:b8:0d:04:b7:23:60:d2:ff:12:bb:29:43:81:30:
+ 0f:dd:8b:cd:cc:2c:8d:d0:14:de:5c:7b:a3:33:ea:
+ f2:7e:88:6e:04:42:17:70:67:91:a8:20:87:81:a8:
+ be:c4:57:d5:f5:3c:cf:34:96:cb:fb:7c:c3:db:ba:
+ 36:c2:08:9f:c1:1d:91:fa:b7:21:03:50:32:bb:30:
+ be:ff:f8:bf:8d:c0:7d:16:e4:d2:81:ef:e2:1a:89:
+ 13:7c:40:6d:dd:1f:32:9d:3f:ca:a2:ab:e6:ae:9f:
+ 96:91:66:32:e9:e5:ca:e3:9d:fc:62:31:aa:de:a6:
+ 50:21:ba:e2:8e:77:00:41:17
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment
+ X509v3 CRL Distribution Points:
+ URI:http://SVRIntl-crl.verisign.com/SVRIntl.crl
+
+ X509v3 Certificate Policies:
+ Policy: 2.16.840.1.113733.1.7.23.3
+ CPS: https://www.verisign.com/rpa
+
+ X509v3 Extended Key Usage:
+ Netscape Server Gated Crypto, TLS Web Server Authentication, TLS Web Client Authentication
+ Authority Information Access:
+ OCSP - URI:http://ocsp.verisign.com
+ CA Issuers - URI:http://SVRIntl-aia.verisign.com/SVRIntl-aia.cer
+
+ 1.3.6.1.5.5.7.1.12:
+ 0`.^.\0Z0X0V..image/gif0!0.0...+......Kk.(.....R8.).K..!..0&.$http://logo.verisign.com/vslogo1.gif
+ Signature Algorithm: sha1WithRSAEncryption
+ b8:e3:37:ba:5a:37:37:bf:e5:bc:88:fe:1e:fa:b4:4f:7d:52:
+ ca:26:b6:83:a1:de:28:6b:01:a8:cd:5d:f2:9a:2c:f0:6e:89:
+ 69:ab:94:b5:14:f2:c3:ca:d8:5d:2f:6d:13:9a:83:f1:ed:4e:
+ 85:87:93:69:19:53:3a:a4:f1:98:96:b7:28:13:32:7e:d2:e4:
+ 7a:7a:f2:8d:80:7d:af:89:64:43:7b:f6:05:3d:16:7c:f1:2a:
+ 6f:bb:9b:3a:57:a5:f1:f7:77:a0:07:68:92:39:bd:45:c7:c8:
+ 75:ed:ac:c6:ac:45:02:18:0b:41:ba:01:68:3e:c2:3b:f6:8b:
+ 4e:50
+-----BEGIN CERTIFICATE-----
+MIIEhzCCA/CgAwIBAgIQMIhBCii0Pj2a87OQoCS81jANBgkqhkiG9w0BAQUFADCB
+ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
+aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy
+dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg
+SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0x
+MDA5MTgwMDAwMDBaFw0xMjA5MTgyMzU5NTlaMIGXMQswCQYDVQQGEwJVUzETMBEG
+A1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxQNU2FuIEZyYW5jaXNjbzEdMBsGA1UE
+ChQUU2FsZXNmb3JjZS5jb20sIEluYy4xFTATBgNVBAsUDEFwcGxpY2F0aW9uczEl
+MCMGA1UEAxQccHJlcmVsbmExLnByZS5zYWxlc2ZvcmNlLmNvbTCBnzANBgkqhkiG
+9w0BAQEFAAOBjQAwgYkCgYEAuA0EtyNg0v8SuylDgTAP3YvNzCyN0BTeXHujM+ry
+fohuBEIXcGeRqCCHgai+xFfV9TzPNJbL+3zD27o2wgifwR2R+rchA1AyuzC+//i/
+jcB9FuTSge/iGokTfEBt3R8ynT/Koqvmrp+WkWYy6eXK4538YjGq3qZQIbrijncA
+QRcCAwEAAaOCAa0wggGpMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMDwGA1UdHwQ1
+MDMwMaAvoC2GK2h0dHA6Ly9TVlJJbnRsLWNybC52ZXJpc2lnbi5jb20vU1ZSSW50
+bC5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsGAQUFBwIBFhxo
+dHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMCgGA1UdJQQhMB8GCWCGSAGG+EIE
+AQYIKwYBBQUHAwEGCCsGAQUFBwMCMHEGCCsGAQUFBwEBBGUwYzAkBggrBgEFBQcw
+AYYYaHR0cDovL29jc3AudmVyaXNpZ24uY29tMDsGCCsGAQUFBzAChi9odHRwOi8v
+U1ZSSW50bC1haWEudmVyaXNpZ24uY29tL1NWUkludGwtYWlhLmNlcjBuBggrBgEF
+BQcBDARiMGChXqBcMFowWDBWFglpbWFnZS9naWYwITAfMAcGBSsOAwIaBBRLa7ko
+lgYMu9BSOJsprEsHiyEFGDAmFiRodHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNs
+b2dvMS5naWYwDQYJKoZIhvcNAQEFBQADgYEAuOM3ulo3N7/lvIj+Hvq0T31Syia2
+g6HeKGsBqM1d8pos8G6JaauUtRTyw8rYXS9tE5qD8e1OhYeTaRlTOqTxmJa3KBMy
+ftLkenryjYB9r4lkQ3v2BT0WfPEqb7ubOlel8fd3oAdokjm9RcfIde2sxqxFAhgL
+QboBaD7CO/aLTlA=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/satveda.pem b/chromium/net/data/ssl/certificates/satveda.pem
new file mode 100644
index 00000000000..4f79703d8c0
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/satveda.pem
@@ -0,0 +1,207 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 21120020890699950 (0x4b088c0ed6c8ae)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
+ Validity
+ Not Before: Mar 9 07:19:24 2013 GMT
+ Not After : May 24 09:39:06 2019 GMT
+ Subject: OU=Domain Control Validated, CN=www.satveda.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:bb:e0:ea:82:8e:50:bf:ba:94:89:e3:f4:dc:b4:
+ a1:06:91:c1:46:bc:33:37:74:e0:c6:71:e7:f0:09:
+ ec:d8:8e:ac:48:82:3f:b6:b4:49:80:98:04:04:61:
+ f7:ea:d2:ad:23:ed:2b:28:54:f2:14:e2:f4:84:88:
+ 9c:4f:d1:b1:1b:52:98:a6:3e:85:e3:eb:22:df:09:
+ 86:ff:14:9c:41:46:dd:13:ed:d9:f0:5d:a5:fe:7f:
+ 6f:31:6b:a0:50:a5:f2:9a:ba:ea:8c:77:4d:1c:64:
+ 82:7a:ea:f4:54:5b:f3:92:81:5e:5c:b1:04:da:c1:
+ d6:72:7d:e1:e5:ec:ad:53:ae:3d:14:21:44:2e:67:
+ f3:a2:c9:7d:9e:0b:98:4d:89:fc:c8:1e:a6:00:45:
+ 8b:b6:a7:b9:dc:5e:5a:ff:0c:52:c6:92:7e:60:08:
+ d4:8d:34:6c:00:98:bc:43:e9:7b:e1:92:0b:f5:81:
+ f0:48:09:18:5a:35:8a:e2:74:f2:9d:da:48:b0:7d:
+ 02:f8:a4:2b:5e:a0:22:cf:a0:15:9f:fb:ca:4d:8c:
+ f3:26:cb:62:74:a3:04:6e:e2:38:aa:0a:19:42:e8:
+ e3:57:a5:d3:97:64:38:31:89:3e:af:93:af:d6:e3:
+ 60:c1:c3:6a:9c:58:da:16:60:c7:78:01:cf:dc:7c:
+ e1:11
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Key Usage: critical
+ Digital Signature, Key Encipherment
+ X509v3 CRL Distribution Points:
+
+ Full Name:
+ URI:http://crl.godaddy.com/gds1-87.crl
+
+ X509v3 Certificate Policies:
+ Policy: 2.16.840.1.114413.1.7.23.1
+ CPS: http://certificates.godaddy.com/repository/
+
+ Authority Information Access:
+ OCSP - URI:http://ocsp.godaddy.com/
+ CA Issuers - URI:http://certificates.godaddy.com/repository/gd_intermediate.crt
+
+ X509v3 Authority Key Identifier:
+ keyid:FD:AC:61:32:93:6C:45:D6:E2:EE:85:5F:9A:BA:E7:76:99:68:CC:E7
+
+ X509v3 Subject Alternative Name:
+ DNS:www.satveda.com, DNS:satveda.com
+ X509v3 Subject Key Identifier:
+ A7:39:2E:DC:0F:22:D5:D6:C6:B1:3B:35:65:3D:0D:B1:75:5B:F7:69
+ Signature Algorithm: sha1WithRSAEncryption
+ 15:a9:fd:28:f6:cd:d1:f0:2d:d7:1c:df:b5:48:5c:c5:2c:44:
+ 59:ad:ba:3d:bc:08:30:6f:50:a4:9f:0b:05:28:d7:5e:62:87:
+ f9:5d:24:c0:b1:ce:a1:d2:eb:aa:77:9b:01:21:1b:56:dd:e5:
+ 32:18:38:44:24:60:76:14:4d:4a:6a:d2:37:8b:64:45:5a:ba:
+ 4f:bf:b0:33:dd:f6:59:dc:fd:47:a9:3b:4f:29:65:3d:a4:0e:
+ c7:89:22:48:e7:6b:e4:38:b7:d4:e2:27:1f:22:9c:99:b0:bd:
+ b4:59:6d:8d:53:30:fa:28:ef:6c:66:b8:af:6c:9b:93:52:72:
+ 37:b3:2f:c1:bd:73:22:b4:2e:fa:08:fd:0c:95:89:21:eb:01:
+ 34:82:18:15:12:3c:a1:2c:d9:fc:f3:f9:48:1f:09:44:18:b8:
+ 7a:5b:57:ea:10:62:59:90:8c:dc:6f:52:f2:2a:a2:da:fc:2d:
+ b4:8a:fb:11:cd:60:da:f9:dd:31:08:31:04:11:81:4e:4b:8a:
+ 81:40:70:5e:00:99:87:cb:d6:e0:d8:85:fe:4a:2e:97:99:a0:
+ 3d:6e:6f:26:a9:4d:e6:97:cb:c5:09:ef:49:24:c7:96:27:7e:
+ bf:e4:cb:02:f8:00:63:43:7f:ca:05:75:d2:89:7a:f0:25:52:
+ ac:47:fb:e6
+-----BEGIN CERTIFICATE-----
+MIIFRTCCBC2gAwIBAgIHSwiMDtbIrjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
+BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY
+BgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydGlm
+aWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkxMDAuBgNVBAMTJ0dvIERhZGR5
+IFNlY3VyZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTERMA8GA1UEBRMIMDc5Njky
+ODcwHhcNMTMwMzA5MDcxOTI0WhcNMTkwNTI0MDkzOTA2WjA9MSEwHwYDVQQLExhE
+b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxGDAWBgNVBAMTD3d3dy5zYXR2ZWRhLmNv
+bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALvg6oKOUL+6lInj9Ny0
+oQaRwUa8Mzd04MZx5/AJ7NiOrEiCP7a0SYCYBARh9+rSrSPtKyhU8hTi9ISInE/R
+sRtSmKY+hePrIt8Jhv8UnEFG3RPt2fBdpf5/bzFroFCl8pq66ox3TRxkgnrq9FRb
+85KBXlyxBNrB1nJ94eXsrVOuPRQhRC5n86LJfZ4LmE2J/MgepgBFi7anudxeWv8M
+UsaSfmAI1I00bACYvEPpe+GSC/WB8EgJGFo1iuJ08p3aSLB9AvikK16gIs+gFZ/7
+yk2M8ybLYnSjBG7iOKoKGULo41el05dkODGJPq+Tr9bjYMHDapxY2hZgx3gBz9x8
+4RECAwEAAaOCAbowggG2MA8GA1UdEwEB/wQFMAMBAQAwHQYDVR0lBBYwFAYIKwYB
+BQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIFoDAzBgNVHR8ELDAqMCigJqAk
+hiJodHRwOi8vY3JsLmdvZGFkZHkuY29tL2dkczEtODcuY3JsMFMGA1UdIARMMEow
+SAYLYIZIAYb9bQEHFwEwOTA3BggrBgEFBQcCARYraHR0cDovL2NlcnRpZmljYXRl
+cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5LzCBgAYIKwYBBQUHAQEEdDByMCQGCCsG
+AQUFBzABhhhodHRwOi8vb2NzcC5nb2RhZGR5LmNvbS8wSgYIKwYBBQUHMAKGPmh0
+dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeS9nZF9pbnRl
+cm1lZGlhdGUuY3J0MB8GA1UdIwQYMBaAFP2sYTKTbEXW4u6FX5q653aZaMznMCcG
+A1UdEQQgMB6CD3d3dy5zYXR2ZWRhLmNvbYILc2F0dmVkYS5jb20wHQYDVR0OBBYE
+FKc5LtwPItXWxrE7NWU9DbF1W/dpMA0GCSqGSIb3DQEBBQUAA4IBAQAVqf0o9s3R
+8C3XHN+1SFzFLERZrbo9vAgwb1CknwsFKNdeYof5XSTAsc6h0uuqd5sBIRtW3eUy
+GDhEJGB2FE1KatI3i2RFWrpPv7Az3fZZ3P1HqTtPKWU9pA7HiSJI52vkOLfU4icf
+IpyZsL20WW2NUzD6KO9sZrivbJuTUnI3sy/BvXMitC76CP0MlYkh6wE0ghgVEjyh
+LNn88/lIHwlEGLh6W1fqEGJZkIzcb1LyKqLa/C20ivsRzWDa+d0xCDEEEYFOS4qB
+QHBeAJmHy9bg2IX+Si6XmaA9bm8mqU3ml8vFCe9JJMeWJ36/5MsC+ABjQ3/KBXXS
+iXrwJVKsR/vm
+-----END CERTIFICATE-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 769 (0x301)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
+ Validity
+ Not Before: Nov 16 01:54:37 2006 GMT
+ Not After : Nov 16 01:54:37 2026 GMT
+ Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:c4:2d:d5:15:8c:9c:26:4c:ec:32:35:eb:5f:b8:
+ 59:01:5a:a6:61:81:59:3b:70:63:ab:e3:dc:3d:c7:
+ 2a:b8:c9:33:d3:79:e4:3a:ed:3c:30:23:84:8e:b3:
+ 30:14:b6:b2:87:c3:3d:95:54:04:9e:df:99:dd:0b:
+ 25:1e:21:de:65:29:7e:35:a8:a9:54:eb:f6:f7:32:
+ 39:d4:26:55:95:ad:ef:fb:fe:58:86:d7:9e:f4:00:
+ 8d:8c:2a:0c:bd:42:04:ce:a7:3f:04:f6:ee:80:f2:
+ aa:ef:52:a1:69:66:da:be:1a:ad:5d:da:2c:66:ea:
+ 1a:6b:bb:e5:1a:51:4a:00:2f:48:c7:98:75:d8:b9:
+ 29:c8:ee:f8:66:6d:0a:9c:b3:f3:fc:78:7c:a2:f8:
+ a3:f2:b5:c3:f3:b9:7a:91:c1:a7:e6:25:2e:9c:a8:
+ ed:12:65:6e:6a:f6:12:44:53:70:30:95:c3:9c:2b:
+ 58:2b:3d:08:74:4a:f2:be:51:b0:bf:87:d0:4c:27:
+ 58:6b:b5:35:c5:9d:af:17:31:f8:0b:8f:ee:ad:81:
+ 36:05:89:08:98:cf:3a:af:25:87:c0:49:ea:a7:fd:
+ 67:f7:45:8e:97:cc:14:39:e2:36:85:b5:7e:1a:37:
+ fd:16:f6:71:11:9a:74:30:16:fe:13:94:a3:3f:84:
+ 0d:4f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ FD:AC:61:32:93:6C:45:D6:E2:EE:85:5F:9A:BA:E7:76:99:68:CC:E7
+ X509v3 Authority Key Identifier:
+ keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
+
+ X509v3 Basic Constraints: critical
+ CA:TRUE, pathlen:0
+ Authority Information Access:
+ OCSP - URI:http://ocsp.godaddy.com
+
+ X509v3 CRL Distribution Points:
+
+ Full Name:
+ URI:http://certificates.godaddy.com/repository/gdroot.crl
+
+ X509v3 Certificate Policies:
+ Policy: X509v3 Any Policy
+ CPS: http://certificates.godaddy.com/repository
+
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ d2:86:c0:ec:bd:f9:a1:b6:67:ee:66:0b:a2:06:3a:04:50:8e:
+ 15:72:ac:4a:74:95:53:cb:37:cb:44:49:ef:07:90:6b:33:d9:
+ 96:f0:94:56:a5:13:30:05:3c:85:32:21:7b:c9:c7:0a:a8:24:
+ a4:90:de:46:d3:25:23:14:03:67:c2:10:d6:6f:0f:5d:7b:7a:
+ cc:9f:c5:58:2a:c1:c4:9e:21:a8:5a:f3:ac:a4:46:f3:9e:e4:
+ 63:cb:2f:90:a4:29:29:01:d9:72:2c:29:df:37:01:27:bc:4f:
+ ee:68:d3:21:8f:c0:b3:e4:f5:09:ed:d2:10:aa:53:b4:be:f0:
+ cc:59:0b:d6:3b:96:1c:95:24:49:df:ce:ec:fd:a7:48:91:14:
+ 45:0e:3a:36:6f:da:45:b3:45:a2:41:c9:d4:d7:44:4e:3e:b9:
+ 74:76:d5:a2:13:55:2c:c6:87:a3:b5:99:ac:06:84:87:7f:75:
+ 06:fc:bf:14:4c:0e:cc:6e:c4:df:3d:b7:12:71:f4:e8:f1:51:
+ 40:22:28:49:e0:1d:4b:87:a8:34:cc:06:a2:dd:12:5a:d1:86:
+ 36:64:03:35:6f:6f:77:6e:eb:f2:85:50:98:5e:ab:03:53:ad:
+ 91:23:63:1f:16:9c:cd:b9:b2:05:63:3a:e1:f4:68:1b:17:05:
+ 35:95:53:ee
+-----BEGIN CERTIFICATE-----
+MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMx
+ITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMTYw
+MTU0MzdaFw0yNjExMTYwMTU0MzdaMIHKMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH
+QXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5j
+b20sIEluYy4xMzAxBgNVBAsTKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5j
+b20vcmVwb3NpdG9yeTEwMC4GA1UEAxMnR28gRGFkZHkgU2VjdXJlIENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5MREwDwYDVQQFEwgwNzk2OTI4NzCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBAMQt1RWMnCZM7DI161+4WQFapmGBWTtwY6vj3D3H
+KrjJM9N55DrtPDAjhI6zMBS2sofDPZVUBJ7fmd0LJR4h3mUpfjWoqVTr9vcyOdQm
+VZWt7/v+WIbXnvQAjYwqDL1CBM6nPwT27oDyqu9SoWlm2r4arV3aLGbqGmu75RpR
+SgAvSMeYddi5Kcju+GZtCpyz8/x4fKL4o/K1w/O5epHBp+YlLpyo7RJlbmr2EkRT
+cDCVw5wrWCs9CHRK8r5RsL+H0EwnWGu1NcWdrxcx+AuP7q2BNgWJCJjPOq8lh8BJ
+6qf9Z/dFjpfMFDniNoW1fho3/Rb2cRGadDAW/hOUoz+EDU8CAwEAAaOCATIwggEu
+MB0GA1UdDgQWBBT9rGEyk2xF1uLuhV+auud2mWjM5zAfBgNVHSMEGDAWgBTSxLDS
+kdRMEXGzYcs9of7dqGrU4zASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUFBwEB
+BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZ29kYWRkeS5jb20wRgYDVR0f
+BD8wPTA7oDmgN4Y1aHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBv
+c2l0b3J5L2dkcm9vdC5jcmwwSwYDVR0gBEQwQjBABgRVHSAAMDgwNgYIKwYBBQUH
+AgEWKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeTAO
+BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBANKGwOy9+aG2Z+5mC6IG
+OgRQjhVyrEp0lVPLN8tESe8HkGsz2ZbwlFalEzAFPIUyIXvJxwqoJKSQ3kbTJSMU
+A2fCENZvD117esyfxVgqwcSeIaha86ykRvOe5GPLL5CkKSkB2XIsKd83ASe8T+5o
+0yGPwLPk9Qnt0hCqU7S+8MxZC9Y7lhyVJEnfzuz9p0iRFEUOOjZv2kWzRaJBydTX
+RE4+uXR21aITVSzGh6O1mawGhId/dQb8vxRMDsxuxN89txJx9OjxUUAiKEngHUuH
+qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWV
+U+4=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/spdy_pooling.pem b/chromium/net/data/ssl/certificates/spdy_pooling.pem
new file mode 100644
index 00000000000..b6588b59e7d
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/spdy_pooling.pem
@@ -0,0 +1,53 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ e4:6f:98:d6:b9:79:70:02
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Validity
+ Not Before: Sep 12 21:47:23 2012 GMT
+ Not After : Sep 10 21:47:23 2022 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:d2:e6:4b:b7:a0:a3:5e:f7:af:fa:36:12:59:1e:
+ c8:bd:0c:ef:eb:be:71:a2:79:88:9b:7e:99:46:80:
+ bf:53:31:1e:d0:88:a1:38:22:8c:86:f1:12:7c:6b:
+ bd:2d:75:53:3a:61:65:2f:2e:98:f3:03:8b:6b:44:
+ 93:ef:a2:a9:67:aa:cc:b6:43:c4:ab:c7:a0:27:8b:
+ 7f:a6:7f:ea:d6:7f:0f:0a:54:52:f8:d2:cd:21:f2:
+ 07:6c:f4:e1:1c:e6:29:a8:79:25:9e:e5:31:38:1e:
+ 45:d0:2c:48:6b:1d:2a:fd:71:07:bf:03:1a:c1:0b:
+ 39:0f:3e:9a:98:4f:2c:fa:83
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ DNS:www.example.org, DNS:mail.example.org, DNS:mail.example.com
+ Signature Algorithm: sha1WithRSAEncryption
+ 8e:b2:bb:67:8d:15:c5:ce:85:ec:b4:15:80:03:5c:f3:3c:b4:
+ 79:0c:27:e9:0d:4c:3d:80:d7:4f:b0:38:7c:f1:b2:0e:59:8e:
+ 81:66:f4:b7:21:0b:ca:05:e8:0e:a8:74:c2:b5:39:47:16:7d:
+ 01:43:8d:ac:10:21:a0:25:a9:66:b6:29:5d:ee:50:ba:4b:70:
+ fb:02:5d:fb:20:c5:7d:90:ae:24:2a:f1:32:25:cd:4f:7b:0a:
+ c9:31:b3:7e:3f:49:b4:4d:2e:14:24:73:7d:05:6a:f7:e3:92:
+ cc:34:e3:46:b8:08:88:50:8b:d8:9d:cb:22:7c:5a:9d:4d:2b:
+ 1f:55
+-----BEGIN CERTIFICATE-----
+MIICgDCCAemgAwIBAgIJAORvmNa5eXACMA0GCSqGSIb3DQEBBQUAMGAxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBW
+aWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQDDAkxMjcuMC4wLjEwHhcNMTIw
+OTEyMjE0NzIzWhcNMjIwOTEwMjE0NzIzWjBgMQswCQYDVQQGEwJVUzETMBEGA1UE
+CAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwH
+VGVzdCBDQTESMBAGA1UEAwwJMTI3LjAuMC4xMIGfMA0GCSqGSIb3DQEBAQUAA4GN
+ADCBiQKBgQDS5ku3oKNe96/6NhJZHsi9DO/rvnGieYibfplGgL9TMR7QiKE4IoyG
+8RJ8a70tdVM6YWUvLpjzA4trRJPvoqlnqsy2Q8Srx6Ani3+mf+rWfw8KVFL40s0h
+8gds9OEc5imoeSWe5TE4HkXQLEhrHSr9cQe/AxrBCzkPPpqYTyz6gwIDAQABo0Iw
+QDA+BgNVHREENzA1gg93d3cuZXhhbXBsZS5vcmeCEG1haWwuZXhhbXBsZS5vcmeC
+EG1haWwuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQEFBQADgYEAjrK7Z40Vxc6F7LQV
+gANc8zy0eQwn6Q1MPYDXT7A4fPGyDlmOgWb0tyELygXoDqh0wrU5RxZ9AUONrBAh
+oCWpZrYpXe5Quktw+wJd+yDFfZCuJCrxMiXNT3sKyTGzfj9JtE0uFCRzfQVq9+OS
+zDTjRrgIiFCL2J3LInxanU0rH1U=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/subjectAltName_sanity_check.pem b/chromium/net/data/ssl/certificates/subjectAltName_sanity_check.pem
new file mode 100644
index 00000000000..46cf58de0cb
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/subjectAltName_sanity_check.pem
@@ -0,0 +1,54 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ f2:f1:e7:8b:cf:09:30:f1
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Validity
+ Not Before: Apr 3 00:46:54 2012 GMT
+ Not After : Apr 1 00:46:54 2022 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c8:0e:13:bb:da:d5:5a:d4:68:a2:11:90:ae:c3:
+ b3:f9:72:52:7d:e9:73:5c:49:60:ef:d3:49:05:9a:
+ c7:4e:01:4f:b0:c8:4c:18:34:2f:7b:84:27:ad:94:
+ 12:9b:e7:3d:38:6b:49:15:55:f6:c7:3a:8d:03:ec:
+ 3e:59:90:5c:b9:a6:41:af:f0:12:b8:87:b9:54:4d:
+ 1e:18:ba:41:96:d0:f3:bb:a0:d6:80:8e:29:10:72:
+ eb:3c:4c:c0:e2:f7:d8:61:2f:d8:63:c7:a7:79:f5:
+ 74:e0:2a:f0:5d:3e:eb:a2:36:09:4b:5d:35:31:56:
+ 1c:86:0e:8a:22:ad:1b:3f:27
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.2, IP Address:FE80:0:0:0:0:0:0:1, DNS:test.example, email:test@test.example, othername:<unsupported>, DirName:/CN=127.0.0.3
+ Signature Algorithm: sha1WithRSAEncryption
+ 32:46:49:70:be:e4:db:05:0e:7e:7a:e4:ea:5c:90:c6:4c:65:
+ 2d:03:ac:fb:d1:de:e4:26:e5:83:dc:5a:c8:4f:ff:b5:10:4e:
+ 39:21:7f:c8:37:f3:c6:7a:de:96:b3:30:e7:c7:87:6d:75:1e:
+ 14:30:17:6b:d2:76:0b:b8:43:39:c4:63:4c:50:8e:e1:0f:09:
+ ff:6c:7d:ab:c8:97:46:e8:04:70:9d:f5:e5:8c:b6:8c:b7:3d:
+ 8e:0f:59:1f:6a:fd:03:c2:be:a1:40:b7:9b:38:ca:55:f5:18:
+ c3:0d:35:01:12:a0:8d:ba:1b:41:a3:6e:68:8c:cf:52:f9:96:
+ 90:64
+-----BEGIN CERTIFICATE-----
+MIICsDCCAhmgAwIBAgIJAPLx54vPCTDxMA0GCSqGSIb3DQEBBQUAMGAxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBW
+aWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQDDAkxMjcuMC4wLjEwHhcNMTIw
+NDAzMDA0NjU0WhcNMjIwNDAxMDA0NjU0WjBgMQswCQYDVQQGEwJVUzETMBEGA1UE
+CAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwH
+VGVzdCBDQTESMBAGA1UEAwwJMTI3LjAuMC4xMIGfMA0GCSqGSIb3DQEBAQUAA4GN
+ADCBiQKBgQDIDhO72tVa1GiiEZCuw7P5clJ96XNcSWDv00kFmsdOAU+wyEwYNC97
+hCetlBKb5z04a0kVVfbHOo0D7D5ZkFy5pkGv8BK4h7lUTR4YukGW0PO7oNaAjikQ
+cus8TMDi99hhL9hjx6d59XTgKvBdPuuiNglLXTUxVhyGDooirRs/JwIDAQABo3Iw
+cDBuBgNVHREEZzBlhwR/AAAChxD+gAAAAAAAAAAAAAAAAAABggx0ZXN0LmV4YW1w
+bGWBEXRlc3RAdGVzdC5leGFtcGxloBIGAyoDBKALDAlpZ25vcmUgbWWkFjAUMRIw
+EAYDVQQDDAkxMjcuMC4wLjMwDQYJKoZIhvcNAQEFBQADgYEAMkZJcL7k2wUOfnrk
+6lyQxkxlLQOs+9He5Cblg9xayE//tRBOOSF/yDfzxnrelrMw58eHbXUeFDAXa9J2
+C7hDOcRjTFCO4Q8J/2x9q8iXRugEcJ315Yy2jLc9jg9ZH2r9A8K+oUC3mzjKVfUY
+ww01ARKgjbobQaNuaIzPUvmWkGQ=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/test_mail_google_com.pem b/chromium/net/data/ssl/certificates/test_mail_google_com.pem
new file mode 100644
index 00000000000..d72d562ba5b
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/test_mail_google_com.pem
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEXDCCAkSgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBgMRAwDgYDVQQDEwdUZXN0
+IENBMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
+TW91bnRhaW4gVmlldzESMBAGA1UEChMJQ2VydCBUZXN0MB4XDTExMTAxMTE5MTYy
+MVoXDTEzMDcyNzAwMDAwMFowbTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
+b3JuaWExEjAQBgNVBAoTCUNlcnQgVGVzdDEbMBkGA1UECxMSR29hdCBUZWxlcG9y
+dGF0aW9uMRgwFgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wXDANBgkqhkiG9w0BAQEF
+AANLADBIAkEAvy9N7zZ2yuMamRGUDc7KiLHq+OwVkfmvDRsrj77+MMR1DkUx1Qez
+s+tKtm6dyi5mariRL5ChbgIBqNYhb/cecQIDAQABo4HbMIHYMBIGA1UdEwEB/wQI
+MAYBAf8CAQEwDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBQQFF3/oZUdPuM69r0i
+Gl5tEK5e7TCBkgYDVR0jBIGKMIGHgBRdzn+Z49QZQTFPxs+xJfVar+OXMaFkpGIw
+YDEQMA4GA1UEAxMHVGVzdCBDQTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
+b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUNlcnQgVGVz
+dIIJANRRk9Q/3tlOMA0GCSqGSIb3DQEBBQUAA4ICAQCPO6wgG6cFmu5ZgAN9q+dS
+BVrMiJhHj62Tlw7qNjD+VAfidTTtQPM8T0y2LtNe2epO6jDOyIpRwsKkFi5mozcs
+Dd3CfXAs7fkdY4ZnAxjXhhk1fvMkomR6CfTHEwcGkfwVm2MDozZmYbS83OP+E82B
++yKA41ppbw75/meJzH4nSECBd/Whzi8AuuX6e3bSae6XEAdhBQoLHyNAvZ0IEeCb
+sI3DvXdpIP0LyYJH6+F/KG5Jugby44HuAK1MBn9/f5tYplucOj5cyw/fYWd8REGD
+Ob71lh9/eZVcYjvbF6LxlizZQ+DNHV2QkHvSQqAACDbpFCUcU9KO5xvN8RaVtFmJ
+sDuHtxDDXFcXHhLh6bcC2KFrsmwEV68jmek0++eMa/W99ADzNWUWCmGoyZQafP2e
+eqQ6Ry8wgH+ZVkhQaaGk4fCKZATpX7//qdj7IzO52Kpx0dwsW7mHxPjdRKQzThkn
+lwFSiKByJDMOm9JbjpGf52JsCX4OSFuHCRcc2TB867xKRfBoAXE06fMS2lTwAcQh
+3vdzO0gEv9WOvdvehvngcrWzGwIdGaP6BBXi+9b5wPBR8ravMPAgQBXg01vME+/+
+TkpEaCFACOttO0YkVqG6lFFT1wigsh3k4/+Eyh/RsLTsFObZBJsMLetbY/XzwhTf
+LyeXa2sT1sk6l+EfrzWS1Q==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/thawte.single.pem b/chromium/net/data/ssl/certificates/thawte.single.pem
new file mode 100644
index 00000000000..d3264590e99
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/thawte.single.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAoygAwIBAgIEMAAAAjANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi
+bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNTEzMDAw
+MDAwWhcNMTQwNTEyMjM1OTU5WjBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
+d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBD
+QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1NNn0I0Vf67NMf59HZGhPwtx
+PKzMyGT7Y/wySweUvW+Aui/hBJPAM/wJMyPpC3QrccQDxtLN4i/1CWPN/0ilAL/g
+5/OIty0y3pg25gqtAHvEZEo7hHUD8nCSfQ5i9SGraTaEMXWQ+L/HbIgbBpV8yeWo
+3nWhLHpo39XKHIdYYBkCAwEAAaOB/jCB+zASBgNVHRMBAf8ECDAGAQH/AgEAMAsG
+A1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwKAYDVR0RBCEwH6QdMBsxGTAX
+BgNVBAMTEFByaXZhdGVMYWJlbDMtMTUwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDov
+L2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsG
+AQUFBzABhhZodHRwOi8vb2NzcC50aGF3dGUuY29tMDQGA1UdJQQtMCsGCCsGAQUF
+BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEB
+BQUAA4GBAFWsY+reod3SkF+fC852vhNRj5PZBSvIG3dLrWlQoe7e3P3bB+noOZTc
+q3J5Lwa/q4FwxKjt6lM07e8eU9kGx1Yr0Vz00YqOtCuxN5BICEIlxT6Ky3/rbwTR
+bcV0oveifHtgPHfNDs5IAn8BL7abN+AqKjbc1YXWrOU/VG+WHgWv
+-----END CERTIFICATE----- \ No newline at end of file
diff --git a/chromium/net/data/ssl/certificates/unescaped.pem b/chromium/net/data/ssl/certificates/unescaped.pem
new file mode 100644
index 00000000000..33dbb40ef0b
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/unescaped.pem
@@ -0,0 +1,62 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ ed:cd:27:0f:4c:ca:cc:fc
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=127.0.0.1, L=Mountain View, ST=California/streetAddress=1600 Amphitheatre Parkway, C=US, O=Chromium = "net_unittests", OU=net_unittests, OU=Chromium
+ Validity
+ Not Before: Dec 2 03:56:43 2011 GMT
+ Not After : Jan 1 03:56:43 2012 GMT
+ Subject: CN=127.0.0.1, L=Mountain View, ST=California/streetAddress=1600 Amphitheatre Parkway, C=US, O=Chromium = "net_unittests", OU=net_unittests, OU=Chromium
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:ac:25:6c:de:22:4f:be:77:07:3a:6c:f9:5f:e6:
+ 0a:ce:69:f7:ca:c5:b8:08:2b:b8:b0:04:12:55:fe:
+ 65:4c:c2:aa:b9:3d:b2:87:f5:59:c3:72:ac:a9:d4:
+ 1e:0b:ec:7f:2e:df:4c:ad:e7:cc:52:93:b4:ed:0a:
+ 99:40:7e:6a:35:c3:b0:8b:93:c7:e5:97:54:b9:7f:
+ 68:26:04:17:a6:b4:50:9e:d6:d7:6b:19:a1:ce:0b:
+ 5e:73:80:a6:b9:ef:5d:34:8e:6f:f7:8c:de:cf:78:
+ cd:16:93:30:23:c3:5c:8c:9f:78:ce:18:c6:0f:e1:
+ 32:76:8a:c4:c4:54:30:56:39
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ 38:85:CF:3E:10:D5:47:FC:08:81:FA:85:7F:84:7A:2F:3D:69:2B:A6
+ X509v3 Authority Key Identifier:
+ keyid:38:85:CF:3E:10:D5:47:FC:08:81:FA:85:7F:84:7A:2F:3D:69:2B:A6
+
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ 32:0a:90:29:b1:9f:c0:c7:55:da:37:8f:5b:b8:09:a0:97:65:
+ 15:3a:79:d1:3e:24:f4:44:ad:3f:eb:84:b4:ae:e3:7a:ba:43:
+ 8c:d4:df:ef:ca:46:c5:99:c4:99:b5:ae:7e:2c:a9:85:05:d0:
+ 8f:07:d2:ee:9e:72:b0:e0:87:51:5c:e8:f4:5a:a1:44:25:a5:
+ 47:6a:67:b3:79:2e:66:7d:93:7d:f7:cf:31:13:c1:fc:af:62:
+ c6:ec:22:14:50:7f:d2:38:ff:5d:11:d5:58:c8:5e:43:08:bb:
+ ca:9c:45:78:f4:28:08:cc:98:75:1d:4c:d2:43:a5:34:f0:86:
+ 56:37
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAr2gAwIBAgIJAO3NJw9Mysz8MA0GCSqGSIb3DQEBBQUAMIHCMRIwEAYD
+VQQDDAkxMjcuMC4wLjExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxEzARBgNVBAgM
+CkNhbGlmb3JuaWExIjAgBgNVBAkMGTE2MDAgQW1waGl0aGVhdHJlIFBhcmt3YXkx
+CzAJBgNVBAYTAlVTMSMwIQYDVQQKDBpDaHJvbWl1bSA9ICJuZXRfdW5pdHRlc3Rz
+IjEWMBQGA1UECwwNbmV0X3VuaXR0ZXN0czERMA8GA1UECwwIQ2hyb21pdW0wHhcN
+MTExMjAyMDM1NjQzWhcNMTIwMTAxMDM1NjQzWjCBwjESMBAGA1UEAwwJMTI3LjAu
+MC4xMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQIDApDYWxpZm9ybmlh
+MSIwIAYDVQQJDBkxNjAwIEFtcGhpdGhlYXRyZSBQYXJrd2F5MQswCQYDVQQGEwJV
+UzEjMCEGA1UECgwaQ2hyb21pdW0gPSAibmV0X3VuaXR0ZXN0cyIxFjAUBgNVBAsM
+DW5ldF91bml0dGVzdHMxETAPBgNVBAsMCENocm9taXVtMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQCsJWzeIk++dwc6bPlf5grOaffKxbgIK7iwBBJV/mVMwqq5
+PbKH9VnDcqyp1B4L7H8u30yt58xSk7TtCplAfmo1w7CLk8fll1S5f2gmBBemtFCe
+1tdrGaHOC15zgKa57100jm/3jN7PeM0WkzAjw1yMn3jOGMYP4TJ2isTEVDBWOQID
+AQABo1AwTjAdBgNVHQ4EFgQUOIXPPhDVR/wIgfqFf4R6Lz1pK6YwHwYDVR0jBBgw
+FoAUOIXPPhDVR/wIgfqFf4R6Lz1pK6YwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
+AQUFAAOBgQAyCpApsZ/Ax1XaN49buAmgl2UVOnnRPiT0RK0/64S0ruN6ukOM1N/v
+ykbFmcSZta5+LKmFBdCPB9LunnKw4IdRXOj0WqFEJaVHamezeS5mfZN9988xE8H8
+r2LG7CIUUH/SOP9dEdVYyF5DCLvKnEV49CgIzJh1HUzSQ6U08IZWNw==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/unittest.key.bin b/chromium/net/data/ssl/certificates/unittest.key.bin
new file mode 100644
index 00000000000..2ec712b3f17
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/unittest.key.bin
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/unittest.originbound.der b/chromium/net/data/ssl/certificates/unittest.originbound.der
new file mode 100644
index 00000000000..c77e126a199
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/unittest.originbound.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/unittest.originbound.key.der b/chromium/net/data/ssl/certificates/unittest.originbound.key.der
new file mode 100644
index 00000000000..1b4170dfe81
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/unittest.originbound.key.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/unittest.selfsigned.der b/chromium/net/data/ssl/certificates/unittest.selfsigned.der
new file mode 100644
index 00000000000..48c8d743b0a
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/unittest.selfsigned.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/verisign_intermediate_ca_2011.pem b/chromium/net/data/ssl/certificates/verisign_intermediate_ca_2011.pem
new file mode 100644
index 00000000000..27dc85bd8a7
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/verisign_intermediate_ca_2011.pem
@@ -0,0 +1,71 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ 25:4b:8a:85:38:42:cc:e3:58:f8:c5:dd:ae:22:6e:a4
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority
+ Validity
+ Not Before: Apr 17 00:00:00 1997 GMT
+ Not After : Oct 24 23:59:59 2011 GMT
+ Subject: O=VeriSign Trust Network, OU=VeriSign, Inc., OU=VeriSign International Server CA - Class 3, OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:d8:82:80:e8:d6:19:02:7d:1f:85:18:39:25:a2:
+ 65:2b:e1:bf:d4:05:d3:bc:e6:36:3b:aa:f0:4c:6c:
+ 5b:b6:e7:aa:3c:73:45:55:b2:f1:bd:ea:97:42:ed:
+ 9a:34:0a:15:d4:a9:5c:f5:40:25:dd:d9:07:c1:32:
+ b2:75:6c:c4:ca:bb:a3:fe:56:27:71:43:aa:63:f5:
+ 30:3e:93:28:e5:fa:f1:09:3b:f3:b7:4d:4e:39:f7:
+ 5c:49:5a:b8:c1:1d:d3:b2:8a:fe:70:30:95:42:cb:
+ fe:2b:51:8b:5a:3c:3a:f9:22:4f:90:b2:02:a7:53:
+ 9c:4f:34:e7:ab:04:b2:7b:6f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:TRUE, pathlen:0
+ X509v3 Certificate Policies:
+ Policy: 2.16.840.1.113733.1.7.1.1
+ CPS: https://www.verisign.com/CPS
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication, Netscape Server Gated Crypto, 2.16.840.1.113733.1.8.1
+ X509v3 Key Usage:
+ Certificate Sign, CRL Sign
+ Netscape Cert Type:
+ SSL CA, S/MIME CA
+ X509v3 CRL Distribution Points:
+ URI:http://crl.verisign.com/pca3.crl
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 08:01:ec:e4:68:94:03:42:f1:73:f1:23:a2:3a:de:e9:f1:da:
+ c6:54:c4:23:3e:86:ea:cf:6a:3a:33:ab:ea:9c:04:14:07:36:
+ 06:0b:f9:88:6f:d5:13:ee:29:2b:c3:e4:72:8d:44:ed:d1:ac:
+ 20:09:2d:e1:f6:e1:19:05:38:b0:3d:0f:9f:7f:f8:9e:02:dc:
+ 86:02:86:61:4e:26:5f:5e:9f:92:1e:0c:24:a4:f5:d0:70:13:
+ cf:26:c3:43:3d:49:1d:9e:82:2e:52:5f:bc:3e:c6:66:29:01:
+ 8e:4e:92:2c:bc:46:75:03:82:ac:73:e9:d9:7e:0b:67:ef:54:
+ 52:1a
+-----BEGIN CERTIFICATE-----
+MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf
+MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT
+LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy
+aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx
+BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg
+MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g
+TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB
+jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx
+veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O
+OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB
+4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw
+KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV
+HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI
+ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk
+oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB
+BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv
+1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw
+E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/verisign_intermediate_ca_2016.pem b/chromium/net/data/ssl/certificates/verisign_intermediate_ca_2016.pem
new file mode 100644
index 00000000000..195133e798a
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/verisign_intermediate_ca_2016.pem
@@ -0,0 +1,71 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ 46:fc:eb:ba:b4:d0:2f:0f:92:60:98:23:3f:93:07:8f
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority
+ Validity
+ Not Before: Apr 17 00:00:00 1997 GMT
+ Not After : Oct 24 23:59:59 2016 GMT
+ Subject: O=VeriSign Trust Network, OU=VeriSign, Inc., OU=VeriSign International Server CA - Class 3, OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:d8:82:80:e8:d6:19:02:7d:1f:85:18:39:25:a2:
+ 65:2b:e1:bf:d4:05:d3:bc:e6:36:3b:aa:f0:4c:6c:
+ 5b:b6:e7:aa:3c:73:45:55:b2:f1:bd:ea:97:42:ed:
+ 9a:34:0a:15:d4:a9:5c:f5:40:25:dd:d9:07:c1:32:
+ b2:75:6c:c4:ca:bb:a3:fe:56:27:71:43:aa:63:f5:
+ 30:3e:93:28:e5:fa:f1:09:3b:f3:b7:4d:4e:39:f7:
+ 5c:49:5a:b8:c1:1d:d3:b2:8a:fe:70:30:95:42:cb:
+ fe:2b:51:8b:5a:3c:3a:f9:22:4f:90:b2:02:a7:53:
+ 9c:4f:34:e7:ab:04:b2:7b:6f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:TRUE, pathlen:0
+ X509v3 Certificate Policies:
+ Policy: 2.16.840.1.113733.1.7.1.1
+ CPS: https://www.verisign.com/CPS
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication, Netscape Server Gated Crypto, 2.16.840.1.113733.1.8.1
+ X509v3 Key Usage:
+ Certificate Sign, CRL Sign
+ Netscape Cert Type:
+ SSL CA, S/MIME CA
+ X509v3 CRL Distribution Points:
+ URI:http://crl.verisign.com/pca3.crl
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 40:8e:49:97:96:8a:73:dd:8e:4d:ef:3e:61:b7:ca:a0:62:ad:
+ f4:0e:0a:bb:75:3d:e2:6e:d8:2c:c7:bf:f4:b9:8c:36:9b:ca:
+ a2:d0:9c:72:46:39:f6:a6:82:03:65:11:c4:bc:bf:2d:a6:f5:
+ d9:3b:0a:b5:98:fa:b3:78:b9:1e:f2:2b:4c:62:d5:fd:b2:7a:
+ 1d:df:33:fd:73:f9:a5:d8:2d:8c:2a:ea:d1:fc:b0:28:b6:e9:
+ 49:48:13:4b:83:8a:1b:48:7b:24:f7:38:de:6f:41:54:b8:ab:
+ 57:6b:06:df:c7:a2:d4:a9:f6:f1:36:62:80:88:f2:8b:75:d6:
+ 80:71
+-----BEGIN CERTIFICATE-----
+MIIDgzCCAuygAwIBAgIQRvzrurTQLw+SYJgjP5MHjzANBgkqhkiG9w0BAQUFADBf
+MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT
+LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNOTcwNDE3MDAwMDAwWhcNMTYxMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy
+aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx
+BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg
+MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g
+TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB
+jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx
+veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O
+OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB
+4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw
+KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV
+HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI
+ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk
+oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB
+BQUAA4GBAECOSZeWinPdjk3vPmG3yqBirfQOCrt1PeJu2CzHv/S5jDabyqLQnHJG
+OfamggNlEcS8vy2m9dk7CrWY+rN4uR7yK0xi1f2yeh3fM/1z+aXYLYwq6tH8sCi2
+6UlIE0uDihtIeyT3ON5vQVS4q1drBt/HotSp9vE2YoCI8ot11oBx
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md2_ee.pem b/chromium/net/data/ssl/certificates/weak_digest_md2_ee.pem
new file mode 100644
index 00000000000..6475ccc80b4
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md2_ee.pem
@@ -0,0 +1,61 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 4 (0x4)
+ Signature Algorithm: md2WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Intermediate CA
+ Validity
+ Not Before: Oct 26 03:46:49 2011 GMT
+ Not After : Oct 23 03:46:49 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c7:48:eb:5c:00:17:94:01:09:d3:bd:47:41:38:
+ 74:b8:4f:cb:ea:f1:15:eb:cb:e7:b5:6c:bd:fe:d9:
+ 97:6d:1e:1b:ee:75:9e:c1:6f:4a:5c:8c:d7:19:cf:
+ 51:89:48:e8:7d:79:41:ab:e3:a7:77:d1:de:f2:13:
+ be:36:e7:44:c2:10:dd:56:83:03:f1:cd:e1:13:8d:
+ fe:45:d6:1a:98:d8:8d:08:b9:32:10:36:0d:ec:ee:
+ 2d:66:22:eb:6a:0d:0e:f4:15:91:dd:9d:3e:92:db:
+ 9e:26:c8:af:4b:b7:fb:93:f8:68:07:c3:53:02:57:
+ dc:d0:de:df:29:72:45:6f:e3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 35:5C:C8:0F:21:D0:A2:F5:69:44:5C:9E:B0:DC:0F:75:74:24:7A:FD
+ X509v3 Authority Key Identifier:
+ keyid:A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: md2WithRSAEncryption
+ 87:d2:29:b3:6b:ba:36:99:ac:56:47:d8:7d:63:9e:74:a2:b5:
+ 42:5e:2b:96:08:f8:ab:e2:ce:ea:99:21:47:25:2c:55:f2:db:
+ 9d:d7:ed:d9:68:ba:09:90:b1:43:64:be:af:ef:9a:b4:10:86:
+ 99:85:7f:68:fe:aa:fd:d4:6a:f1:68:e9:8f:61:d8:46:21:e4:
+ 17:4c:89:db:82:37:36:8d:7f:93:4a:63:b1:da:ba:6b:19:ad:
+ 34:8b:f8:11:c3:25:14:2a:4e:7b:75:6b:03:79:c1:e5:1a:5b:
+ ff:b4:91:47:4f:48:91:68:33:c7:3e:a5:95:45:81:2b:0d:35:
+ 42:c4
+-----BEGIN CERTIFICATE-----
+MIICiDCCAfGgAwIBAgIBBDANBgkqhkiG9w0BAQIFADAxMS8wLQYDVQQDDCZUZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IEludGVybWVkaWF0ZSBDQTAeFw0xMTEwMjYwMzQ2
+NDlaFw0yMTEwMjMwMzQ2NDlaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxp
+Zm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENB
+MRIwEAYDVQQDDAkxMjcuMC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
+AMdI61wAF5QBCdO9R0E4dLhPy+rxFevL57Vsvf7Zl20eG+51nsFvSlyM1xnPUYlI
+6H15Qavjp3fR3vITvjbnRMIQ3VaDA/HN4RON/kXWGpjYjQi5MhA2DezuLWYi62oN
+DvQVkd2dPpLbnibIr0u3+5P4aAfDUwJX3NDe3ylyRW/jAgMBAAGjgYAwfjAMBgNV
+HRMBAf8EAjAAMB0GA1UdDgQWBBQ1XMgPIdCi9WlEXJ6w3A91dCR6/TAfBgNVHSME
+GDAWgBSoHQaNrT8lUQDwO+k1xmV0ElEgGTAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
+KwYBBQUHAwIwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQIFAAOBgQCH0imz
+a7o2maxWR9h9Y550orVCXiuWCPir4s7qmSFHJSxV8tud1+3ZaLoJkLFDZL6v75q0
+EIaZhX9o/qr91GrxaOmPYdhGIeQXTInbgjc2jX+TSmOx2rprGa00i/gRwyUUKk57
+dWsDecHlGlv/tJFHT0iRaDPHPqWVRYErDTVCxA==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md2_intermediate.pem b/chromium/net/data/ssl/certificates/weak_digest_md2_intermediate.pem
new file mode 100644
index 00000000000..2f2765d02c0
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md2_intermediate.pem
@@ -0,0 +1,57 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 4 (0x4)
+ Signature Algorithm: md2WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Root CA
+ Validity
+ Not Before: Oct 26 03:46:49 2011 GMT
+ Not After : Oct 23 03:46:49 2021 GMT
+ Subject: CN=Test Deprecated Digest Intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:ac:9b:c0:4b:fc:59:45:7a:d6:3f:a3:89:23:30:
+ 5b:70:ad:ab:78:62:4b:53:85:9f:f9:7d:7f:c1:26:
+ 08:23:80:61:0c:ba:6d:36:06:14:df:29:d4:9c:63:
+ 94:04:ee:14:b6:b9:81:06:2f:33:d8:35:9a:1a:89:
+ 17:ad:21:61:fa:24:75:b9:0c:ef:c1:15:6a:02:bd:
+ b2:a5:29:df:d8:5f:80:7c:4e:c9:c1:b4:bb:fd:78:
+ 44:63:34:b5:a5:51:aa:e9:23:77:44:53:f9:fa:58:
+ f6:46:6e:9d:d2:cd:00:a3:28:fe:51:e4:30:7e:49:
+ 62:d4:53:b0:d8:9c:34:47:07
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+ X509v3 Authority Key Identifier:
+ keyid:79:82:C5:B4:EB:60:12:4B:B5:87:79:1B:E2:3A:9C:17:76:81:CB:43
+
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: md2WithRSAEncryption
+ 95:17:b3:5f:81:5b:9e:d6:e9:de:67:0e:a7:01:2f:b7:f8:db:
+ 13:25:6b:a3:15:2d:53:08:c6:20:65:9d:8f:e9:9e:e4:bc:87:
+ 78:59:f6:1f:f4:0e:85:c7:a8:c6:c8:6d:65:7e:b9:f4:73:9b:
+ 9f:70:2b:b2:0d:03:06:c5:52:5f:59:87:b5:2b:d0:5c:0d:ee:
+ 8f:40:cd:eb:95:f2:0e:f4:51:a8:e8:76:17:82:71:1a:d1:ea:
+ 99:54:e4:b7:75:27:54:76:36:6f:c0:4d:5d:fa:bb:98:08:1e:
+ d4:95:d1:9a:c7:35:83:d5:a1:79:2a:1f:78:b4:2b:de:17:93:
+ 0c:1b
+-----BEGIN CERTIFICATE-----
+MIICMzCCAZygAwIBAgIBBDANBgkqhkiG9w0BAQIFADApMScwJQYDVQQDDB5UZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IFJvb3QgQ0EwHhcNMTExMDI2MDM0NjQ5WhcNMjEx
+MDIzMDM0NjQ5WjAxMS8wLQYDVQQDDCZUZXN0IERlcHJlY2F0ZWQgRGlnZXN0IElu
+dGVybWVkaWF0ZSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJvAS/xZ
+RXrWP6OJIzBbcK2reGJLU4Wf+X1/wSYII4BhDLptNgYU3ynUnGOUBO4UtrmBBi8z
+2DWaGokXrSFh+iR1uQzvwRVqAr2ypSnf2F+AfE7JwbS7/XhEYzS1pVGq6SN3RFP5
++lj2Rm6d0s0Aoyj+UeQwfkli1FOw2Jw0RwcCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUqB0Gja0/JVEA8DvpNcZldBJRIBkwHwYDVR0jBBgwFoAU
+eYLFtOtgEku1h3kb4jqcF3aBy0MwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+AgUAA4GBAJUXs1+BW57W6d5nDqcBL7f42xMla6MVLVMIxiBlnY/pnuS8h3hZ9h/0
+DoXHqMbIbWV+ufRzm59wK7INAwbFUl9Zh7Ur0FwN7o9AzeuV8g70UajodheCcRrR
+6plU5Ld1J1R2Nm/ATV36u5gIHtSV0ZrHNYPVoXkqH3i0K94Xkwwb
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md2_root.pem b/chromium/net/data/ssl/certificates/weak_digest_md2_root.pem
new file mode 100644
index 00000000000..140174d0326
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md2_root.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICEjCCAXugAwIBAgIJAMq0TW/f2gFbMA0GCSqGSIb3DQEBAgUAMCkxJzAlBgNV
+BAMMHlRlc3QgRGVwcmVjYXRlZCBEaWdlc3QgUm9vdCBDQTAeFw0xMTEwMjYwMzQ2
+NDlaFw0yMTEwMjMwMzQ2NDlaMCkxJzAlBgNVBAMMHlRlc3QgRGVwcmVjYXRlZCBE
+aWdlc3QgUm9vdCBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwFtzW+hj
+BwMylx+rrgeKjltrzYabuJDdTDTYr1lViwO39m6CtHYdcFvZ1nU9oDjW4Lb1NQYv
+HoR8+SD0X1R2Y0yF6AyS9NX5E9TQ8TJUSQEehfznbBovMkRaQQMRD6ksRIQr+s00
+P6n0lAYJyN32lmTCbJ+k1aGHPFtKhTNQF/cCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHmCxbTrYBJLtYd5G+I6nBd2
+gctDMA0GCSqGSIb3DQEBAgUAA4GBABnPJVnXJXtImcjcBj31JelbPkLgt8HHjxa+
+LOMNZKIc9d6KWdjMoTNz7Y9dAKiLAJmPp9QAKU4cu0voWRK27O8CjR9Ng7SpfuZ7
+bQ4P22TlcVViAq56+bz/DFRabwBAZtndoawyn04r4Lo/3n/nEONeVTIqsixjN5Au
+0snKiMJj
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md4_ee.pem b/chromium/net/data/ssl/certificates/weak_digest_md4_ee.pem
new file mode 100644
index 00000000000..6ea4b257d5c
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md4_ee.pem
@@ -0,0 +1,61 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 3 (0x3)
+ Signature Algorithm: md4WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Intermediate CA
+ Validity
+ Not Before: Oct 26 03:46:49 2011 GMT
+ Not After : Oct 23 03:46:49 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c7:48:eb:5c:00:17:94:01:09:d3:bd:47:41:38:
+ 74:b8:4f:cb:ea:f1:15:eb:cb:e7:b5:6c:bd:fe:d9:
+ 97:6d:1e:1b:ee:75:9e:c1:6f:4a:5c:8c:d7:19:cf:
+ 51:89:48:e8:7d:79:41:ab:e3:a7:77:d1:de:f2:13:
+ be:36:e7:44:c2:10:dd:56:83:03:f1:cd:e1:13:8d:
+ fe:45:d6:1a:98:d8:8d:08:b9:32:10:36:0d:ec:ee:
+ 2d:66:22:eb:6a:0d:0e:f4:15:91:dd:9d:3e:92:db:
+ 9e:26:c8:af:4b:b7:fb:93:f8:68:07:c3:53:02:57:
+ dc:d0:de:df:29:72:45:6f:e3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 35:5C:C8:0F:21:D0:A2:F5:69:44:5C:9E:B0:DC:0F:75:74:24:7A:FD
+ X509v3 Authority Key Identifier:
+ keyid:A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: md4WithRSAEncryption
+ a5:f6:ae:83:a1:44:5a:dd:c4:91:a2:d6:88:d8:c6:d1:e5:6d:
+ c8:71:7a:43:3e:e2:ce:42:a4:7d:94:16:5d:0a:df:33:e3:ea:
+ c9:22:e3:52:9d:f7:72:3e:24:d5:78:38:67:9f:2d:46:cb:73:
+ c5:1f:eb:4b:02:5c:25:41:e0:c5:07:03:4c:4c:55:87:db:32:
+ d0:2e:3e:aa:d4:a6:69:75:12:75:2e:b6:98:24:0e:18:c4:1c:
+ 60:aa:c5:19:c1:1c:ad:ba:f4:c8:c0:55:2b:61:7d:a4:f4:c6:
+ 73:0d:61:7e:04:42:e2:69:8d:9c:9d:83:22:e4:cc:cc:3f:b5:
+ 2a:6d
+-----BEGIN CERTIFICATE-----
+MIICiDCCAfGgAwIBAgIBAzANBgkqhkiG9w0BAQMFADAxMS8wLQYDVQQDDCZUZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IEludGVybWVkaWF0ZSBDQTAeFw0xMTEwMjYwMzQ2
+NDlaFw0yMTEwMjMwMzQ2NDlaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxp
+Zm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENB
+MRIwEAYDVQQDDAkxMjcuMC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
+AMdI61wAF5QBCdO9R0E4dLhPy+rxFevL57Vsvf7Zl20eG+51nsFvSlyM1xnPUYlI
+6H15Qavjp3fR3vITvjbnRMIQ3VaDA/HN4RON/kXWGpjYjQi5MhA2DezuLWYi62oN
+DvQVkd2dPpLbnibIr0u3+5P4aAfDUwJX3NDe3ylyRW/jAgMBAAGjgYAwfjAMBgNV
+HRMBAf8EAjAAMB0GA1UdDgQWBBQ1XMgPIdCi9WlEXJ6w3A91dCR6/TAfBgNVHSME
+GDAWgBSoHQaNrT8lUQDwO+k1xmV0ElEgGTAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
+KwYBBQUHAwIwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQMFAAOBgQCl9q6D
+oURa3cSRotaI2MbR5W3IcXpDPuLOQqR9lBZdCt8z4+rJIuNSnfdyPiTVeDhnny1G
+y3PFH+tLAlwlQeDFBwNMTFWH2zLQLj6q1KZpdRJ1LraYJA4YxBxgqsUZwRytuvTI
+wFUrYX2k9MZzDWF+BELiaY2cnYMi5MzMP7UqbQ==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md4_intermediate.pem b/chromium/net/data/ssl/certificates/weak_digest_md4_intermediate.pem
new file mode 100644
index 00000000000..2ba01dd82cf
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md4_intermediate.pem
@@ -0,0 +1,57 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 3 (0x3)
+ Signature Algorithm: md4WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Root CA
+ Validity
+ Not Before: Oct 26 03:46:49 2011 GMT
+ Not After : Oct 23 03:46:49 2021 GMT
+ Subject: CN=Test Deprecated Digest Intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:ac:9b:c0:4b:fc:59:45:7a:d6:3f:a3:89:23:30:
+ 5b:70:ad:ab:78:62:4b:53:85:9f:f9:7d:7f:c1:26:
+ 08:23:80:61:0c:ba:6d:36:06:14:df:29:d4:9c:63:
+ 94:04:ee:14:b6:b9:81:06:2f:33:d8:35:9a:1a:89:
+ 17:ad:21:61:fa:24:75:b9:0c:ef:c1:15:6a:02:bd:
+ b2:a5:29:df:d8:5f:80:7c:4e:c9:c1:b4:bb:fd:78:
+ 44:63:34:b5:a5:51:aa:e9:23:77:44:53:f9:fa:58:
+ f6:46:6e:9d:d2:cd:00:a3:28:fe:51:e4:30:7e:49:
+ 62:d4:53:b0:d8:9c:34:47:07
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+ X509v3 Authority Key Identifier:
+ keyid:79:82:C5:B4:EB:60:12:4B:B5:87:79:1B:E2:3A:9C:17:76:81:CB:43
+
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: md4WithRSAEncryption
+ 7e:ca:14:3d:14:04:f4:a4:1a:cf:b5:c6:c7:c2:d3:e7:68:08:
+ 55:1f:fa:93:28:fa:34:aa:97:29:f7:31:6f:30:a4:25:bd:c5:
+ fe:28:3d:a9:92:b0:4f:ca:24:3f:7b:1a:16:2e:0d:08:73:8e:
+ ca:9f:50:da:e9:64:4f:bd:31:c4:72:89:98:8d:55:55:57:96:
+ 6a:e0:5e:00:12:07:8b:3a:30:06:9a:47:a5:94:39:74:a0:f7:
+ e1:00:48:2a:90:08:84:80:e3:6b:83:91:c6:74:d8:d9:c2:72:
+ c7:b9:6e:33:7f:38:46:c1:26:14:5c:1b:85:a3:aa:bb:72:a0:
+ 84:b2
+-----BEGIN CERTIFICATE-----
+MIICMzCCAZygAwIBAgIBAzANBgkqhkiG9w0BAQMFADApMScwJQYDVQQDDB5UZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IFJvb3QgQ0EwHhcNMTExMDI2MDM0NjQ5WhcNMjEx
+MDIzMDM0NjQ5WjAxMS8wLQYDVQQDDCZUZXN0IERlcHJlY2F0ZWQgRGlnZXN0IElu
+dGVybWVkaWF0ZSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJvAS/xZ
+RXrWP6OJIzBbcK2reGJLU4Wf+X1/wSYII4BhDLptNgYU3ynUnGOUBO4UtrmBBi8z
+2DWaGokXrSFh+iR1uQzvwRVqAr2ypSnf2F+AfE7JwbS7/XhEYzS1pVGq6SN3RFP5
++lj2Rm6d0s0Aoyj+UeQwfkli1FOw2Jw0RwcCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUqB0Gja0/JVEA8DvpNcZldBJRIBkwHwYDVR0jBBgwFoAU
+eYLFtOtgEku1h3kb4jqcF3aBy0MwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+AwUAA4GBAH7KFD0UBPSkGs+1xsfC0+doCFUf+pMo+jSqlyn3MW8wpCW9xf4oPamS
+sE/KJD97GhYuDQhzjsqfUNrpZE+9McRyiZiNVVVXlmrgXgASB4s6MAaaR6WUOXSg
+9+EASCqQCISA42uDkcZ02NnCcse5bjN/OEbBJhRcG4WjqrtyoISy
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md4_root.pem b/chromium/net/data/ssl/certificates/weak_digest_md4_root.pem
new file mode 100644
index 00000000000..4d5fc291aa0
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md4_root.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICEjCCAXugAwIBAgIJAPqB3U0Vl/N1MA0GCSqGSIb3DQEBAwUAMCkxJzAlBgNV
+BAMMHlRlc3QgRGVwcmVjYXRlZCBEaWdlc3QgUm9vdCBDQTAeFw0xMTEwMjYwMzQ2
+NDlaFw0yMTEwMjMwMzQ2NDlaMCkxJzAlBgNVBAMMHlRlc3QgRGVwcmVjYXRlZCBE
+aWdlc3QgUm9vdCBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwFtzW+hj
+BwMylx+rrgeKjltrzYabuJDdTDTYr1lViwO39m6CtHYdcFvZ1nU9oDjW4Lb1NQYv
+HoR8+SD0X1R2Y0yF6AyS9NX5E9TQ8TJUSQEehfznbBovMkRaQQMRD6ksRIQr+s00
+P6n0lAYJyN32lmTCbJ+k1aGHPFtKhTNQF/cCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHmCxbTrYBJLtYd5G+I6nBd2
+gctDMA0GCSqGSIb3DQEBAwUAA4GBAEvEn5YHixuMeYW3TpCVpyvNocToAlHiy5xt
+iXVN9V31w8X7I7vcUAgqWQYtB0qngQ28akmiY+yyfYkWB3H8B0DCr0STFCbMq0c6
+Ydt5pV3lBQpHUKZFvv5moVVWPXr0f0smZI26KGalHgxdrFJnnP4bp6VhYt8G3KFA
+h+nxg1RW
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md5_ee.pem b/chromium/net/data/ssl/certificates/weak_digest_md5_ee.pem
new file mode 100644
index 00000000000..c5a1eb4c5af
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md5_ee.pem
@@ -0,0 +1,61 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 2 (0x2)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Intermediate CA
+ Validity
+ Not Before: Oct 26 03:46:48 2011 GMT
+ Not After : Oct 23 03:46:48 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c7:48:eb:5c:00:17:94:01:09:d3:bd:47:41:38:
+ 74:b8:4f:cb:ea:f1:15:eb:cb:e7:b5:6c:bd:fe:d9:
+ 97:6d:1e:1b:ee:75:9e:c1:6f:4a:5c:8c:d7:19:cf:
+ 51:89:48:e8:7d:79:41:ab:e3:a7:77:d1:de:f2:13:
+ be:36:e7:44:c2:10:dd:56:83:03:f1:cd:e1:13:8d:
+ fe:45:d6:1a:98:d8:8d:08:b9:32:10:36:0d:ec:ee:
+ 2d:66:22:eb:6a:0d:0e:f4:15:91:dd:9d:3e:92:db:
+ 9e:26:c8:af:4b:b7:fb:93:f8:68:07:c3:53:02:57:
+ dc:d0:de:df:29:72:45:6f:e3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 35:5C:C8:0F:21:D0:A2:F5:69:44:5C:9E:B0:DC:0F:75:74:24:7A:FD
+ X509v3 Authority Key Identifier:
+ keyid:A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: md5WithRSAEncryption
+ 5c:36:ba:dd:8c:ae:4c:2d:00:32:d9:ed:4d:1d:4b:07:52:28:
+ 9c:16:18:3f:38:02:9d:d7:8e:16:e6:4b:2d:8c:84:cc:b1:90:
+ 6c:b4:42:55:56:7c:e6:ec:15:2b:90:0b:7e:89:08:15:5a:11:
+ 0e:5d:1b:a3:cc:81:79:1e:ea:96:82:75:d8:14:96:0f:17:a5:
+ cd:50:fd:50:f0:5b:7f:03:54:b3:e3:b5:66:03:c8:00:1d:61:
+ 36:f3:78:2d:07:82:61:0a:fd:d9:7c:8a:fe:cb:e1:09:df:fb:
+ b6:2f:09:7b:0b:62:d8:27:18:4e:6e:fe:92:1b:1a:2b:7d:56:
+ e0:87
+-----BEGIN CERTIFICATE-----
+MIICiDCCAfGgAwIBAgIBAjANBgkqhkiG9w0BAQQFADAxMS8wLQYDVQQDDCZUZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IEludGVybWVkaWF0ZSBDQTAeFw0xMTEwMjYwMzQ2
+NDhaFw0yMTEwMjMwMzQ2NDhaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxp
+Zm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENB
+MRIwEAYDVQQDDAkxMjcuMC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
+AMdI61wAF5QBCdO9R0E4dLhPy+rxFevL57Vsvf7Zl20eG+51nsFvSlyM1xnPUYlI
+6H15Qavjp3fR3vITvjbnRMIQ3VaDA/HN4RON/kXWGpjYjQi5MhA2DezuLWYi62oN
+DvQVkd2dPpLbnibIr0u3+5P4aAfDUwJX3NDe3ylyRW/jAgMBAAGjgYAwfjAMBgNV
+HRMBAf8EAjAAMB0GA1UdDgQWBBQ1XMgPIdCi9WlEXJ6w3A91dCR6/TAfBgNVHSME
+GDAWgBSoHQaNrT8lUQDwO+k1xmV0ElEgGTAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
+KwYBBQUHAwIwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQQFAAOBgQBcNrrd
+jK5MLQAy2e1NHUsHUiicFhg/OAKd144W5kstjITMsZBstEJVVnzm7BUrkAt+iQgV
+WhEOXRujzIF5HuqWgnXYFJYPF6XNUP1Q8Ft/A1Sz47VmA8gAHWE283gtB4JhCv3Z
+fIr+y+EJ3/u2Lwl7C2LYJxhObv6SGxorfVbghw==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md5_intermediate.pem b/chromium/net/data/ssl/certificates/weak_digest_md5_intermediate.pem
new file mode 100644
index 00000000000..6192ffe97a4
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md5_intermediate.pem
@@ -0,0 +1,57 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 2 (0x2)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Root CA
+ Validity
+ Not Before: Oct 26 03:46:48 2011 GMT
+ Not After : Oct 23 03:46:48 2021 GMT
+ Subject: CN=Test Deprecated Digest Intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:ac:9b:c0:4b:fc:59:45:7a:d6:3f:a3:89:23:30:
+ 5b:70:ad:ab:78:62:4b:53:85:9f:f9:7d:7f:c1:26:
+ 08:23:80:61:0c:ba:6d:36:06:14:df:29:d4:9c:63:
+ 94:04:ee:14:b6:b9:81:06:2f:33:d8:35:9a:1a:89:
+ 17:ad:21:61:fa:24:75:b9:0c:ef:c1:15:6a:02:bd:
+ b2:a5:29:df:d8:5f:80:7c:4e:c9:c1:b4:bb:fd:78:
+ 44:63:34:b5:a5:51:aa:e9:23:77:44:53:f9:fa:58:
+ f6:46:6e:9d:d2:cd:00:a3:28:fe:51:e4:30:7e:49:
+ 62:d4:53:b0:d8:9c:34:47:07
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+ X509v3 Authority Key Identifier:
+ keyid:79:82:C5:B4:EB:60:12:4B:B5:87:79:1B:E2:3A:9C:17:76:81:CB:43
+
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: md5WithRSAEncryption
+ a3:9d:4e:8b:42:7b:c2:3a:71:5c:7a:a9:ec:9b:da:04:a4:7d:
+ f2:53:ba:b5:97:97:21:ae:94:03:23:7e:75:0e:c7:cc:1f:57:
+ f2:76:ec:aa:bf:4f:2f:d1:2d:d2:3d:10:55:ce:a0:1c:93:b6:
+ 8a:b6:65:9b:67:7a:a6:2f:04:62:e9:31:69:f4:26:08:a3:41:
+ d0:11:3a:21:31:b6:32:5e:a0:4c:32:2d:ca:f8:a0:76:be:f2:
+ a1:bf:15:98:73:26:41:2d:d5:8e:63:e7:5e:ef:61:08:f0:9d:
+ fb:af:55:1e:37:9c:2a:13:f7:7e:ab:5c:f4:d5:f8:7c:a7:fb:
+ c0:42
+-----BEGIN CERTIFICATE-----
+MIICMzCCAZygAwIBAgIBAjANBgkqhkiG9w0BAQQFADApMScwJQYDVQQDDB5UZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IFJvb3QgQ0EwHhcNMTExMDI2MDM0NjQ4WhcNMjEx
+MDIzMDM0NjQ4WjAxMS8wLQYDVQQDDCZUZXN0IERlcHJlY2F0ZWQgRGlnZXN0IElu
+dGVybWVkaWF0ZSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJvAS/xZ
+RXrWP6OJIzBbcK2reGJLU4Wf+X1/wSYII4BhDLptNgYU3ynUnGOUBO4UtrmBBi8z
+2DWaGokXrSFh+iR1uQzvwRVqAr2ypSnf2F+AfE7JwbS7/XhEYzS1pVGq6SN3RFP5
++lj2Rm6d0s0Aoyj+UeQwfkli1FOw2Jw0RwcCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUqB0Gja0/JVEA8DvpNcZldBJRIBkwHwYDVR0jBBgwFoAU
+eYLFtOtgEku1h3kb4jqcF3aBy0MwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BAUAA4GBAKOdTotCe8I6cVx6qeyb2gSkffJTurWXlyGulAMjfnUOx8wfV/J27Kq/
+Ty/RLdI9EFXOoByTtoq2ZZtneqYvBGLpMWn0JgijQdAROiExtjJeoEwyLcr4oHa+
+8qG/FZhzJkEt1Y5j517vYQjwnfuvVR43nCoT936rXPTV+Hyn+8BC
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_md5_root.pem b/chromium/net/data/ssl/certificates/weak_digest_md5_root.pem
new file mode 100644
index 00000000000..cea1d700466
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_md5_root.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICEjCCAXugAwIBAgIJANhsW8HvYIVtMA0GCSqGSIb3DQEBBAUAMCkxJzAlBgNV
+BAMMHlRlc3QgRGVwcmVjYXRlZCBEaWdlc3QgUm9vdCBDQTAeFw0xMTEwMjYwMzQ2
+NDhaFw0yMTEwMjMwMzQ2NDhaMCkxJzAlBgNVBAMMHlRlc3QgRGVwcmVjYXRlZCBE
+aWdlc3QgUm9vdCBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwFtzW+hj
+BwMylx+rrgeKjltrzYabuJDdTDTYr1lViwO39m6CtHYdcFvZ1nU9oDjW4Lb1NQYv
+HoR8+SD0X1R2Y0yF6AyS9NX5E9TQ8TJUSQEehfznbBovMkRaQQMRD6ksRIQr+s00
+P6n0lAYJyN32lmTCbJ+k1aGHPFtKhTNQF/cCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHmCxbTrYBJLtYd5G+I6nBd2
+gctDMA0GCSqGSIb3DQEBBAUAA4GBAC1qyqlaaPzmY78GXsw1MY2VbSNmGyRxWw3W
+dJVSkdKv8jeeZnVT6JaiHzmM0zQ9E8x0szILJlJ3r9CNKiuXgpCvbaWqiWwytFny
+8Mea/xS8FwIfPoxiOt/MdjvnfUWi1ukZaOy88rg5V7/mVdObTzu4VouD4qxhpdTa
+QRn7eFqR
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_sha1_ee.pem b/chromium/net/data/ssl/certificates/weak_digest_sha1_ee.pem
new file mode 100644
index 00000000000..5368e62c9c1
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_sha1_ee.pem
@@ -0,0 +1,61 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1 (0x1)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Intermediate CA
+ Validity
+ Not Before: Oct 26 03:46:48 2011 GMT
+ Not After : Oct 23 03:46:48 2021 GMT
+ Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c7:48:eb:5c:00:17:94:01:09:d3:bd:47:41:38:
+ 74:b8:4f:cb:ea:f1:15:eb:cb:e7:b5:6c:bd:fe:d9:
+ 97:6d:1e:1b:ee:75:9e:c1:6f:4a:5c:8c:d7:19:cf:
+ 51:89:48:e8:7d:79:41:ab:e3:a7:77:d1:de:f2:13:
+ be:36:e7:44:c2:10:dd:56:83:03:f1:cd:e1:13:8d:
+ fe:45:d6:1a:98:d8:8d:08:b9:32:10:36:0d:ec:ee:
+ 2d:66:22:eb:6a:0d:0e:f4:15:91:dd:9d:3e:92:db:
+ 9e:26:c8:af:4b:b7:fb:93:f8:68:07:c3:53:02:57:
+ dc:d0:de:df:29:72:45:6f:e3
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ 35:5C:C8:0F:21:D0:A2:F5:69:44:5C:9E:B0:DC:0F:75:74:24:7A:FD
+ X509v3 Authority Key Identifier:
+ keyid:A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication, TLS Web Client Authentication
+ X509v3 Subject Alternative Name:
+ IP Address:127.0.0.1
+ Signature Algorithm: sha1WithRSAEncryption
+ ab:a4:58:6a:d8:f4:87:00:11:45:23:ea:75:a9:0d:cd:87:73:
+ 0e:73:f2:97:d3:74:b0:cd:90:c9:45:83:03:c3:82:ee:2f:79:
+ 51:31:12:1c:39:a0:e2:45:f2:c2:4e:70:8c:e4:f3:af:15:4c:
+ be:5d:e7:c3:96:79:c8:a4:98:6d:37:8d:3f:9f:9e:89:32:ca:
+ a6:a7:e2:c8:f3:84:64:08:34:57:bd:10:22:96:78:39:b4:33:
+ dc:f2:db:83:ec:0c:20:58:ce:ba:98:44:dc:ca:a2:10:6c:5a:
+ d5:57:85:b9:3c:f0:48:99:98:e1:80:88:08:4c:cc:83:0d:40:
+ ff:8d
+-----BEGIN CERTIFICATE-----
+MIICiDCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQUFADAxMS8wLQYDVQQDDCZUZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IEludGVybWVkaWF0ZSBDQTAeFw0xMTEwMjYwMzQ2
+NDhaFw0yMTEwMjMwMzQ2NDhaMGAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxp
+Zm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdUZXN0IENB
+MRIwEAYDVQQDDAkxMjcuMC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
+AMdI61wAF5QBCdO9R0E4dLhPy+rxFevL57Vsvf7Zl20eG+51nsFvSlyM1xnPUYlI
+6H15Qavjp3fR3vITvjbnRMIQ3VaDA/HN4RON/kXWGpjYjQi5MhA2DezuLWYi62oN
+DvQVkd2dPpLbnibIr0u3+5P4aAfDUwJX3NDe3ylyRW/jAgMBAAGjgYAwfjAMBgNV
+HRMBAf8EAjAAMB0GA1UdDgQWBBQ1XMgPIdCi9WlEXJ6w3A91dCR6/TAfBgNVHSME
+GDAWgBSoHQaNrT8lUQDwO+k1xmV0ElEgGTAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
+KwYBBQUHAwIwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQUFAAOBgQCrpFhq
+2PSHABFFI+p1qQ3Nh3MOc/KX03SwzZDJRYMDw4LuL3lRMRIcOaDiRfLCTnCM5POv
+FUy+XefDlnnIpJhtN40/n56JMsqmp+LI84RkCDRXvRAilng5tDPc8tuD7AwgWM66
+mETcyqIQbFrVV4W5PPBImZjhgIgITMyDDUD/jQ==
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_sha1_intermediate.pem b/chromium/net/data/ssl/certificates/weak_digest_sha1_intermediate.pem
new file mode 100644
index 00000000000..478d116d4ce
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_sha1_intermediate.pem
@@ -0,0 +1,57 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1 (0x1)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: CN=Test Deprecated Digest Root CA
+ Validity
+ Not Before: Oct 26 03:46:48 2011 GMT
+ Not After : Oct 23 03:46:48 2021 GMT
+ Subject: CN=Test Deprecated Digest Intermediate CA
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:ac:9b:c0:4b:fc:59:45:7a:d6:3f:a3:89:23:30:
+ 5b:70:ad:ab:78:62:4b:53:85:9f:f9:7d:7f:c1:26:
+ 08:23:80:61:0c:ba:6d:36:06:14:df:29:d4:9c:63:
+ 94:04:ee:14:b6:b9:81:06:2f:33:d8:35:9a:1a:89:
+ 17:ad:21:61:fa:24:75:b9:0c:ef:c1:15:6a:02:bd:
+ b2:a5:29:df:d8:5f:80:7c:4e:c9:c1:b4:bb:fd:78:
+ 44:63:34:b5:a5:51:aa:e9:23:77:44:53:f9:fa:58:
+ f6:46:6e:9d:d2:cd:00:a3:28:fe:51:e4:30:7e:49:
+ 62:d4:53:b0:d8:9c:34:47:07
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ A8:1D:06:8D:AD:3F:25:51:00:F0:3B:E9:35:C6:65:74:12:51:20:19
+ X509v3 Authority Key Identifier:
+ keyid:79:82:C5:B4:EB:60:12:4B:B5:87:79:1B:E2:3A:9C:17:76:81:CB:43
+
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Signature Algorithm: sha1WithRSAEncryption
+ 4e:30:a8:25:da:ac:90:a9:5e:6c:23:7f:76:1e:2d:64:79:78:
+ 61:84:dc:06:12:43:72:a6:18:f1:f2:23:fa:e9:1f:de:3a:52:
+ 1c:ce:cd:f7:7e:3c:92:ce:7f:f3:1f:f5:bc:18:17:95:cb:57:
+ 34:f1:88:b1:c8:1f:51:e1:d3:3d:dd:17:c6:d4:af:f1:42:ec:
+ 85:d7:bf:16:22:e0:88:82:92:cc:94:89:e5:eb:9d:cc:fe:31:
+ 50:6f:ea:d8:70:f9:ef:6b:ca:3e:af:bd:61:42:33:ce:23:bf:
+ 50:5f:55:14:64:2b:f7:fd:a6:29:41:a8:65:c3:fa:c4:f0:c7:
+ 71:a5
+-----BEGIN CERTIFICATE-----
+MIICMzCCAZygAwIBAgIBATANBgkqhkiG9w0BAQUFADApMScwJQYDVQQDDB5UZXN0
+IERlcHJlY2F0ZWQgRGlnZXN0IFJvb3QgQ0EwHhcNMTExMDI2MDM0NjQ4WhcNMjEx
+MDIzMDM0NjQ4WjAxMS8wLQYDVQQDDCZUZXN0IERlcHJlY2F0ZWQgRGlnZXN0IElu
+dGVybWVkaWF0ZSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJvAS/xZ
+RXrWP6OJIzBbcK2reGJLU4Wf+X1/wSYII4BhDLptNgYU3ynUnGOUBO4UtrmBBi8z
+2DWaGokXrSFh+iR1uQzvwRVqAr2ypSnf2F+AfE7JwbS7/XhEYzS1pVGq6SN3RFP5
++lj2Rm6d0s0Aoyj+UeQwfkli1FOw2Jw0RwcCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUqB0Gja0/JVEA8DvpNcZldBJRIBkwHwYDVR0jBBgwFoAU
+eYLFtOtgEku1h3kb4jqcF3aBy0MwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BQUAA4GBAE4wqCXarJCpXmwjf3YeLWR5eGGE3AYSQ3KmGPHyI/rpH946UhzOzfd+
+PJLOf/Mf9bwYF5XLVzTxiLHIH1Hh0z3dF8bUr/FC7IXXvxYi4IiCksyUieXrncz+
+MVBv6thw+e9ryj6vvWFCM84jv1BfVRRkK/f9pilBqGXD+sTwx3Gl
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/weak_digest_sha1_root.pem b/chromium/net/data/ssl/certificates/weak_digest_sha1_root.pem
new file mode 100644
index 00000000000..a10f00911fa
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/weak_digest_sha1_root.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICEjCCAXugAwIBAgIJAOojr7l1i8pcMA0GCSqGSIb3DQEBBQUAMCkxJzAlBgNV
+BAMMHlRlc3QgRGVwcmVjYXRlZCBEaWdlc3QgUm9vdCBDQTAeFw0xMTEwMjYwMzQ2
+NDhaFw0yMTEwMjMwMzQ2NDhaMCkxJzAlBgNVBAMMHlRlc3QgRGVwcmVjYXRlZCBE
+aWdlc3QgUm9vdCBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwFtzW+hj
+BwMylx+rrgeKjltrzYabuJDdTDTYr1lViwO39m6CtHYdcFvZ1nU9oDjW4Lb1NQYv
+HoR8+SD0X1R2Y0yF6AyS9NX5E9TQ8TJUSQEehfznbBovMkRaQQMRD6ksRIQr+s00
+P6n0lAYJyN32lmTCbJ+k1aGHPFtKhTNQF/cCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHmCxbTrYBJLtYd5G+I6nBd2
+gctDMA0GCSqGSIb3DQEBBQUAA4GBAFfvM72mFeBd4HfP/U0HTmeQsPTorL01BRGe
+kIbHSBfliYF5fTXbHHjXqvnmNvCwfjO1+HyCxg3opwmDS5DiwkT2XtqYeF80h8/X
+J+hsdo+wJJiD0G8V3wOkBjlS5N3WaH3vhPikLkvmr2UzeeO3ORaaDUlRpzzOS2Pn
+28TAE0Wq
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/websocket_cacert.pem b/chromium/net/data/ssl/certificates/websocket_cacert.pem
new file mode 100644
index 00000000000..50c5baa37dd
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/websocket_cacert.pem
@@ -0,0 +1,61 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ 94:72:cf:87:d6:a3:b4:82
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=JP, ST=Tokyo, O=pywebsocket, CN=pywebsocket
+ Validity
+ Not Before: Oct 16 04:53:09 2012 GMT
+ Not After : Apr 29 04:53:09 2033 GMT
+ Subject: C=JP, ST=Tokyo, O=pywebsocket, CN=pywebsocket
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:d8:f9:57:61:4a:d3:22:96:91:79:c5:1b:fa:43:
+ e1:f6:ac:ef:16:ca:5e:a3:b2:9e:11:3c:c7:bc:f7:
+ e3:86:2f:ef:1b:52:a0:86:79:b0:0e:89:b3:8b:f1:
+ 54:98:7c:b8:18:44:d5:0b:26:da:b7:31:de:9e:f1:
+ ba:01:99:f8:b1:e9:5c:aa:d9:ea:7f:46:6f:2d:03:
+ 8d:64:bb:e4:bc:c2:61:9b:47:bc:56:d1:aa:d1:b4:
+ e8:7c:7b:ad:83:c8:48:ef:56:c5:cf:01:22:56:75:
+ 48:07:a3:15:82:32:59:08:44:d1:eb:04:ea:02:34:
+ 22:7b:2b:41:6f:14:03:4e:07
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ 33:BB:11:3D:8D:AF:1C:27:2B:F6:67:36:A7:53:4E:49:94:22:17:EB
+ X509v3 Authority Key Identifier:
+ keyid:33:BB:11:3D:8D:AF:1C:27:2B:F6:67:36:A7:53:4E:49:94:22:17:EB
+ DirName:/C=JP/ST=Tokyo/O=pywebsocket/CN=pywebsocket
+ serial:94:72:CF:87:D6:A3:B4:82
+
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ 4f:be:f4:12:fe:89:ff:bb:3b:1b:f3:78:6a:8b:ae:9c:da:31:
+ f0:76:b9:22:19:8d:4c:89:be:59:97:ff:0f:9f:0d:74:88:e2:
+ ca:4d:b2:d7:8e:9f:1d:3e:86:9d:40:84:fe:1a:57:53:ba:4b:
+ 35:91:f4:49:ba:16:3f:a1:bf:b1:a3:d8:55:f6:4d:5c:a7:2a:
+ 2d:e0:e1:ca:2b:44:67:c4:33:4f:31:0b:8d:3e:83:99:79:d1:
+ e3:50:4d:30:ab:29:d7:46:83:07:b5:9a:84:e5:3d:cb:92:05:
+ 49:93:2d:4e:92:a6:4b:a3:af:24:03:42:82:c6:26:76:f7:91:
+ c9:02
+-----BEGIN CERTIFICATE-----
+MIICvDCCAiWgAwIBAgIJAJRyz4fWo7SCMA0GCSqGSIb3DQEBBQUAMEkxCzAJBgNV
+BAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzEUMBIGA1UEChMLcHl3ZWJzb2NrZXQxFDAS
+BgNVBAMTC3B5d2Vic29ja2V0MB4XDTEyMTAxNjA0NTMwOVoXDTMzMDQyOTA0NTMw
+OVowSTELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBVRva3lvMRQwEgYDVQQKEwtweXdl
+YnNvY2tldDEUMBIGA1UEAxMLcHl3ZWJzb2NrZXQwgZ8wDQYJKoZIhvcNAQEBBQAD
+gY0AMIGJAoGBANj5V2FK0yKWkXnFG/pD4fas7xbKXqOynhE8x7z344Yv7xtSoIZ5
+sA6Js4vxVJh8uBhE1Qsm2rcx3p7xugGZ+LHpXKrZ6n9Gby0DjWS75LzCYZtHvFbR
+qtG06Hx7rYPISO9Wxc8BIlZ1SAejFYIyWQhE0esE6gI0InsrQW8UA04HAgMBAAGj
+gaswgagwHQYDVR0OBBYEFDO7ET2NrxwnK/ZnNqdTTkmUIhfrMHkGA1UdIwRyMHCA
+FDO7ET2NrxwnK/ZnNqdTTkmUIhfroU2kSzBJMQswCQYDVQQGEwJKUDEOMAwGA1UE
+CBMFVG9reW8xFDASBgNVBAoTC3B5d2Vic29ja2V0MRQwEgYDVQQDEwtweXdlYnNv
+Y2tldIIJAJRyz4fWo7SCMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEA
+T770Ev6J/7s7G/N4aouunNox8Ha5IhmNTIm+WZf/D58NdIjiyk2y146fHT6GnUCE
+/hpXU7pLNZH0SboWP6G/saPYVfZNXKcqLeDhyitEZ8QzTzELjT6DmXnR41BNMKsp
+10aDB7WahOU9y5IFSZMtTpKmS6OvJANCgsYmdveRyQI=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/certificates/websocket_client_cert.p12 b/chromium/net/data/ssl/certificates/websocket_client_cert.p12
new file mode 100644
index 00000000000..1ec70b23318
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/websocket_client_cert.p12
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/www_us_army_mil_cert.der b/chromium/net/data/ssl/certificates/www_us_army_mil_cert.der
new file mode 100644
index 00000000000..bee38ff7b42
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/www_us_army_mil_cert.der
Binary files differ
diff --git a/chromium/net/data/ssl/certificates/x509_verify_results.chain.pem b/chromium/net/data/ssl/certificates/x509_verify_results.chain.pem
new file mode 100644
index 00000000000..11c3187ab36
--- /dev/null
+++ b/chromium/net/data/ssl/certificates/x509_verify_results.chain.pem
@@ -0,0 +1,50 @@
+-----BEGIN CERTIFICATE-----
+MIICwjCCAiugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4G
+A1UECgwHVGVzdCBDQTEdMBsGA1UEAwwUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwHhcN
+MTEwNDE4MDA1MzE4WhcNMjAxMTE2MDA1MzE4WjBgMQswCQYDVQQGEwJVUzETMBEG
+A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4GA1UE
+CgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3LjAuMC4xMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCmXYTWf2ivhIc3uf3qdg8u9c8EobXlXHSGq2iYJBedlGwyFUa1
+lijbi4OhP53pVv/gP9rZJXKACWDI4ZryAa2La1CiTAgesewzPIIVzrJ2KaNUFpvO
+e7YLZVqa0AnMNv1LNVp8eT05rcvN0XxFqvOdaFASBKnjOTqdvdkLtqwYawIDAQAB
+o4GAMH4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUhEM3aeclNoZ1e/vksAaYOkCW
+txUwHwYDVR0jBBgwFoAUlJpwHgPeLEqeOAaz6Y7gch7YeCgwHQYDVR0lBBYwFAYI
+KwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEF
+BQADgYEAFMILenxcrqHu6+a77HDjZQ1TUHZcVnokdhbCR8n+jxO+QdrQcJuu9VPa
+0XpYR+x5VzN26Tbf88jGyCGEkDrtr7sBsw+YzUvDx18Rl9SfE4jFNuvNRCY+/oMH
+eq4v35gB0tHOH2As3QGywnp2zEAA8eVMJzSFHS18WR/vBUGpvzo=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICpzCCAhCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4G
+A1UECgwHVGVzdCBDQTEVMBMGA1UEAwwMVGVzdCBSb290IENBMB4XDTExMDQxNzIy
+MjU1OFoXDTIxMDIyMzIyMjU1OFowazELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNh
+bGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB1Rlc3Qg
+Q0ExHTAbBgNVBAMMFFRlc3QgSW50ZXJtZWRpYXRlIENBMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQCdrVeFppenZ20T6f76yHp+qIOuWpA9ojNKJW+p93kY/2wC
+bUxVndJ+YYQ2/HGHURRGwBs/1yYCaeyCeVF3Ckr3Ei65fDAHqZFpZ/IsjUT9eRBO
+BODSaKFfvCF7Iv+521PZq5QaIPZOA99CaL5nqlEUbtas+4ziEg76Ngc2KxII1QID
+AQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSUmnAeA94sSp44BrPp
+juByHth4KDAfBgNVHSMEGDAWgBRqsJiqdonmw+gkmvYOysT9lJgj2zAOBgNVHQ8B
+Af8EBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAzGgopGXKvuBlz04KEFMu46fUrxYe
+O6B6csR7Rt7elDvIMu2+rdkaP9Ccv0PqtXv4DRFCxdrG8+LhL3B4SofYxCqTtq9e
+rNtFRIR5Xad07djNBshor9PjNeKHnrGc1rXesqCfILpg2fq/Qv1OM1yrpLjbcuM6
+eCG7aIfsh9LwP3o=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIChjCCAe+gAwIBAgIJAOa+aXDInZR1MA0GCSqGSIb3DQEBBQUAMGMxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBW
+aWV3MRAwDgYDVQQKDAdUZXN0IENBMRUwEwYDVQQDDAxUZXN0IFJvb3QgQ0EwHhcN
+MTEwNDE3MjIzMTEzWhcNMjEwNDE0MjIzMTEzWjBjMQswCQYDVQQGEwJVUzETMBEG
+A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4GA1UE
+CgwHVGVzdCBDQTEVMBMGA1UEAwwMVGVzdCBSb290IENBMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQD0pusirvvLaxBXtAu7kE9X7q4K/iOjIQIBNIbGdKtPDZus
+9I7SCNa3ZWcvTKTOp1biFCuXLJ404cxSOqo6YB7s4hcyHVEMz+EHhxHUYQmmZb0P
+12QwWVteJd2MZvkwupPeaNJhlyR0Vf51m9kpPVuFLrMb4Smvgcx9jbwOut1ACwID
+AQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4E
+FgQUarCYqnaJ5sPoJJr2DsrE/ZSYI9swDQYJKoZIhvcNAQEFBQADgYEAck/rD/Vy
+vD53HXph/Bc7+qo9t3Nmyy9rbgl0dQq9h5+6Ria4Btw3Uj8iaQZTeyyFvGP0NHR2
+ek2hgX7fDwD3fRKEJus4shs16BzuSCBmYKw/G5PehEC9trIly52pMuUGphczbpzp
+6RdYOT3pG713l25Kt436hDnCoonwUqB6mhs=
+-----END CERTIFICATE-----
diff --git a/chromium/net/data/ssl/scripts/aia-test.cnf b/chromium/net/data/ssl/scripts/aia-test.cnf
new file mode 100644
index 00000000000..f89d68a8842
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/aia-test.cnf
@@ -0,0 +1,55 @@
+CA_DIR=out
+CA_NAME=aia-test-root
+AIA_URL=http://aia-test.invalid
+
+[ca]
+default_ca = CA_root
+preserve = yes
+
+[CA_root]
+dir = ${ENV::CA_DIR}
+key_size = 2048
+algo = sha1
+database = $dir/${ENV::CA_NAME}-index.txt
+new_certs_dir = $dir
+serial = $dir/${ENV::CA_NAME}-serial
+certificate = $dir/${ENV::CA_NAME}.pem
+private_key = $dir/${ENV::CA_NAME}.key
+RANDFILE = $dir/.rand
+default_days = 3650
+default_crl_days = 30
+default_md = sha1
+policy = policy_anything
+unique_subject = no
+copy_extensions = copy
+
+[user_cert]
+basicConstraints = critical, CA:false
+extendedKeyUsage = serverAuth, clientAuth
+authorityInfoAccess = caIssuers;URI:${ENV::AIA_URL}
+
+[ca_cert]
+basicConstraints = critical, CA:true
+keyUsage = critical, keyCertSign, cRLSign
+
+[policy_anything]
+# Default signing policy
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = optional
+emailAddress = optional
+
+[req]
+default_bits = 2048
+default_md = sha1
+string_mask = utf8only
+prompt = no
+encrypt_key = no
+distinguished_name = req_env_dn
+
+[req_env_dn]
+CN = ${ENV::CA_COMMON_NAME}
+
diff --git a/chromium/net/data/ssl/scripts/ca.cnf b/chromium/net/data/ssl/scripts/ca.cnf
new file mode 100644
index 00000000000..8a1d1e75f1e
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/ca.cnf
@@ -0,0 +1,93 @@
+# Defaults in the event they're not set in the environment
+CA_DIR = out
+KEY_SIZE = 2048
+ALGO = sha1
+CERT_TYPE = root
+CA_NAME = req_env_dn
+
+[ca]
+default_ca = CA_root
+preserve = yes
+
+# The default test root, used to generate certificates and CRLs.
+[CA_root]
+dir = $ENV::CA_DIR
+key_size = $ENV::KEY_SIZE
+algo = $ENV::ALGO
+cert_type = $ENV::CERT_TYPE
+type = $key_size-$algo-$cert_type
+database = $dir/$type-index.txt
+new_certs_dir = $dir
+serial = $dir/$type-serial
+certificate = $dir/$type.pem
+private_key = $dir/$type.key
+RANDFILE = $dir/.rand
+default_days = 3650
+default_crl_days = 30
+default_md = sha1
+policy = policy_anything
+unique_subject = no
+copy_extensions = copy
+
+[user_cert]
+# Extensions to add when signing a request for an EE cert
+basicConstraints = critical, CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+extendedKeyUsage = serverAuth,clientAuth
+
+[ca_cert]
+# Extensions to add when signing a request for an intermediate/CA cert
+basicConstraints = critical, CA:true
+subjectKeyIdentifier = hash
+#authorityKeyIdentifier = keyid:always
+keyUsage = critical, keyCertSign, cRLSign
+
+[crl_extensions]
+# Extensions to add when signing a CRL
+authorityKeyIdentifier = keyid:always
+
+[policy_anything]
+# Default signing policy
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = optional
+emailAddress = optional
+
+[req]
+# The request section used to generate the root CA certificate. This should
+# not be used to generate end-entity certificates. For certificates other
+# than the root CA, see README to find the appropriate configuration file
+# (ie: openssl_cert.cnf).
+default_bits = $ENV::KEY_SIZE
+default_md = sha1
+string_mask = utf8only
+prompt = no
+encrypt_key = no
+distinguished_name = $ENV::CA_NAME
+x509_extensions = req_ca_exts
+
+[req_ca_dn]
+C = US
+ST = California
+L = Mountain View
+O = Test CA
+CN = Test Root CA
+
+[req_intermediate_dn]
+C = US
+ST = California
+L = Mountain View
+O = Test CA
+CN = Test Intermediate CA
+
+[req_env_dn]
+CN = $ENV::CA_COMMON_NAME
+
+[req_ca_exts]
+basicConstraints = critical, CA:true
+keyUsage = critical, keyCertSign, cRLSign
+subjectKeyIdentifier = hash
diff --git a/chromium/net/data/ssl/scripts/client-certs.cnf b/chromium/net/data/ssl/scripts/client-certs.cnf
new file mode 100644
index 00000000000..1efa04a2983
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/client-certs.cnf
@@ -0,0 +1,51 @@
+ID=1
+CA_DIR=out
+
+[ca]
+default_ca = ca_settings
+preserve = yes
+
+[ca_settings]
+dir = ${ENV::CA_DIR}
+database = $dir/${ENV::ID}-index.txt
+new_certs_dir = $dir
+serial = $dir/${ENV::ID}-serial
+certificate = $dir/${ENV::ID}.pem
+private_key = $dir/${ENV::ID}.key
+RANDFILE = $dir/rand
+default_md = sha1
+default_days = 3650
+policy = policy_anything
+unique_subject = no
+copy_extensions = copy
+
+[policy_anything]
+# Default signing policy
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = optional
+emailAddress = optional
+
+[req]
+default_bits = 2048
+default_md = sha1
+string_mask = utf8only
+prompt = no
+encrypt_key = no
+distinguished_name = req_env_dn
+
+[user_cert]
+# Extensions to add when signing a request for an EE cert
+basicConstraints = critical, CA:false
+extendedKeyUsage = serverAuth,clientAuth
+
+[ca_cert]
+# Extensions to add when signing a request for an intermediate/CA cert
+basicConstraints = critical, CA:true
+keyUsage = critical, keyCertSign, cRLSign
+
+[req_env_dn]
+CN = ${ENV::COMMON_NAME}
diff --git a/chromium/net/data/ssl/scripts/ee.cnf b/chromium/net/data/ssl/scripts/ee.cnf
new file mode 100644
index 00000000000..ad786c80ca8
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/ee.cnf
@@ -0,0 +1,51 @@
+SUBJECT_NAME = req_dn
+KEY_SIZE = 2048
+
+[req]
+default_bits = ${ENV::KEY_SIZE}
+default_md = sha1
+string_mask = utf8only
+prompt = no
+encrypt_key = no
+distinguished_name = ${ENV::SUBJECT_NAME}
+req_extensions = req_extensions
+
+[req_dn]
+C = US
+ST = California
+L = Mountain View
+O = Test CA
+CN = 127.0.0.1
+
+[req_duplicate_cn_1]
+O = Foo
+CN = Duplicate
+
+[req_duplicate_cn_2]
+O = Bar
+CN = Duplicate
+
+[req_extensions]
+subjectAltName = IP:127.0.0.1
+
+[req_san_sanity]
+subjectAltName = @san_sanity
+
+[san_sanity]
+IP.1 = 127.0.0.2
+IP.2 = FE80::1
+DNS = test.example
+email = test@test.example
+otherName = 1.2.3.4;UTF8:ignore me
+dirName = more_san_sanity
+
+[req_spdy_pooling]
+subjectAltName = @spdy_pooling
+
+[more_san_sanity]
+CN=127.0.0.3
+
+[spdy_pooling]
+DNS.1 = www.example.org
+DNS.2 = mail.example.org
+DNS.3 = mail.example.com
diff --git a/chromium/net/data/ssl/scripts/eku-test.cnf b/chromium/net/data/ssl/scripts/eku-test.cnf
new file mode 100644
index 00000000000..7ced049f7f2
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/eku-test.cnf
@@ -0,0 +1,26 @@
+[req]
+default_bits = 2048
+default_md = sha1
+string_mask = utf8only
+prompt = no
+encrypt_key = no
+distinguished_name = req_dn
+
+[req_dn]
+C = US
+ST = California
+L = Mountain View
+O = Test CA
+CN = 127.0.0.1
+
+[crit-codeSigning]
+subjectAltName = IP:127.0.0.1
+basicConstraints = critical, CA:false
+subjectKeyIdentifier = hash
+extendedKeyUsage = critical, codeSigning
+
+[non-crit-codeSigning]
+subjectAltName = IP:127.0.0.1
+basicConstraints = critical, CA:false
+subjectKeyIdentifier = hash
+extendedKeyUsage = codeSigning
diff --git a/chromium/net/data/ssl/scripts/generate-aia-certs.sh b/chromium/net/data/ssl/scripts/generate-aia-certs.sh
new file mode 100755
index 00000000000..98b858e139a
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-aia-certs.sh
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates a set of test (end-entity, intermediate, root)
+# certificates that can be used to test fetching of an intermediate via AIA.
+
+try() {
+ echo "$@"
+ $@ || exit 1
+}
+
+try rm -rf out
+try mkdir out
+
+# Create the serial number files.
+try echo 1 > out/aia-test-root-serial
+try echo 1 > out/aia-test-intermediate-serial
+
+# Create the signers' DB files.
+touch out/aia-test-root-index.txt
+touch out/aia-test-intermediate-index.txt
+
+# Generate the keys
+try openssl genrsa -out out/aia-test-root.key 2048
+try openssl genrsa -out out/aia-test-intermediate.key 2048
+try openssl genrsa -out out/aia-test-cert.key 2048
+
+# Generate the root certificate
+CA_COMMON_NAME="AIA Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=aia-test-root \
+ try openssl req \
+ -new \
+ -key out/aia-test-root.key \
+ -out out/aia-test-root.csr \
+ -config aia-test.cnf
+
+CA_COMMON_NAME="AIA Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=aia-test-root \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/aia-test-root.csr \
+ -out out/aia-test-root.pem \
+ -signkey out/aia-test-root.key \
+ -extfile aia-test.cnf \
+ -extensions ca_cert
+
+# Generate the intermediate
+CA_COMMON_NAME="AIA Test Intermediate CA" \
+ CA_DIR=out \
+ CA_NAME=aia-test-root \
+ try openssl req \
+ -new \
+ -key out/aia-test-intermediate.key \
+ -out out/aia-test-intermediate.csr \
+ -config aia-test.cnf
+
+CA_COMMON_NAME="AIA Test Intermediate CA" \
+ CA_DIR=out \
+ CA_NAME=aia-test-root \
+ try openssl ca \
+ -batch \
+ -in out/aia-test-intermediate.csr \
+ -out out/aia-test-intermediate.pem \
+ -config aia-test.cnf \
+ -extensions ca_cert
+
+# Generate the leaf
+CA_COMMON_NAME="aia-host.invalid" \
+CA_DIR=out \
+CA_NAME=aia-test-intermediate \
+try openssl req \
+ -new \
+ -key out/aia-test-cert.key \
+ -out out/aia-test-cert.csr \
+ -config aia-test.cnf
+
+CA_COMMON_NAME="AIA Test Intermediate CA" \
+ CA_DIR=out \
+ CA_NAME=aia-test-intermediate \
+ AIA_URL=http://aia-test.invalid \
+ try openssl ca \
+ -batch \
+ -in out/aia-test-cert.csr \
+ -out out/aia-test-cert.pem \
+ -config aia-test.cnf \
+ -extensions user_cert
diff --git a/chromium/net/data/ssl/scripts/generate-android-test-keys.sh b/chromium/net/data/ssl/scripts/generate-android-test-keys.sh
new file mode 100755
index 00000000000..1c297e3a86f
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-android-test-keys.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+# Copyright (c) 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script is used to generate the test keys for the unit test in
+# android/keystore_unittest.c.
+#
+# These are test RSA / DSA / ECDSA private keys in PKCS#8 format, as well
+# as the corresponding DSA / ECDSA public keys.
+#
+
+# Exit script as soon a something fails.
+set -e
+
+mkdir -p out
+rm -rf out/*
+
+# Generate a single 2048-bits RSA private key in PKCS#8 format.
+KEY=android-test-key-rsa
+openssl genrsa \
+ -out out/$KEY.pem \
+ 2048
+
+# Generate a 2048-bits DSA private key in PKCS#8 format,
+# as well as its public key in X.509 DER format.
+KEY=android-test-key-dsa
+openssl dsaparam \
+ -out out/$KEY.param.pem \
+ 2048
+
+openssl gendsa \
+ -out out/$KEY.pem \
+ out/$KEY.param.pem
+
+openssl dsa \
+ -in out/$KEY.pem \
+ -outform PEM \
+ -out out/$KEY-public.pem \
+ -pubout
+
+rm out/$KEY.param.pem
+
+# Generate an ECDSA private key, in PKCS#8 format,
+# as well as its public key in X.509 DER format.
+KEY=android-test-key-ecdsa
+openssl ecparam -genkey -name prime256v1 -out out/$KEY.pem
+
+openssl ec \
+ -in out/$KEY.pem \
+ -outform PEM \
+ -out out/$KEY-public.pem \
+ -pubout
+
+# We're done here.
diff --git a/chromium/net/data/ssl/scripts/generate-bad-eku-certs.sh b/chromium/net/data/ssl/scripts/generate-bad-eku-certs.sh
new file mode 100755
index 00000000000..11e41d4da5a
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-bad-eku-certs.sh
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates a set of test (end-entity, root) certificate chains
+# whose EEs have (critical, non-critical) eKUs for codeSigning. We then try
+# to use them as EEs for a web server in unit tests, to make sure that we
+# don't accept such certs as web server certs.
+
+try () {
+ echo "$@"
+ $@ || exit 1
+}
+
+try rm -rf out
+try mkdir out
+
+eku_test_root="eku-test-root"
+
+# Create the serial number files.
+try echo 1 > out/$eku_test_root-serial
+
+# Make sure the signers' DB files exist.
+touch out/$eku_test_root-index.txt
+
+# Generate one root CA certificate.
+try openssl genrsa -out out/$eku_test_root.key 2048
+
+CA_COMMON_NAME="2048 RSA Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ try openssl req \
+ -new \
+ -key out/$eku_test_root.key \
+ -extensions ca_cert \
+ -out out/$eku_test_root.csr \
+ -config ca.cnf
+
+CA_COMMON_NAME="2048 RSA Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/$eku_test_root.csr \
+ -extensions ca_cert \
+ -signkey out/$eku_test_root.key \
+ -out out/$eku_test_root.pem
+
+# Generate EE certs.
+for cert_type in non-crit-codeSigning crit-codeSigning
+do
+ try openssl genrsa -out out/$cert_type.key 2048
+
+ try openssl req \
+ -new \
+ -key out/$cert_type.key \
+ -out out/$cert_type.csr \
+ -config eku-test.cnf \
+ -reqexts "$cert_type"
+
+ CA_COMMON_NAME="2048 rsa Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ try openssl ca \
+ -batch \
+ -in out/$cert_type.csr \
+ -out out/$cert_type.pem \
+ -config ca.cnf
+done
diff --git a/chromium/net/data/ssl/scripts/generate-client-certificates.sh b/chromium/net/data/ssl/scripts/generate-client-certificates.sh
new file mode 100755
index 00000000000..33782993036
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-client-certificates.sh
@@ -0,0 +1,163 @@
+#!/bin/bash
+
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates certificates that can be used to test SSL client
+# authentication. Outputs for automated tests are stored in
+# net/data/ssl/certificates, but may be re-generated for manual testing.
+#
+# This script generates two chains of test client certificates:
+#
+# 1. A (end-entity) -> B -> C (self-signed root)
+# 2. D (end-entity) -> E -> C (self-signed root)
+#
+# In which A, B, C, D, and E all have distinct keypairs. Both client
+# certificates share the same root, but are issued by different
+# intermediates. The names of these intermediates are hardcoded within
+# unit tests, and thus should not be changed.
+
+try () {
+ echo "$@"
+ $@ || exit 1
+}
+
+try rm -rf out
+try mkdir out
+
+echo Create the serial number files and indices.
+serial = 100
+for i in B C E
+do
+ try echo $serial > out/$i-serial
+ serial=$(expr $serial + 1)
+ touch out/$i-index.txt
+ touch out/$i-index.txt.attr
+done
+
+echo Generate the keys.
+for i in A B C D E
+do
+ try openssl genrsa -out out/$i.key 2048
+done
+
+echo Generate the C CSR
+COMMON_NAME="C Root CA" \
+ CA_DIR=out \
+ ID=C \
+ try openssl req \
+ -new \
+ -key out/C.key \
+ -out out/C.csr \
+ -config client-certs.cnf
+
+echo C signs itself.
+COMMON_NAME="C Root CA" \
+ CA_DIR=out \
+ ID=C \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/C.csr \
+ -extensions ca_cert \
+ -signkey out/C.key \
+ -out out/C.pem
+
+echo Generate the intermediates
+COMMON_NAME="B CA" \
+ CA_DIR=out \
+ ID=B \
+ try openssl req \
+ -new \
+ -key out/B.key \
+ -out out/B.csr \
+ -config client-certs.cnf
+
+COMMON_NAME="C CA" \
+ CA_DIR=out \
+ ID=C \
+ try openssl ca \
+ -batch \
+ -extensions ca_cert \
+ -in out/B.csr \
+ -out out/B.pem \
+ -config client-certs.cnf
+
+COMMON_NAME="E CA" \
+ CA_DIR=out \
+ ID=E \
+ try openssl req \
+ -new \
+ -key out/E.key \
+ -out out/E.csr \
+ -config client-certs.cnf
+
+COMMON_NAME="C CA" \
+ CA_DIR=out \
+ ID=C \
+ try openssl ca \
+ -batch \
+ -extensions ca_cert \
+ -in out/E.csr \
+ -out out/E.pem \
+ -config client-certs.cnf
+
+echo Generate the leaf certs
+for id in A D
+do
+ COMMON_NAME="Client Cert $id" \
+ ID=$id \
+ try openssl req \
+ -new \
+ -key out/$id.key \
+ -out out/$id.csr \
+ -config client-certs.cnf
+done
+
+echo B signs A
+COMMON_NAME="B CA" \
+ CA_DIR=out \
+ ID=B \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -in out/A.csr \
+ -out out/A.pem \
+ -config client-certs.cnf
+
+echo E signs D
+COMMON_NAME="E CA" \
+ CA_DIR=out \
+ ID=E \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -in out/D.csr \
+ -out out/D.pem \
+ -config client-certs.cnf
+
+echo Package the client certs and private keys into PKCS12 files
+# This is done for easily importing all of the certs needed for clients.
+cat out/A.pem out/A.key out/B.pem out/C.pem > out/A-chain.pem
+cat out/D.pem out/D.key out/E.pem out/C.pem > out/D-chain.pem
+
+try openssl pkcs12 \
+ -in out/A-chain.pem \
+ -out client_1.p12 \
+ -export \
+ -passout pass:chrome
+
+try openssl pkcs12 \
+ -in out/D-chain.pem \
+ -out client_2.p12 \
+ -export \
+ -passout pass:chrome
+
+echo Package the client certs for unit tests
+cp out/A.pem client_1.pem
+cp out/A.key client_1.key
+cp out/B.pem client_1_ca.pem
+
+cp out/D.pem client_2.pem
+cp out/D.key client_2.key
+cp out/E.pem client_2_ca.pem
diff --git a/chromium/net/data/ssl/scripts/generate-cross-signed-certs.sh b/chromium/net/data/ssl/scripts/generate-cross-signed-certs.sh
new file mode 100755
index 00000000000..a40ca74a082
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-cross-signed-certs.sh
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates a two roots - one legacy one signed with MD5, and
+# another (newer) one signed with SHA1 - and has a leaf certificate signed
+# by these without any distinguishers.
+#
+# The "cross-signed" comes from the fact that both the MD5 and SHA1 roots share
+# the same Authority Key ID, Subject Key ID, Subject, and Subject Public Key
+# Info. When the chain building algorithm is evaluating paths, if it prefers
+# untrusted over trusted, then it will see the MD5 certificate as a self-signed
+# cert that is "cross-signed" by the trusted SHA1 root.
+#
+# The SHA1 root should be (temporarily) trusted, and the resulting chain
+# should be leaf -> SHA1root, not leaf -> MD5root, leaf -> SHA1root -> MD5root,
+# or leaf -> MD5root -> SHA1root
+
+try() {
+ echo "$@"
+ $@ || exit 1
+}
+
+try rm -rf out
+try mkdir out
+
+try echo 1 > out/2048-sha1-root-serial
+try echo 2 > out/2048-md5-root-serial
+touch out/2048-sha1-root-index.txt
+touch out/2048-md5-root-index.txt
+
+# Generate the key
+try openssl genrsa -out out/2048-sha1-root.key 2048
+
+# Generate the root certificate
+CA_COMMON_NAME="Test Dup-Hash Root CA" \
+ try openssl req \
+ -new \
+ -key out/2048-sha1-root.key \
+ -out out/2048-sha1-root.req \
+ -config ca.cnf
+
+CA_COMMON_NAME="Test Dup-Hash Root CA" \
+ try openssl x509 \
+ -req -days 3650 \
+ -sha1 \
+ -in out/2048-sha1-root.req \
+ -out out/2048-sha1-root.pem \
+ -text \
+ -signkey out/2048-sha1-root.key \
+ -extfile ca.cnf \
+ -extensions ca_cert
+
+CA_COMMON_NAME="Test Dup-Hash Root CA" \
+ try openssl x509 \
+ -req -days 3650 \
+ -md5 \
+ -in out/2048-sha1-root.req \
+ -out out/2048-md5-root.pem \
+ -text \
+ -signkey out/2048-sha1-root.key \
+ -extfile ca.cnf \
+ -extensions ca_cert
+
+# Generate the leaf certificate request
+try openssl req \
+ -new \
+ -keyout out/ok_cert.key \
+ -out out/ok_cert.req \
+ -config ee.cnf
+
+# Generate the leaf certificates
+CA_COMMON_NAME="Test Dup-Hash Root CA" \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -days 3650 \
+ -in out/ok_cert.req \
+ -out out/ok_cert.pem \
+ -config ca.cnf
+
+try openssl x509 -text \
+ -in out/2048-md5-root.pem \
+ -out ../certificates/cross-signed-root-md5.pem
+try openssl x509 -text \
+ -in out/2048-sha1-root.pem \
+ -out ../certificates/cross-signed-root-sha1.pem
+try openssl x509 -text \
+ -in out/ok_cert.pem \
+ -out ../certificates/cross-signed-leaf.pem
diff --git a/chromium/net/data/ssl/scripts/generate-duplicate-cn-certs.sh b/chromium/net/data/ssl/scripts/generate-duplicate-cn-certs.sh
new file mode 100755
index 00000000000..8e48454342f
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-duplicate-cn-certs.sh
@@ -0,0 +1,132 @@
+#!/bin/sh
+
+# Copyright (c) 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates two chains of test certificates:
+# 1. A1 (end-entity) -> B (self-signed root)
+# 2. A2 (end-entity) -> B (self-signed root)
+#
+# In which A1 and A2 share the same key, the same subject common name, but have
+# distinct O values in their subjects.
+#
+# This is used to test that NSS can properly generate unique certificate
+# nicknames for both certificates.
+
+try () {
+ echo "$@"
+ $@ || exit 1
+}
+
+generate_key_command () {
+ case "$1" in
+ rsa)
+ echo genrsa
+ ;;
+ *)
+ exit 1
+ esac
+}
+
+try rm -rf out
+try mkdir out
+
+echo Create the serial number and index files.
+try echo 1 > out/B-serial
+try touch out/B-index.txt
+
+echo Generate the keys.
+try openssl genrsa -out out/A.key 2048
+try openssl genrsa -out out/B.key 2048
+
+echo Generate the B CSR.
+CA_COMMON_NAME="B Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ TYPE=B CERTIFICATE=B \
+ try openssl req \
+ -new \
+ -key out/B.key \
+ -out out/B.csr \
+ -config redundant-ca.cnf
+
+echo B signs itself.
+CA_COMMON_NAME="B Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/B.csr \
+ -extfile redundant-ca.cnf \
+ -extensions ca_cert \
+ -signkey out/B.key \
+ -out out/B.pem
+
+echo Generate the A1 end-entity CSR.
+SUBJECT_NAME=req_duplicate_cn_1 \
+ try openssl req \
+ -new \
+ -key out/A.key \
+ -out out/A1.csr \
+ -config ee.cnf
+
+echo Generate the A2 end-entity CSR
+SUBJECT_NAME=req_duplicate_cn_2 \
+ try openssl req \
+ -new \
+ -key out/A.key \
+ -out out/A2.csr \
+ -config ee.cnf
+
+
+echo B signs A1.
+CA_COMMON_NAME="B CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=sha1 \
+ CERT_TYPE=intermediate \
+ TYPE=B CERTIFICATE=B \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -in out/A1.csr \
+ -out out/A1.pem \
+ -config redundant-ca.cnf
+
+echo B signs A2.
+CA_COMMON_NAME="B CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=sha1 \
+ CERT_TYPE=intermediate \
+ TYPE=B CERTIFICATE=B \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -in out/A2.csr \
+ -out out/A2.pem \
+ -config redundant-ca.cnf
+
+echo Exporting the certificates to PKCS#12
+try openssl pkcs12 \
+ -export \
+ -inkey out/A.key \
+ -in out/A1.pem \
+ -out ../certificates/duplicate_cn_1.p12 \
+ -passout pass:chrome
+
+try openssl pkcs12 \
+ -export \
+ -inkey out/A.key \
+ -in out/A2.pem \
+ -out ../certificates/duplicate_cn_2.p12 \
+ -passout pass:chrome
+
+cp out/A1.pem ../certificates/duplicate_cn_1.pem
+cp out/A2.pem ../certificates/duplicate_cn_2.pem
diff --git a/chromium/net/data/ssl/scripts/generate-policy-certs.sh b/chromium/net/data/ssl/scripts/generate-policy-certs.sh
new file mode 100755
index 00000000000..4a6b35dc463
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-policy-certs.sh
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates a (end-entity, intermediate, root) certificate, where
+# the root has no explicit policies associated, the intermediate has multiple
+# policies, and the leaf has a single policy.
+#
+# When validating, supplying no policy OID should not result in an error.
+
+try() {
+ echo "$@"
+ $@ || exit 1
+}
+
+try rm -rf out
+try mkdir out
+
+# Create the serial number files.
+try echo 1 > out/policy-root-serial
+try echo 1 > out/policy-intermediate-serial
+
+# Create the signers' DB files.
+touch out/policy-root-index.txt
+touch out/policy-intermediate-index.txt
+
+# Generate the keys
+try openssl genrsa -out out/policy-root.key 2048
+try openssl genrsa -out out/policy-intermediate.key 2048
+try openssl genrsa -out out/policy-cert.key 2048
+
+# Generate the root certificate
+COMMON_NAME="Policy Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=policy-root \
+ try openssl req \
+ -new \
+ -key out/policy-root.key \
+ -out out/policy-root.csr \
+ -config policy.cnf
+
+COMMON_NAME="Policy Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=policy-root \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/policy-root.csr \
+ -out out/policy-root.pem \
+ -signkey out/policy-root.key \
+ -extfile policy.cnf \
+ -extensions ca_cert
+
+# Generate the intermediate
+COMMON_NAME="Policy Test Intermediate CA" \
+ CA_DIR=out \
+ try openssl req \
+ -new \
+ -key out/policy-intermediate.key \
+ -out out/policy-intermediate.csr \
+ -config policy.cnf
+
+COMMON_NAME="UNUSED" \
+ CA_DIR=out \
+ CA_NAME=policy-root \
+ try openssl ca \
+ -batch \
+ -in out/policy-intermediate.csr \
+ -out out/policy-intermediate.pem \
+ -config policy.cnf \
+ -extensions intermediate_cert
+
+# Generate the leaf
+COMMON_NAME="policy_test.example" \
+CA_DIR=out \
+CA_NAME=policy-intermediate \
+try openssl req \
+ -new \
+ -key out/policy-cert.key \
+ -out out/policy-cert.csr \
+ -config policy.cnf
+
+COMMON_NAME="Policy Test Intermediate CA" \
+ CA_DIR=out \
+ CA_NAME=policy-intermediate \
+ try openssl ca \
+ -batch \
+ -in out/policy-cert.csr \
+ -out out/policy-cert.pem \
+ -config policy.cnf \
+ -extensions user_cert
+
+cat out/policy-cert.pem \
+ out/policy-intermediate.pem \
+ out/policy-root.pem >../certificates/explicit-policy-chain.pem
diff --git a/chromium/net/data/ssl/scripts/generate-redundant-test-chains.sh b/chromium/net/data/ssl/scripts/generate-redundant-test-chains.sh
new file mode 100755
index 00000000000..58768e84963
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-redundant-test-chains.sh
@@ -0,0 +1,187 @@
+#!/bin/sh
+
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates two chains of test certificates:
+#
+# 1. A (end-entity) -> B -> C -> D (self-signed root)
+# 2. A (end-entity) -> B -> C2 (self-signed root)
+#
+# in which A, B, C, and D have distinct keypairs. C2 is a self-signed root
+# certificate that uses the same keypair as C.
+#
+# We use these cert chains in
+# SSLClientSocketTest.VerifyReturnChainProperlyOrdered to ensure that
+# SSLInfo objects see the certificate chain as validated rather than as
+# served by the server. The server serves chain 1. The client has C2, NOT D,
+# installed as a trusted root. Therefore, the chain will validate as chain
+# 2, even though the server served chain 1.
+
+try () {
+ echo "$@"
+ $@ || exit 1
+}
+
+generate_key_command () {
+ case "$1" in
+ rsa)
+ echo genrsa
+ ;;
+ *)
+ exit 1
+ esac
+}
+
+try rm -rf out
+try mkdir out
+
+echo Create the serial number files.
+serial=100
+for i in B C C2 D
+do
+ try echo $serial > out/$i-serial
+ serial=$(expr $serial + 1)
+done
+
+echo Generate the keys.
+try openssl genrsa -out out/A.key 2048
+try openssl genrsa -out out/B.key 2048
+try openssl genrsa -out out/C.key 2048
+try openssl genrsa -out out/D.key 2048
+
+echo Generate the D CSR.
+CA_COMMON_NAME="D Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ TYPE=D CERTIFICATE=D \
+ try openssl req \
+ -new \
+ -key out/D.key \
+ -out out/D.csr \
+ -config redundant-ca.cnf
+
+echo D signs itself.
+CA_COMMON_NAME="D Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/D.csr \
+ -extensions ca_cert \
+ -signkey out/D.key \
+ -out out/D.pem
+
+echo Generate the C2 root CSR.
+CA_COMMON_NAME="C CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ TYPE=C2 CERTIFICATE=C2 \
+ try openssl req \
+ -new \
+ -key out/C.key \
+ -out out/C2.csr \
+ -config redundant-ca.cnf
+
+echo C2 signs itself.
+CA_COMMON_NAME="C CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/C2.csr \
+ -extensions ca_cert \
+ -signkey out/C.key \
+ -out out/C2.pem
+
+echo Generate the B and C intermediaries\' CSRs.
+for i in B C
+do
+ name="$i Intermediate CA"
+ CA_COMMON_NAME="$i CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ TYPE=$i CERTIFICATE=$i \
+ try openssl req \
+ -new \
+ -key out/$i.key \
+ -out out/$i.csr \
+ -config redundant-ca.cnf
+done
+
+echo D signs the C intermediate.
+# Make sure the signer's DB file exists.
+touch out/D-index.txt
+CA_COMMON_NAME="D Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ TYPE=D CERTIFICATE=D \
+ try openssl ca \
+ -batch \
+ -extensions ca_cert \
+ -in out/C.csr \
+ -out out/C.pem \
+ -config redundant-ca.cnf
+
+echo C signs the B intermediate.
+touch out/C-index.txt
+CA_COMMON_NAME="C CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ TYPE=C CERTIFICATE=C \
+ try openssl ca \
+ -batch \
+ -extensions ca_cert \
+ -in out/B.csr \
+ -out out/B.pem \
+ -config redundant-ca.cnf
+
+echo Generate the A end-entity CSR.
+try openssl req \
+ -new \
+ -key out/A.key \
+ -out out/A.csr \
+ -config ee.cnf
+
+echo B signs A.
+touch out/B-index.txt
+CA_COMMON_NAME="B CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=$signer_key_size \
+ ALGO=$signer_algo \
+ CERT_TYPE=intermediate \
+ TYPE=B CERTIFICATE=B \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -in out/A.csr \
+ -out out/A.pem \
+ -config redundant-ca.cnf
+
+echo Create redundant-server-chain.pem
+cat out/A.key out/A.pem out/B.pem out/C.pem out/D.pem \
+ > redundant-server-chain.pem
+
+echo Create redundant-validated-chain.pem
+cat out/A.key out/A.pem out/B.pem out/C2.pem > redundant-validated-chain.pem
+
+echo Create redundant-validated-chain-root.pem
+cp out/C2.pem redundant-validated-chain-root.pem
+
diff --git a/chromium/net/data/ssl/scripts/generate-test-certs.sh b/chromium/net/data/ssl/scripts/generate-test-certs.sh
new file mode 100755
index 00000000000..9cff81072c6
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-test-certs.sh
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates a set of test (end-entity, intermediate, root)
+# certificates that can be used to test fetching of an intermediate via AIA.
+
+try() {
+ echo "$@"
+ $@ || exit 1
+}
+
+try rm -rf out
+try mkdir out
+
+try echo 1 > out/2048-sha1-root-serial
+touch out/2048-sha1-root-index.txt
+
+# Generate the key
+try openssl genrsa -out out/2048-sha1-root.key 2048
+
+# Generate the root certificate
+CA_COMMON_NAME="Test Root CA" \
+ try openssl req \
+ -new \
+ -key out/2048-sha1-root.key \
+ -out out/2048-sha1-root.req \
+ -config ca.cnf
+
+CA_COMMON_NAME="Test Root CA" \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/2048-sha1-root.req \
+ -out out/2048-sha1-root.pem \
+ -text \
+ -signkey out/2048-sha1-root.key \
+ -extfile ca.cnf \
+ -extensions ca_cert
+
+# Generate the leaf certificate requests
+try openssl req \
+ -new \
+ -keyout out/expired_cert.key \
+ -out out/expired_cert.req \
+ -config ee.cnf
+
+try openssl req \
+ -new \
+ -keyout out/ok_cert.key \
+ -out out/ok_cert.req \
+ -config ee.cnf
+
+# Generate the leaf certificates
+CA_COMMON_NAME="Test Root CA" \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -startdate 060101000000Z \
+ -enddate 070101000000Z \
+ -in out/expired_cert.req \
+ -out out/expired_cert.pem \
+ -config ca.cnf
+
+CA_COMMON_NAME="Test Root CA" \
+ try openssl ca \
+ -batch \
+ -extensions user_cert \
+ -days 3650 \
+ -in out/ok_cert.req \
+ -out out/ok_cert.pem \
+ -config ca.cnf
+
+cat out/ok_cert.key out/ok_cert.pem \
+ > ../certificates/ok_cert.pem
+cat out/expired_cert.key out/expired_cert.pem \
+ > ../certificates/expired_cert.pem
+cat out/2048-sha1-root.key out/2048-sha1-root.pem \
+ > ../certificates/root_ca_cert.pem
+
diff --git a/chromium/net/data/ssl/scripts/generate-weak-test-chains.sh b/chromium/net/data/ssl/scripts/generate-weak-test-chains.sh
new file mode 100755
index 00000000000..845c8ab60e3
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/generate-weak-test-chains.sh
@@ -0,0 +1,168 @@
+#!/bin/sh
+
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script generates a set of test (end-entity, intermediate, root)
+# certificates with (weak, strong), (RSA, DSA, ECDSA) key pairs.
+
+key_types="768-rsa 1024-rsa 2048-rsa prime256v1-ecdsa"
+
+try () {
+ echo "$@"
+ $@ || exit 1
+}
+
+generate_key_command () {
+ case "$1" in
+ dsa)
+ echo "dsaparam -genkey"
+ ;;
+ ecdsa)
+ echo "ecparam -genkey"
+ ;;
+ rsa)
+ echo genrsa
+ ;;
+ *)
+ exit 1
+ esac
+}
+
+try rm -rf out
+try mkdir out
+
+# Create the serial number files.
+try echo 1 > out/2048-rsa-root-serial
+for key_type in $key_types
+do
+ try echo 1 > out/$key_type-intermediate-serial
+done
+
+# Generate one root CA certificate.
+try openssl genrsa -out out/2048-rsa-root.key 2048
+
+CA_COMMON_NAME="2048 RSA Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ try openssl req \
+ -new \
+ -key out/2048-rsa-root.key \
+ -extensions ca_cert \
+ -out out/2048-rsa-root.csr \
+ -config ca.cnf
+
+CA_COMMON_NAME="2048 RSA Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ try openssl x509 \
+ -req -days 3650 \
+ -in out/2048-rsa-root.csr \
+ -extensions ca_cert \
+ -signkey out/2048-rsa-root.key \
+ -out out/2048-rsa-root.pem
+
+# Generate private keys of all types and strengths for intermediate CAs and
+# end-entities.
+for key_type in $key_types
+do
+ key_size=$(echo "$key_type" | sed -E 's/-.+//')
+ algo=$(echo "$key_type" | sed -E 's/.+-//')
+
+ if [ ecdsa = $algo ]
+ then
+ key_size="-name $key_size"
+ fi
+
+ try openssl $(generate_key_command $algo) \
+ -out out/$key_type-intermediate.key $key_size
+done
+
+for key_type in $key_types
+do
+ key_size=$(echo "$key_type" | sed -E 's/-.+//')
+ algo=$(echo "$key_type" | sed -E 's/.+-//')
+
+ if [ ecdsa = $algo ]
+ then
+ key_size="-name $key_size"
+ fi
+
+ for signer_key_type in $key_types
+ do
+ try openssl $(generate_key_command $algo) \
+ -out out/$key_type-ee-by-$signer_key_type-intermediate.key $key_size
+ done
+done
+
+# The root signs the intermediates.
+for key_type in $key_types
+do
+ key_size=$(echo "$key_type" | sed -E 's/-.+//')
+ algo=$(echo "$key_type" | sed -E 's/.+-//')
+
+ CA_COMMON_NAME="$key_size $algo Test intermediate CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=$key_size \
+ ALGO=$algo \
+ CERT_TYPE=intermediate \
+ try openssl req \
+ -new \
+ -key out/$key_type-intermediate.key \
+ -out out/$key_type-intermediate.csr \
+ -config ca.cnf
+
+ # Make sure the signer's DB file exists.
+ touch out/2048-rsa-root-index.txt
+
+ CA_COMMON_NAME="2048 RSA Test Root CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=2048 \
+ ALGO=rsa \
+ CERT_TYPE=root \
+ try openssl ca \
+ -batch \
+ -extensions ca_cert \
+ -in out/$key_type-intermediate.csr \
+ -out out/$key_type-intermediate.pem \
+ -config ca.cnf
+done
+
+# The intermediates sign the end-entities.
+for key_type in $key_types
+do
+ for signer_key_type in $key_types
+ do
+ key_size=$(echo "$key_type" | sed -E 's/-.+//')
+ algo=$(echo "$key_type" | sed -E 's/.+-//')
+ signer_key_size=$(echo "$signer_key_type" | sed -E 's/-.+//')
+ signer_algo=$(echo "$signer_key_type" | sed -E 's/.+-//')
+ touch out/$signer_key_type-intermediate-index.txt
+
+ KEY_SIZE=$key_size \
+ try openssl req \
+ -new \
+ -key out/$key_type-ee-by-$signer_key_type-intermediate.key \
+ -out out/$key_type-ee-by-$signer_key_type-intermediate.csr \
+ -config ee.cnf
+
+ CA_COMMON_NAME="$signer_key_size $algo Test intermediate CA" \
+ CA_DIR=out \
+ CA_NAME=req_env_dn \
+ KEY_SIZE=$signer_key_size \
+ ALGO=$signer_algo \
+ CERT_TYPE=intermediate \
+ try openssl ca \
+ -batch \
+ -in out/$key_type-ee-by-$signer_key_type-intermediate.csr \
+ -out out/$key_type-ee-by-$signer_key_type-intermediate.pem \
+ -config ca.cnf
+ done
+done
+
diff --git a/chromium/net/data/ssl/scripts/policy.cnf b/chromium/net/data/ssl/scripts/policy.cnf
new file mode 100644
index 00000000000..f5f1e0b1f17
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/policy.cnf
@@ -0,0 +1,60 @@
+CA_DIR=out
+CA_NAME=policy-root
+
+[ca]
+default_ca = CA_root
+preserve = yes
+
+[CA_root]
+dir = ${ENV::CA_DIR}
+key_size = 2048
+algo = sha1
+database = $dir/${ENV::CA_NAME}-index.txt
+new_certs_dir = $dir
+serial = $dir/${ENV::CA_NAME}-serial
+certificate = $dir/${ENV::CA_NAME}.pem
+private_key = $dir/${ENV::CA_NAME}.key
+RANDFILE = $dir/.rand
+default_days = 3650
+default_crl_days = 30
+default_md = sha1
+policy = policy_anything
+unique_subject = no
+copy_extensions = copy
+
+[user_cert]
+basicConstraints = critical, CA:false
+extendedKeyUsage = serverAuth, clientAuth
+certificatePolicies = 1.2.3.4
+
+[ca_cert]
+basicConstraints = critical, CA:true
+keyUsage = critical, digitalSignature, keyCertSign, cRLSign
+
+[intermediate_cert]
+basicConstraints = critical, CA:true
+keyUsage = critical, digitalSignature, keyCertSign, cRLSign
+policyConstraints = requireExplicitPolicy:0
+certificatePolicies = 1.2.3.4, 1.2.3.4.5, 1.2.3.5
+
+[policy_anything]
+# Default signing policy
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = optional
+emailAddress = optional
+
+[req]
+default_bits = 2048
+default_md = sha1
+string_mask = utf8only
+prompt = no
+encrypt_key = no
+distinguished_name = req_env_dn
+
+[req_env_dn]
+CN = ${ENV::COMMON_NAME}
+
diff --git a/chromium/net/data/ssl/scripts/redundant-ca.cnf b/chromium/net/data/ssl/scripts/redundant-ca.cnf
new file mode 100644
index 00000000000..e1b24e0cc40
--- /dev/null
+++ b/chromium/net/data/ssl/scripts/redundant-ca.cnf
@@ -0,0 +1,80 @@
+[ca]
+default_ca = CA_root
+preserve = yes
+
+# The default test root, used to generate certificates and CRLs.
+[CA_root]
+dir = $ENV::CA_DIR
+key_size = $ENV::KEY_SIZE
+algo = $ENV::ALGO
+cert_type = $ENV::CERT_TYPE
+type = $ENV::TYPE
+certificate = $ENV::CERTIFICATE
+database = $dir/$type-index.txt
+new_certs_dir = $dir
+serial = $dir/$type-serial
+certificate = $dir/$certificate.pem
+private_key = $dir/$type.key
+RANDFILE = $dir/rand
+default_days = 3650
+default_crl_days = 30
+default_md = sha1
+policy = policy_anything
+unique_subject = no
+
+[user_cert]
+# Extensions to add when signing a request for an EE cert
+basicConstraints = critical, CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+extendedKeyUsage = serverAuth,clientAuth
+
+[ca_cert]
+# Extensions to add when signing a request for an intermediate/CA cert
+basicConstraints = critical, CA:true
+subjectKeyIdentifier = hash
+#authorityKeyIdentifier = keyid:always
+keyUsage = critical, keyCertSign, cRLSign
+
+[crl_extensions]
+# Extensions to add when signing a CRL
+authorityKeyIdentifier = keyid:always
+
+[policy_anything]
+# Default signing policy
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = optional
+emailAddress = optional
+
+[req]
+# The request section used to generate the root CA certificate. This should
+# not be used to generate end-entity certificates. For certificates other
+# than the root CA, see README to find the appropriate configuration file
+# (ie: openssl_cert.cnf).
+default_bits = $ENV::KEY_SIZE
+default_md = sha1
+string_mask = utf8only
+prompt = no
+encrypt_key = no
+distinguished_name = $ENV::CA_NAME
+
+[req_ca_dn]
+C = US
+ST = California
+L = Mountain View
+O = Test CA
+CN = Test Root 2 CA
+
+[req_intermediate_dn]
+C = US
+ST = California
+L = Mountain View
+O = Test CA
+CN = Test Intermediate 2 CA
+
+[req_env_dn]
+CN = $ENV::CA_COMMON_NAME
diff --git a/chromium/net/data/test.html b/chromium/net/data/test.html
new file mode 100644
index 00000000000..63c016cdc12
--- /dev/null
+++ b/chromium/net/data/test.html
@@ -0,0 +1 @@
+<p>Hello World!</p> \ No newline at end of file
diff --git a/chromium/net/data/url_request_unittest/BullRunSpeech.txt b/chromium/net/data/url_request_unittest/BullRunSpeech.txt
new file mode 100644
index 00000000000..dd0670dcbb2
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/BullRunSpeech.txt
@@ -0,0 +1,78 @@
+"It Takes More Than That to Kill a Bull Moose":
+The Leader and The Cause*
+
+* Address at Milwaukee, Wis., October, 14, 1912. Just before entering the auditorium at Milwaukee, an attempt was made on Colonel Roosevelt's life. The above speech is from a stenographic report, differing considerably from the prepared manuscript.
+
+[TR was shot in an assasination attempt by John Schrank, who had been having disturbing dreams about TR's predecessor, William McKinley and also thought that no president should serve more than two terms.
+Schrank spent the rest of his life in a mental institution. No one came to visit him. He died shortly after Franklin Delano Roosevelt, TR's fifth cousin, was elected to a third term. Schrank had stalked TR for thousands of miles before getting a clear shot at him in Milwaukee. Schrank was caught on the spot.]
+Friends, I shall ask you to be as quiet as possible. I don't know whether you fully understand that I have just been shot; but it takes more than that to kill a Bull Moose. But fortunately I had my manuscript, so you see I was going to make a long speech, and there is a bullet - there is where the bullet went through - and it probably saved me from it going into my heart. The bullet is in me now, so that I cannot make a very long speech, but I will try my best.
+
+And now, friends, I want to take advantage of this incident to say a word of solemn warning to my fellow countrymen. First of all, I want to say this about myself: I have altogether too important things to think of to feel any concern over my own death; and now I cannot speak to you insincerely within five minutes of being shot. I am telling you the literal truth when I say that my concern is for many other things. It is not in the least for my own life. I want you to understand that I am ahead of the game, anyway. No man has had a happier life than I have led; a happier life in every way. I have been able to do certain things that I greatly wished to do, and I am interested in doing other things. I can tell you with absolute truthfulness that I am very much uninterested in whether I am shot or not. It was just as when I was colonel of my regiment. I always felt that a private was to be excused for feeling at times some pangs of anxiety about his personal safety, but I cannot understand a man fit to be a colonel who can pay any heed to his personal safety when he is occupied as he ought to be with the absorbing desire to do his duty.
+
+I am in this cause with my whole heart and soul. I believe that the Progressive movement is making life a little easier for all our people; a movement to try to take the burdens off the men and especially the women and children of this country. I am absorbed in the success of that movement.
+
+Friends, I ask you now this evening to accept what I am saying as absolutely true, when I tell you I am not thinking of my own success. I am not thinking of my life or of anything connected with me personally. I am thinking of the movement. I say this by way of introduction, because I want to say something very serious to our people and especially to the newspapers. I don't know anything about who the man was who shot me to-night. He was seized at once by one of the stenographers in my party, Mr. Martin, and I suppose is now in the hands of the police. He shot to kill. He shot - the shot, the bullet went in here - I will show you.
+
+I am going to ask you to be as quiet as possible for I am not able to give to challenge of the bull moose quite as loudly. Now, I do not know who he was or what he represented. He was a coward. He stood in the darkness in the crowd around the automobile and when they cheered me, and I got up to bow, he stepped forward and shot me in the darkness.
+
+Now, friends, of course, I do not know, as I say, anything about him; but it is a very natural thing that weak and vicious minds should be inflamed to acts of violence by the kind of awful mendacity and abuse that have been heaped upon me for the last three months by the papers in the interest of not only Mr. Debs but of Mr. Wilson and Mr. Taft.
+
+Friends, I will disown and repudiate any man of my party who attacks with such foul slander and abuse any opponent of any other party; and now I wish to say seriously to all the daily newspapers, to the Republicans, the Democrat, and Socialist parties, that they cannot, month in month out and year in and year out, make the kind of untruthful, of bitter assault that they have made and not expect that brutal, violent natures, or brutal and violent characters, especially when the brutality is accompanied by a not very strong mind; they cannot expect that such natures will be unaffected by it.
+
+Now, friends, I am not speaking for myself at all, I give you my word, I do not care a rap about being shot; not a rap.
+
+I have had a good many experiences in my time and this is one of them. What I care for is my country. I wish I were able to impress upon my people -- our people, the duty to feel strongly but to speak the truth of their opponents. I say now, I have never said one word one the stump against any opponent that I cannot defend. I have said nothing that I could not substantiate and nothing that I ought not to have said -- nothing that I -- nothing that, looking back at, I would not say again.
+
+Now, friends, it ought not to be too much to ask that our opponents -[speaking to some one on the stage]-I am not sick at all. I am all right. I cannot tell you of what infinitesimal importance I regard this incident as compared with the great issues at stake in this campaign, and I ask it not for my sake, not the least in the world, but for the sake of common country, that they make up their minds to speak only the truth, and not use that kind of slander and mendacity which if taken seriously must incite weak and violent natures to crimes of violence. Don't you make any mistake. Don't you pity me. I am all right. I am all right and you cannot escape listening to the speech either.
+
+And now, friends, this incident that has just occurred - this effort to assassinate me- emphasizes to a peculiar degree the need of the Progressive movement. Friends, every good citizen ought to do everything in his or her power to prevent the coming of the day when we shall see in this country two recognized creeds fighting one another, when we shall see the creed of the "Havenots" arraigned against the creed of the "Haves." When that day comes then such incidents as this to-night will be commonplace in our history. When you make poor men - when you permit the conditions to grow such that the poor man as such will be swayed by his sense of injury against the men who try to hold what they improperly have won, when that day comes, the most awful passions will be let loose and it will be an ill day for our country.
+
+Now, friends, what we who are in this movement are endeavoring to do is forestall any such movement for justice now - a movement in which we ask all just men of generous hearts to join with the men who feel in their souls that lift upward which bids them refuse to be satisfied themselves while their countrymen and countrywomen suffer from avoidable misery. Now, friends, what we Progressives are trying to do is to enroll rich or poor, whatever their social or industrial position, to stand together for the most elementary rights of good citizenship, those elementary rights which are the foundation of good citizenship in this great Republic of ours.
+
+(At this point a renewed effort was made to persuade Mr. Roosevelt to conclude his speech.)
+
+My friends are a little more nervous than I am. Don't you waste any sympathy on me. I have had an A-1 time in life and I am having it now.
+
+I never in my life was in any movement in which I was able to serve with such whole-hearted devotion as in this; in which I was able to feel as I do in this that common weal. I have fought for the good of our common country.
+
+And now, friends, I shall have to cut short much of that speech that I meant to give you, but I want to touch on just two or three points.
+
+In the first place, speaking to you here in Milwaukee, I wish to say that the Progressive party is making its appeals to all our fellow citizens without any regard to their creed or to their birthplace. We do not regard as essential the way in which a man worships his God or as being affected by where he was born. We regard it as a matter of spirit and purpose. In New York, while I was police commissioner, the two men from whom I got the most assistance were Jacob Riis, who was born in Denmark, and Arthur von Briesen, who was born in Germany - both of them as fine examples of the best and highest American citizenship as you could find in any part of this country.
+
+I have just been introduced by one of your own men here - Henry Cochems. His grandfather, his father, and that father's seven brothers, all served in the United States army, and they entered it four years after they had come to this country from Germany. Two of them left their lives, spent their lives, on the field of battle. I am all right - I am a little sore. Anybody has a right to be sore with a bullet in him. You would find that if I was in battle now I would be leading my men just the same. Just the same way I am going to make this speech.
+
+At one time I promoted five men for gallantry on the field of battle. Afterward in making some inquiries about them I found that two of them were Protestants, two Catholic, and one a Jew. One Protestant came from Germany and one was born in Ireland. I did not promote them because of their religion. It just happened that way. If all five of them had been Jews I would have promoted them, or if all five of them had been Protestants I would have promoted them; or if they had been Catholics. In that regiment I had a man born in Italy who distinguished himself by gallantry; there was another young fellow, a son of Polish parents, and another who came here when he was a child from Bohemia, who likewise distinguished themselves; and friends, I assure you, that I was incapable of considering any question whatever, but the worth of each individual as a fighting man. If he was a good fighting man, then I saw that Uncle Sam got the benefit of it. That is all.
+
+I make the same appeal to our citizenship. I ask in our civic life that we in the same way pay heed only to the man's quality of citizenship, to repudiate as the worst enemy that we can have whoever tries to get us to discriminate for or against any man because of his creed or birthplace.
+
+Now, friends, in the same way I want out people to stand by one another without regard to differences or class or occupation. I have always stood by labor-unions. I am going to make one omission to-night. I have prepared my speech because Mr. Wilson had seen fit to attack me by showing up his record in comparison with mine. But I am not going to do that to-night. I am going to simply speak of what I myself have done and what I think ought to be done in this country of ours.
+
+It is essential that here should be organizations of labor. This is an era of organization. Capital organizes and therefore labor must organize. My appeal for organized labor is two-fold; to the outsider and the capitalist I make my appeal to treat the laborer fairly, to recognize the fact that he must organize that there must be such organization, that the laboring man must organize for his own protection, and that it is the duty of the rest of is to help him and not hinder him in organizing. That is one-half appeal that I make.
+
+Now, the other half is to the labor man himself. My appeal to him is to remember that as he wants justice, so he must do justice. I want every labor man, every labor leader, every organized union man, to take the lead in denouncing disorder and in denouncing the inciting of riot; that in this country we shall proceed under the protection of our laws and with all respect to the laws, I want the labor men to feel in their turn that exactly as justice must be done them so they must do justice. They must bear their duty as citizens, their duty to this great country of ours, and that they must not rest content unless they do that duty to the fullest degree.
+
+I know these doctors, when they get hold of me, will never let me go back, and there are just a few more things that I want to say to you.
+
+And here I have got to make one comparison between Mr. Wilson and myself, simply because he has invited it and I cannot shrink from it. Mr. Wilson has seen fit to attack me, to say that I did not do much against the trusts when I was President. I have got two answers to make to that. In the first place what I did, and then I want to compare what I did when I was President with what Mr. Wilson did not do when he was governor.
+
+When I took the office the antitrust law was practically a dead letter and the interstate commerce law in as poor a condition. I had to revive both laws. I did. I enforced both. It will be easy enough to do now what I did then, but the reason that it is easy now is because I did it when it was hard.
+
+Nobody was doing anything. I found speedily that the interstate commerce law by being made perfect could be made a most useful instrument for helping solve some of our industrial problems. So with the antitrust law. I speedily found out that almost the only positive good achieved by such a successful lawsuit as the Northern Securities suit, for instance, was in establishing the principle that the government was supreme over the big corporation, but by itself that the law did not accomplish any of the things that we ought to have accomplished; and so I began to fight for the amendment of the law along the lines of the interstate commerce law, and now we propose, we Progressives, to establish and interstate commission having the same power over industrial concerns that the Interstate Commerce Commission has over railroads, so that whenever there is in the future a decision rendered in such important matters as the recent suits against the Standard Oil, the Sugar - no, not that - Tobacco - Tobacco Trust - we will have a commission which will see that the decree of the court is really made effective; that it is not made a merely nominal decree.
+
+Our opponents have said that we intend to legalize monopoly. Nonsense. They have legalized monopoly. At this moment the Standard Oil and Tobacco Trust monopolies are legalized; they are being carried on under the decree of the Supreme Court. Our proposal is really to break up monopoly. Our proposal is to lay down certain requirements, and then to require the commerce commission - the industrial commission - to see that the trusts live up to those requirements. Our opponents have spoken as if we were going to let the commission declare what those requirements should be. Not at all. We are going to put the requirements in the law and then see that the commission requires them to obey that law.
+
+And now, friends, as Mr. Wilson has invited the comparison, I only want to say this: Mr. Wilson has said that the States are the proper authorities to deal with the trusts. Well, about eighty percent of the trusts are organized in New Jersey. The Standard Oil, the Tobacco, the Sugar, the Beef, all those trusts are organized in the state of New Jersey and the laws of New Jersey say that their charters can at any time be amended or repealed if they misbehave themselves and give the government ample power to act about those laws, and Mr. Wilson has been governor a year and nine months and he has not opened his lips. The chapter describing what Mr. Wilson has done about trusts in New Jersey would read precisely like a chapter describing snakes in Ireland, which ran: "There are no snakes in Ireland." Mr. Wilson has done precisely and exactly nothing about the trusts.
+
+I tell you, and I told you at the beginning, I do not say anything on the stump that I do not believe. I do not say anything I do not know. Let any of Mr. Wilson's friends on Tuesday point out one thing or let Mr. Wilson point out one thing that he has done about the trusts as governor of New Jersey.
+
+And now, friends, there is one thing I want to say especially to you people here in Wisconsin. All that I have said so far is what I would say in any part of the Union. I have a peculiar right to ask that in this great contest you men and women of Wisconsin shall stand with us. You have taken the lead in progressive movements here in Wisconsin. You have taught the rest of us to look to you for inspiration and leadership. Now, friends, you have made that movement here locally. You will being doing a dreadful injustice to yourselves; you will be doing a dreadful injustice to the rest of us throughout the Union, if you fail to stand with us now that we are making this national movement. What I am about to say now I want yo to understand. If I speak of Mr. Wilson I speak with no mind of bitterness. I merely want to discuss the difference of policy between the Progressive and the Democratic party and to ask you to think for yourselves which party you will follow. I will say that, friends, because the Republican party is beaten. Nobody needs to have any idea that anything can be done with the Republican party.
+
+When the Republican party - not the Republican party - when the bosses in control of the Republican party, the Barneses and Penroses, last June stole the nomination and wrecked the Republican party for good and all - I want to point out to you that nominally they stole that nomination from me, but it was really from you. They did not like me, and the longer they live the less cause they will have to like me. But while they don't like me, they dread you. You are the people that they dread. They dread the people themselves, and those bosses and the big special interests behind them made up their mind that they would rather see the Republican party wrecked than see it come under the control of the people themselves. So I am not dealing with the Republican party. There are only two ways you can vote this year. You can be progressive or reactionary. Whether you vote Republican or Democratic it does not make a difference, you are voting reactionary.
+
+Now, the Democratic party in its platform and through the utterances of Mr. Wilson has distinctly committed itself to the old flintlock, muzzle-loaded doctrine of States' rights, and I have said distinctly we are for people's rights. We are for the rights of the people. If they can be obtained best through National Government, then we are for national rights. We are for people's rights however it is necessary to secure them.
+
+Mr. Wilson has made a long essay against Senator Beveridge's bill to abolish child labor. It is the same kind of argument that would be made against our bill to prohibit women from working more than eight hours a day in industry. It is the same kind of argument that would have to be made; if it is true, it would apply equally against our proposal to insist that in continuous industries there shall be by law one day's rest in seven and three-shift eight-hour day. You have labor laws here in Wisconsin, and chamber of commerce will tell you that because of that fact there are industries that will not come to Wisconsin. They prefer to stay outside where they can work children of tender years, where they can work women fourteen and sixteen hours a day, where if it is a continuous industry, they can work men twelve hours a day and seven days a week.
+
+Now, friends, I know that you of Wisconsin would never repeal those laws even if they are at your commercial hurt, just as I am trying to get New York to adopt such laws even though it will be to the New York's commercial hurt. But if possible I want to arrange it so that we can have justice without commercial hurt, and you can only get that if you have justice enforced nationally. You won't be burdened in Wisconsin with industries not coming to the State if the same good laws are extended all over the other States. Do you see what I mean? The States all compete in a common market; and it is not justice to the employers of a State that has enforced just and proper laws to have them exposed to the competition of another State where no such laws are enforced. Now, the Democratic platform, and their speakers declare we shall not have such laws. Mr. Wilson has distinctly declared that we shall not have a national law to prohibit the labor of children, to prohibit child labor. He has distinctly declared that we shall not have a law to establish a minimum wage for women.
+
+I ask you to look at our declaration and hear and read our platform about social and industrial justice and then, friends, vote for the Progressive ticket without regard to me, without regard to my personality, for only by voting for that platform can you be true to the cause of progress throughout this Union. \ No newline at end of file
diff --git a/chromium/net/data/url_request_unittest/content-type-normalization.html b/chromium/net/data/url_request_unittest/content-type-normalization.html
new file mode 100644
index 00000000000..4e54a7887ff
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/content-type-normalization.html
@@ -0,0 +1,8 @@
+<html>
+<head>
+<title>Space in Content-Type</title>
+</head>
+<body>
+Space in Content-Type
+</body>
+</html>
diff --git a/chromium/net/data/url_request_unittest/content-type-normalization.html.mock-http-headers b/chromium/net/data/url_request_unittest/content-type-normalization.html.mock-http-headers
new file mode 100644
index 00000000000..8004f45bbeb
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/content-type-normalization.html.mock-http-headers
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Content-Type: tEXt/Html ; charset=utF-8
+Content-Length: 104
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chromium/net/data/url_request_unittest/hpkp-headers.html b/chromium/net/data/url_request_unittest/hpkp-headers.html
new file mode 100644
index 00000000000..364322de38d
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hpkp-headers.html
@@ -0,0 +1 @@
+This file is boring; all the action's in the .mock-http-headers.
diff --git a/chromium/net/data/url_request_unittest/hpkp-headers.html.mock-http-headers b/chromium/net/data/url_request_unittest/hpkp-headers.html.mock-http-headers
new file mode 100644
index 00000000000..f4918405732
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hpkp-headers.html.mock-http-headers
@@ -0,0 +1,6 @@
+HTTP/1.1 200 OK
+Cache-Control: private
+Content-Type: text/html; charset=ISO-8859-1
+X-Multiple-Entries: a
+X-Multiple-Entries: b
+Public-Key-Pins: max-age=50000; pin-sha1="K9e3/nFL5j90GuVJOJBv6WXpvcs="; pin-sha256="kd16uBd5KFa9IJjF0X+8B+BXdAWkYYRZruNKDZ0M9Zw="; pin-sha1="Wws2/Z7YhKlX73v3rYHBBxO4OLE="
diff --git a/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html
new file mode 100644
index 00000000000..364322de38d
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html
@@ -0,0 +1 @@
+This file is boring; all the action's in the .mock-http-headers.
diff --git a/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html.mock-http-headers b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html.mock-http-headers
new file mode 100644
index 00000000000..1fa93c9c1e4
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers.html.mock-http-headers
@@ -0,0 +1,8 @@
+HTTP/1.1 200 OK
+Cache-Control: private
+Content-Type: text/html; charset=ISO-8859-1
+X-Multiple-Entries: a
+X-Multiple-Entries: b
+Strict-Transport-Security: max-age=12300
+Strict-Transport-Security: max-age=12300; includeSubdomains
+Public-Key-Pins: max-age=50000; pin-sha1="Wws2/Z7YhKlX73v3rYHBBxO4OLE="; pin-sha256="9CC/1Ckv3HMym0R5QmBCAdq7cAql/VpDoOV05p1cqUQ="
diff --git a/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html
new file mode 100644
index 00000000000..364322de38d
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html
@@ -0,0 +1 @@
+This file is boring; all the action's in the .mock-http-headers.
diff --git a/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html.mock-http-headers b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html.mock-http-headers
new file mode 100644
index 00000000000..9c0feda595e
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-and-hpkp-headers2.html.mock-http-headers
@@ -0,0 +1,8 @@
+HTTP/1.1 200 OK
+Cache-Control: private
+Content-Type: text/html; charset=ISO-8859-1
+X-Multiple-Entries: a
+X-Multiple-Entries: b
+Strict-Transport-Security: max-age=12300; includeSubdomains
+Public-Key-Pins: max-age=50000; pin-sha1="K9e3/nFL5j90GuVJOJBv6WXpvcs="; pin-sha256="kd16uBd5KFa9IJjF0X+8B+BXdAWkYYRZruNKDZ0M9Zw="; pin-sha1="Wws2/Z7YhKlX73v3rYHBBxO4OLE="
+Public-Key-Pins: max-age=50000; pin-sha1="K9e3/nFL5j90GuVJOJBv6WXpvcs="; pin-sha256="kd16uBd5KFa9IJjF0X+8B+BXdAWkYYRZruNKDZ0M9Zw="; pin-sha1="Wws2/Z7YhKlX73v3rYHBBxO4OLE="; includeSubdomains
diff --git a/chromium/net/data/url_request_unittest/hsts-headers.html b/chromium/net/data/url_request_unittest/hsts-headers.html
new file mode 100644
index 00000000000..364322de38d
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-headers.html
@@ -0,0 +1 @@
+This file is boring; all the action's in the .mock-http-headers.
diff --git a/chromium/net/data/url_request_unittest/hsts-headers.html.mock-http-headers b/chromium/net/data/url_request_unittest/hsts-headers.html.mock-http-headers
new file mode 100644
index 00000000000..e3972965736
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-headers.html.mock-http-headers
@@ -0,0 +1,6 @@
+HTTP/1.1 200 OK
+Cache-Control: private
+Content-Type: text/html; charset=ISO-8859-1
+X-Multiple-Entries: a
+X-Multiple-Entries: b
+Strict-Transport-Security: max-age=123; includeSubdomains
diff --git a/chromium/net/data/url_request_unittest/hsts-multiple-headers.html b/chromium/net/data/url_request_unittest/hsts-multiple-headers.html
new file mode 100644
index 00000000000..364322de38d
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-multiple-headers.html
@@ -0,0 +1 @@
+This file is boring; all the action's in the .mock-http-headers.
diff --git a/chromium/net/data/url_request_unittest/hsts-multiple-headers.html.mock-http-headers b/chromium/net/data/url_request_unittest/hsts-multiple-headers.html.mock-http-headers
new file mode 100644
index 00000000000..e83b7220314
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/hsts-multiple-headers.html.mock-http-headers
@@ -0,0 +1,7 @@
+HTTP/1.1 200 OK
+Cache-Control: private
+Content-Type: text/html; charset=ISO-8859-1
+X-Multiple-Entries: a
+X-Multiple-Entries: b
+Strict-Transport-Security: max-age=123
+Strict-Transport-Security: max-age=123; includeSubdomains
diff --git a/chromium/net/data/url_request_unittest/redirect-test.html b/chromium/net/data/url_request_unittest/redirect-test.html
new file mode 100644
index 00000000000..ce013625030
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-test.html
@@ -0,0 +1 @@
+hello
diff --git a/chromium/net/data/url_request_unittest/redirect-test.html.mock-http-headers b/chromium/net/data/url_request_unittest/redirect-test.html.mock-http-headers
new file mode 100644
index 00000000000..9fdd1c0b7b9
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-test.html.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 302 Redirect
+Location: with-headers.html
diff --git a/chromium/net/data/url_request_unittest/redirect-to-echoall b/chromium/net/data/url_request_unittest/redirect-to-echoall
new file mode 100644
index 00000000000..78981922613
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-to-echoall
@@ -0,0 +1 @@
+a
diff --git a/chromium/net/data/url_request_unittest/redirect-to-echoall.mock-http-headers b/chromium/net/data/url_request_unittest/redirect-to-echoall.mock-http-headers
new file mode 100644
index 00000000000..b1cc94a6af5
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-to-echoall.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 302 Yo
+Location: /echoall/
diff --git a/chromium/net/data/url_request_unittest/redirect-to-file.html b/chromium/net/data/url_request_unittest/redirect-to-file.html
new file mode 100644
index 00000000000..ce013625030
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-to-file.html
@@ -0,0 +1 @@
+hello
diff --git a/chromium/net/data/url_request_unittest/redirect-to-file.html.mock-http-headers b/chromium/net/data/url_request_unittest/redirect-to-file.html.mock-http-headers
new file mode 100644
index 00000000000..10994b7e7fc
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-to-file.html.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 302 Here I Am
+Location: file:///c:/windows
diff --git a/chromium/net/data/url_request_unittest/redirect-to-invalid-url.html b/chromium/net/data/url_request_unittest/redirect-to-invalid-url.html
new file mode 100644
index 00000000000..ce013625030
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-to-invalid-url.html
@@ -0,0 +1 @@
+hello
diff --git a/chromium/net/data/url_request_unittest/redirect-to-invalid-url.html.mock-http-headers b/chromium/net/data/url_request_unittest/redirect-to-invalid-url.html.mock-http-headers
new file mode 100644
index 00000000000..e106b6cc729
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect-to-invalid-url.html.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 302 Found
+Location: http://user:pass@/
diff --git a/chromium/net/data/url_request_unittest/redirect301-to-echo b/chromium/net/data/url_request_unittest/redirect301-to-echo
new file mode 100644
index 00000000000..78981922613
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect301-to-echo
@@ -0,0 +1 @@
+a
diff --git a/chromium/net/data/url_request_unittest/redirect301-to-echo.mock-http-headers b/chromium/net/data/url_request_unittest/redirect301-to-echo.mock-http-headers
new file mode 100644
index 00000000000..2f97903d516
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect301-to-echo.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 301 Yo
+Location: /echo
diff --git a/chromium/net/data/url_request_unittest/redirect302-to-echo b/chromium/net/data/url_request_unittest/redirect302-to-echo
new file mode 100644
index 00000000000..78981922613
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect302-to-echo
@@ -0,0 +1 @@
+a
diff --git a/chromium/net/data/url_request_unittest/redirect302-to-echo.mock-http-headers b/chromium/net/data/url_request_unittest/redirect302-to-echo.mock-http-headers
new file mode 100644
index 00000000000..819878d3721
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect302-to-echo.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 302 Yo
+Location: /echo
diff --git a/chromium/net/data/url_request_unittest/redirect303-to-echo b/chromium/net/data/url_request_unittest/redirect303-to-echo
new file mode 100644
index 00000000000..78981922613
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect303-to-echo
@@ -0,0 +1 @@
+a
diff --git a/chromium/net/data/url_request_unittest/redirect303-to-echo.mock-http-headers b/chromium/net/data/url_request_unittest/redirect303-to-echo.mock-http-headers
new file mode 100644
index 00000000000..63e08846539
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect303-to-echo.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 303 Yo
+Location: /echo
diff --git a/chromium/net/data/url_request_unittest/redirect307-to-echo b/chromium/net/data/url_request_unittest/redirect307-to-echo
new file mode 100644
index 00000000000..78981922613
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect307-to-echo
@@ -0,0 +1 @@
+a
diff --git a/chromium/net/data/url_request_unittest/redirect307-to-echo.mock-http-headers b/chromium/net/data/url_request_unittest/redirect307-to-echo.mock-http-headers
new file mode 100644
index 00000000000..3d9f6a9390b
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/redirect307-to-echo.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.1 307 Yo
+Location: /echo
diff --git a/chromium/net/data/url_request_unittest/with-headers.html b/chromium/net/data/url_request_unittest/with-headers.html
new file mode 100644
index 00000000000..364322de38d
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/with-headers.html
@@ -0,0 +1 @@
+This file is boring; all the action's in the .mock-http-headers.
diff --git a/chromium/net/data/url_request_unittest/with-headers.html.mock-http-headers b/chromium/net/data/url_request_unittest/with-headers.html.mock-http-headers
new file mode 100644
index 00000000000..ba8c15f8012
--- /dev/null
+++ b/chromium/net/data/url_request_unittest/with-headers.html.mock-http-headers
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Cache-Control: private
+Content-Type: text/html; charset=ISO-8859-1
+X-Multiple-Entries: a
+X-Multiple-Entries: b
diff --git a/chromium/net/data/websocket/OWNERS b/chromium/net/data/websocket/OWNERS
new file mode 100644
index 00000000000..7af5bc89e36
--- /dev/null
+++ b/chromium/net/data/websocket/OWNERS
@@ -0,0 +1,3 @@
+bashi@chromium.org
+toyoshim@chromium.org
+yutak@chromium.org
diff --git a/chromium/net/data/websocket/README b/chromium/net/data/websocket/README
new file mode 100644
index 00000000000..9dab697eba2
--- /dev/null
+++ b/chromium/net/data/websocket/README
@@ -0,0 +1,49 @@
+This directory contains resources used by WebSocket server for testing.
+Multiple tests may share one resource, or URI handler.
+
+- connect_check.html : A page provides simple WebSocket connectivity check.
+ This page changes page title to "PASS" to notify content::TitleWatcher.
+ Used by ProxyBrowserTest.BasicAuthWSConnect,
+ SSLUITest.TestWSSInvalidCertAndGoForward, SSLUITest.TestWSSClientCert,
+ and SSLUITestIgnoreCertErrors.TestWSS.
+
+- split_packet_check.html : A page for testing split packet handling. Here,
+ packets mean TCP segments for WebSocket, or SSL records for secure
+ WebSocket. This page changes the title to "PASS" to notify
+ content::TitleWatcher.
+ Used by WebSocketBrowserTest.WebSocketSplitSegments and
+ WebSocketBrowserTest.SecureWebSocketSplitRecords.
+
+- websocket_shared_worker.html : A page provides simple WebSocket test in
+ shared worker. This page changes page title to "PASS" to notify
+ content::TitleWatcher.
+ Used by WorkerTest.WebSocketSharedWorker.
+
+- websocket_worker_simple.js : A JavaScript runs on Workers created from the
+ websocket_shared_worker.html.
+ Used by WorkerTest.WebSocketSharedWorker.
+
+- echo-with-no-extension_wsh.py : A WebSocket URL handler for echo testing.
+ This handler disables all WebSocket extension so that we can perform
+ frame data dependent tests.
+ Used by kinds of PPAPI tests for WebSocket, ExtensionApiTest.WebSocket,
+ and WorkerTest.WebSocketSharedWorker.
+
+- close_wsh.py : A WebSocket URL handler for testing outgoing close code and
+ reason.
+ Used by kinds of PPAPI tests for WebSocket.
+
+- close-code-and-reason_wsh.py : A WebSocket URL handler for testing server
+ initiated closing handshake. A client can ask server to close the
+ connection with arbitrary code and reason.
+ Used by kinds of PPAPI tests for WebSocket.
+
+- close-with-split-packet_wsh.py : A WebSocket URL handler for testing split
+ packet handling. Here, packets mean TCP segments for WebSocket, or SSL
+ records for secure WebSocket.
+ Used by WebSocketBrowserTest.WebSocketSplitSegments and
+ WebSocketBrowserTest.SecureWebSocketSplitRecords.
+
+- protocol-test_wsh.py : A WebSocket URL handler for testing outgoing opening
+ handshake protocol.
+ Used by kinds of PPAPI tests for WebSocket.
diff --git a/chromium/net/data/websocket/close-code-and-reason_wsh.py b/chromium/net/data/websocket/close-code-and-reason_wsh.py
new file mode 100644
index 00000000000..c98bfd4418a
--- /dev/null
+++ b/chromium/net/data/websocket/close-code-and-reason_wsh.py
@@ -0,0 +1,25 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import struct
+
+from mod_pywebsocket import stream
+
+
+def web_socket_do_extra_handshake(_request):
+ pass
+
+
+def web_socket_transfer_data(request):
+ line = request.ws_stream.receive_message()
+ if line is None:
+ return
+ if line == '-':
+ data = ''
+ elif line == '--':
+ data = 'X'
+ else:
+ code, reason = line.split(' ', 1)
+ data = struct.pack('!H', int(code)) + reason.encode('utf-8')
+ request.connection.write(stream.create_close_frame(data))
diff --git a/chromium/net/data/websocket/close-with-split-packet_wsh.py b/chromium/net/data/websocket/close-with-split-packet_wsh.py
new file mode 100644
index 00000000000..d5185c4114b
--- /dev/null
+++ b/chromium/net/data/websocket/close-with-split-packet_wsh.py
@@ -0,0 +1,30 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import struct
+
+from mod_pywebsocket import handshake
+from mod_pywebsocket import stream
+
+
+def web_socket_do_extra_handshake(_request):
+ pass
+
+
+def web_socket_transfer_data(request):
+ line = request.ws_stream.receive_message()
+ if line is None:
+ return
+ if isinstance(line, unicode):
+ request.ws_stream.send_message(line, binary=False)
+ else:
+ request.ws_stream.send_message(line, binary=True)
+
+
+def web_socket_passive_closing_handshake(request):
+ code = struct.pack('!H', 1000)
+ packet = stream.create_close_frame(code + 'split test'.encode('utf-8'))
+ request.connection.write(packet[:1])
+ request.connection.write(packet[1:])
+ raise handshake.AbortedByUserException('Abort the connection')
diff --git a/chromium/net/data/websocket/close_wsh.py b/chromium/net/data/websocket/close_wsh.py
new file mode 100644
index 00000000000..741effa5a8d
--- /dev/null
+++ b/chromium/net/data/websocket/close_wsh.py
@@ -0,0 +1,26 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+_GOODBYE_MESSAGE = u'Goodbye'
+
+
+def web_socket_do_extra_handshake(_request):
+ pass # Always accept.
+
+
+def web_socket_transfer_data(request):
+ while True:
+ line = request.ws_stream.receive_message()
+ if line is None:
+ return
+ if isinstance(line, unicode):
+ request.ws_stream.send_message(line, binary=False)
+ if line == _GOODBYE_MESSAGE:
+ return
+ else:
+ request.ws_stream.send_message(line, binary=True)
+
+
+def web_socket_passive_closing_handshake(request):
+ return request.ws_close_code, request.ws_close_reason
diff --git a/chromium/net/data/websocket/connect_check.html b/chromium/net/data/websocket/connect_check.html
new file mode 100644
index 00000000000..4a1ca8c5dfc
--- /dev/null
+++ b/chromium/net/data/websocket/connect_check.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>test ws connection</title>
+<script type="text/javascript">
+
+var href = window.location.href;
+var hostBegin = href.indexOf('/') + 2;
+var hostEnd = href.lastIndexOf(':');
+var host = href.slice(hostBegin, hostEnd);
+var portBegin = hostEnd + 1;
+var portEnd = href.lastIndexOf('/');
+var port = href.slice(portBegin, portEnd);
+var scheme = href.indexOf('https') >= 0 ? 'wss' : 'ws';
+var url = scheme + '://' + host + ':' + port + '/echo-with-no-extension';
+
+// Do connection test.
+var ws = new WebSocket(url);
+
+ws.onopen = function()
+{
+ // Set document title to 'PASS'. The test observer catches this title changes
+ // to know the result.
+ document.title = 'PASS';
+}
+
+ws.onclose = function()
+{
+ // Set document title to 'FAIL'.
+ document.title = 'FAIL';
+}
+
+</script>
+</head>
+</html>
diff --git a/chromium/net/data/websocket/echo-with-no-extension_wsh.py b/chromium/net/data/websocket/echo-with-no-extension_wsh.py
new file mode 100644
index 00000000000..a7dca019f4e
--- /dev/null
+++ b/chromium/net/data/websocket/echo-with-no-extension_wsh.py
@@ -0,0 +1,22 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+_GOODBYE_MESSAGE = u'Goodbye'
+
+
+def web_socket_do_extra_handshake(request):
+ request.ws_extension_processors = []
+
+
+def web_socket_transfer_data(request):
+ while True:
+ line = request.ws_stream.receive_message()
+ if line is None:
+ return
+ if isinstance(line, unicode):
+ request.ws_stream.send_message(line, binary=False)
+ if line == _GOODBYE_MESSAGE:
+ return
+ else:
+ request.ws_stream.send_message(line, binary=True)
diff --git a/chromium/net/data/websocket/protocol-test_wsh.py b/chromium/net/data/websocket/protocol-test_wsh.py
new file mode 100644
index 00000000000..378b2e3cf63
--- /dev/null
+++ b/chromium/net/data/websocket/protocol-test_wsh.py
@@ -0,0 +1,19 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import cgi
+from mod_pywebsocket import msgutil
+
+
+def web_socket_do_extra_handshake(request):
+ r = request.ws_resource.split('?', 1)
+ if len(r) == 1:
+ return
+ param = cgi.parse_qs(r[1])
+ if 'protocol' in param:
+ request.ws_protocol = param['protocol'][0]
+
+
+def web_socket_transfer_data(request):
+ msgutil.send_message(request, request.ws_protocol)
diff --git a/chromium/net/data/websocket/split_packet_check.html b/chromium/net/data/websocket/split_packet_check.html
new file mode 100644
index 00000000000..8e273ec2849
--- /dev/null
+++ b/chromium/net/data/websocket/split_packet_check.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>test ws split packet</title>
+<script type="text/javascript">
+
+var href = window.location.href;
+var hostBegin = href.indexOf('/') + 2;
+var hostEnd = href.lastIndexOf(':');
+var host = href.slice(hostBegin, hostEnd);
+var portBegin = hostEnd + 1;
+var portEnd = href.lastIndexOf('/');
+var port = href.slice(portBegin, portEnd);
+var scheme = href.indexOf('https') >= 0 ? 'wss' : 'ws';
+var url = scheme + '://' + host + ':' + port + '/close-with-split-packet';
+
+// Do connection test.
+var ws = new WebSocket(url);
+
+ws.onopen = function()
+{
+ // Close WebSocket connection once it is established.
+ ws.close();
+}
+
+ws.onclose = function(event)
+{
+ // Check wasClean, then set proper title.
+ if (event.wasClean)
+ document.title = 'PASS';
+ else
+ document.title = 'FAIL';
+}
+
+</script>
+</head>
+</html>
diff --git a/chromium/net/data/websocket/websocket_shared_worker.html b/chromium/net/data/websocket/websocket_shared_worker.html
new file mode 100644
index 00000000000..7acb4ab3741
--- /dev/null
+++ b/chromium/net/data/websocket/websocket_shared_worker.html
@@ -0,0 +1,31 @@
+<html>
+<body>
+<div id=result></div>
+<script>
+function log(message)
+{
+ document.getElementById("result").innerHTML += message + "<br>";
+}
+var worker = new SharedWorker("websocket_worker_simple.js");
+var href = window.location.href;
+var hostBegin = href.indexOf("/") + 2;
+var hostEnd = href.lastIndexOf(":");
+var host = href.slice(hostBegin, hostEnd);
+var portBegin = hostEnd + 1;
+var portEnd = href.lastIndexOf("/");
+var port = href.slice(portBegin, portEnd);
+var url = "ws://" + host + ":" + port + "/echo-with-no-extension";
+worker.port.onmessage = function (evt) {
+ log(evt.data);
+ if (evt.data == "DONE") {
+ document.title = "OK";
+ } else {
+ document.title = "FAIL";
+ }
+};
+worker.port.postMessage(url);
+
+</script>
+</body>
+</html>
+
diff --git a/chromium/net/data/websocket/websocket_worker_simple.js b/chromium/net/data/websocket/websocket_worker_simple.js
new file mode 100644
index 00000000000..37e3be8b80d
--- /dev/null
+++ b/chromium/net/data/websocket/websocket_worker_simple.js
@@ -0,0 +1,46 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+if (!self.postMessage) {
+ // This is a shared worker - mimic dedicated worker APIs
+ onconnect = function(event) {
+ event.ports[0].onmessage = function(e) {
+ self.postMessage = function (msg) {
+ event.ports[0].postMessage(msg);
+ };
+ runTests(e.data);
+ };
+ };
+} else {
+ runTests(event.data);
+}
+
+// This test is compatible with shared-worker-simple.html layout test.
+runTests = function (url) {
+ var ws;
+ var greeting = "hello";
+ try {
+ ws = new WebSocket(url);
+ ws.onopen = function() {
+ ws.send(greeting);
+ };
+ ws.onmessage = function(e) {
+ // Receive echoed "hello".
+ if (e.data != greeting) {
+ postMessage("FAIL: received data is wrong: " + e.data);
+ } else {
+ ws.close();
+ }
+ };
+ ws.onclose = function(e) {
+ if (!e.wasClean) {
+ postMessage("FAIL: close is not clean");
+ } else {
+ postMessage("DONE");
+ }
+ };
+ } catch (e) {
+ postMessage("FAIL: worker: Unexpected exception: " + e);
+ }
+};