Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Issue 10826257: Implement SHA-256 fingerprint support (Closed)

Created:
8 years, 4 months ago by palmer
Modified:
8 years, 3 months ago
Reviewers:
cbentzel, wtc, sky, Ryan Sleevi, hshi1
CC:
chromium-reviews, cbentzel+watch_chromium.org, eroman, darin-cc_chromium.org, mmenke
Visibility:
Public.

Description

Implement SHA-256 fingerprint support The HTTP-based Public Key Pinning Internet Draft (tools.ietf.org/html/draft-ietf-websec-key-pinning) requires this. Per wtc, give the *Fingeprint* types more meaningful *HashValue* names. Cleaning up lint along the way. BUG=117914 TEST=net_unittests, unit_tests TransportSecurityPersisterTest Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=155365

Patch Set 1 #

Total comments: 32

Patch Set 2 : #

Patch Set 3 : #

Total comments: 5

Patch Set 4 : #

Total comments: 28

Patch Set 5 : #

Total comments: 8

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+583 lines, -256 lines) Patch
M chrome/browser/net/transport_security_persister.cc View 1 2 3 4 5 1 chunk +11 lines, -10 lines 0 comments Download
M chrome/browser/net/transport_security_persister_unittest.cc View 1 2 3 4 5 5 chunks +19 lines, -15 lines 0 comments Download
M chrome/browser/ui/webui/net_internals/net_internals_ui.cc View 1 2 3 4 5 2 chunks +6 lines, -6 lines 0 comments Download
M net/base/cert_test_util.h View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M net/base/cert_test_util.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M net/base/cert_verify_proc.h View 1 2 3 4 5 1 chunk +2 lines, -3 lines 0 comments Download
M net/base/cert_verify_proc.cc View 1 2 3 4 5 2 chunks +7 lines, -4 lines 0 comments Download
M net/base/cert_verify_proc_mac.cc View 1 2 3 4 5 4 chunks +12 lines, -5 lines 0 comments Download
M net/base/cert_verify_proc_nss.cc View 1 2 3 4 5 3 chunks +22 lines, -8 lines 0 comments Download
M net/base/cert_verify_proc_openssl.cc View 1 2 3 4 5 3 chunks +12 lines, -4 lines 0 comments Download
M net/base/cert_verify_proc_unittest.cc View 1 2 3 4 5 3 chunks +17 lines, -8 lines 0 comments Download
M net/base/cert_verify_proc_win.cc View 1 2 3 4 5 5 chunks +13 lines, -6 lines 0 comments Download
M net/base/cert_verify_result.h View 1 2 3 4 5 1 chunk +4 lines, -4 lines 0 comments Download
M net/base/cert_verify_result.cc View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M net/base/ev_root_ca_metadata.h View 1 2 3 4 5 4 chunks +8 lines, -7 lines 0 comments Download
M net/base/ev_root_ca_metadata.cc View 1 2 3 4 5 9 chunks +10 lines, -10 lines 0 comments Download
M net/base/ev_root_ca_metadata_unittest.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M net/base/multi_threaded_cert_verifier.h View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download
M net/base/multi_threaded_cert_verifier.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M net/base/multi_threaded_cert_verifier_unittest.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M net/base/ssl_info.h View 1 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download
M net/base/ssl_info.cc View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M net/base/transport_security_state.h View 1 2 3 4 5 5 chunks +8 lines, -6 lines 0 comments Download
M net/base/transport_security_state.cc View 1 2 3 4 5 13 chunks +100 lines, -64 lines 0 comments Download
M net/base/transport_security_state_unittest.cc View 1 2 3 4 5 13 chunks +160 lines, -28 lines 0 comments Download
M net/base/x509_cert_types.h View 1 2 3 4 5 3 chunks +66 lines, -13 lines 0 comments Download
M net/base/x509_cert_types.cc View 1 2 3 4 5 2 chunks +49 lines, -1 line 0 comments Download
M net/base/x509_certificate.h View 1 2 3 4 5 3 chunks +6 lines, -6 lines 0 comments Download
M net/base/x509_certificate.cc View 1 2 3 4 5 3 chunks +3 lines, -3 lines 0 comments Download
M net/base/x509_certificate_mac.cc View 1 2 3 4 5 3 chunks +5 lines, -5 lines 0 comments Download
M net/base/x509_certificate_nss.cc View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download
M net/base/x509_certificate_openssl.cc View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download
M net/base/x509_certificate_unittest.cc View 1 2 3 4 5 4 chunks +4 lines, -4 lines 0 comments Download
M net/base/x509_certificate_win.cc View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download
M net/socket/ssl_client_socket_nss.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M net/socket/ssl_client_socket_nss.cc View 1 2 3 4 5 1 chunk +2 lines, -3 lines 0 comments Download
M net/url_request/url_request_unittest.cc View 1 2 3 4 5 4 chunks +4 lines, -4 lines 0 comments Download

Messages

Total messages: 29 (0 generated)
palmer
This Time For Sure! Please use your most eagley eagle eye for testing coverage. And ...
8 years, 4 months ago (2012-08-11 00:48:02 UTC) #1
hshi1
https://chromiumcodereview.appspot.com/10826257/diff/1/net/base/transport_security_state.cc File net/base/transport_security_state.cc (right): https://chromiumcodereview.appspot.com/10826257/diff/1/net/base/transport_security_state.cc#newcode255 net/base/transport_security_state.cc:255: if ((size != 30 && size != 46) || ...
8 years, 4 months ago (2012-08-11 01:05:40 UTC) #2
Ryan Sleevi
High level: I'm pretty concerned with the use of std::vector<HashValueVector> as a map type, which ...
8 years, 4 months ago (2012-08-11 01:39:54 UTC) #3
palmer
I think I've addressed all the comments — thank you hshi1 and sleevi!! — except ...
8 years, 4 months ago (2012-08-14 19:40:42 UTC) #4
Ryan Sleevi
I think I'm still very uncomfortable with the vector<vector> and the assumption that it's always ...
8 years, 4 months ago (2012-08-14 20:02:50 UTC) #5
palmer
> IsPublicKeyBlacklisted(const std::vector<HashValueVector> > (&public_key_hashes)[HASH_VALUES_TAG_COUNT]) > > That will pass a reference to a fixed-size ...
8 years, 4 months ago (2012-08-16 02:26:04 UTC) #6
Ryan Sleevi
On 2012/08/16 02:26:04, Chris P. wrote: > > IsPublicKeyBlacklisted(const std::vector<HashValueVector> > > (&public_key_hashes)[HASH_VALUES_TAG_COUNT]) > > ...
8 years, 4 months ago (2012-08-16 19:14:57 UTC) #7
palmer
> > What about simply using a flat HashValueVector? Each HashValue is tagged with > ...
8 years, 4 months ago (2012-08-17 21:58:11 UTC) #8
hshi1
https://chromiumcodereview.appspot.com/10826257/diff/11008/net/base/x509_cert_types.h File net/base/x509_cert_types.h (right): https://chromiumcodereview.appspot.com/10826257/diff/11008/net/base/x509_cert_types.h#newcode77 net/base/x509_cert_types.h:77: { } nit: I believe the prevalent code style ...
8 years, 4 months ago (2012-08-17 22:34:52 UTC) #9
palmer
https://chromiumcodereview.appspot.com/10826257/diff/11008/net/base/x509_cert_types.h File net/base/x509_cert_types.h (right): https://chromiumcodereview.appspot.com/10826257/diff/11008/net/base/x509_cert_types.h#newcode77 net/base/x509_cert_types.h:77: { } On 2012/08/17 22:34:52, hshi1 wrote: > nit: ...
8 years, 4 months ago (2012-08-17 23:50:31 UTC) #10
hshi1
LGTM but need an owner to approve.
8 years, 4 months ago (2012-08-23 22:06:39 UTC) #11
Ryan Sleevi
http://codereview.chromium.org/10826257/diff/8048/net/base/cert_verify_proc_nss.cc File net/base/cert_verify_proc_nss.cc (right): http://codereview.chromium.org/10826257/diff/8048/net/base/cert_verify_proc_nss.cc#newcode576 net/base/cert_verify_proc_nss.cc:576: DCHECK_EQ(rv, SECSuccess); nit: DCHECK_EQ(expected, actual) http://codereview.chromium.org/10826257/diff/8048/net/base/cert_verify_proc_unittest.cc File net/base/cert_verify_proc_unittest.cc (right): ...
8 years, 4 months ago (2012-08-23 22:48:20 UTC) #12
hshi1
http://codereview.chromium.org/10826257/diff/8048/net/base/transport_security_state.cc File net/base/transport_security_state.cc (right): http://codereview.chromium.org/10826257/diff/8048/net/base/transport_security_state.cc#newcode251 net/base/transport_security_state.cc:251: HashValueVector* fingerprints) { nit: Now that FingerprintVector is renamed ...
8 years, 4 months ago (2012-08-25 01:26:55 UTC) #13
palmer
http://codereview.chromium.org/10826257/diff/8048/net/base/cert_verify_proc_nss.cc File net/base/cert_verify_proc_nss.cc (right): http://codereview.chromium.org/10826257/diff/8048/net/base/cert_verify_proc_nss.cc#newcode576 net/base/cert_verify_proc_nss.cc:576: DCHECK_EQ(rv, SECSuccess); On 2012/08/23 22:48:20, Ryan Sleevi wrote: > ...
8 years, 3 months ago (2012-08-29 00:01:24 UTC) #14
Ryan Sleevi
LGTM. I wasn't clear if you were going to touch the tests in this round, ...
8 years, 3 months ago (2012-08-29 01:02:02 UTC) #15
palmer
Adding cbentzel for chrome/browser/net and sky for chrome/browser/ui review. Thank you!
8 years, 3 months ago (2012-08-30 20:38:01 UTC) #16
sky
LGTM
8 years, 3 months ago (2012-08-30 21:12:10 UTC) #17
cbentzel
chrome/browser/net LGTM http://codereview.chromium.org/10826257/diff/21001/chrome/browser/net/transport_security_persister.cc File chrome/browser/net/transport_security_persister.cc (right): http://codereview.chromium.org/10826257/diff/21001/chrome/browser/net/transport_security_persister.cc#newcode37 chrome/browser/net/transport_security_persister.cc:37: base::Base64Encode(hash_str, &b64); I notice that you aren't ...
8 years, 3 months ago (2012-08-31 00:38:00 UTC) #18
palmer
https://codereview.chromium.org/10826257/diff/21001/chrome/browser/net/transport_security_persister.cc File chrome/browser/net/transport_security_persister.cc (right): https://codereview.chromium.org/10826257/diff/21001/chrome/browser/net/transport_security_persister.cc#newcode37 chrome/browser/net/transport_security_persister.cc:37: base::Base64Encode(hash_str, &b64); > It could be that the boolean ...
8 years, 3 months ago (2012-09-04 23:23:33 UTC) #19
cbentzel
LGTM I'm on vacation this week, so please don't wait for me for any further ...
8 years, 3 months ago (2012-09-05 13:05:47 UTC) #20
palmer
https://codereview.chromium.org/10826257/diff/21001/chrome/browser/net/transport_security_persister.cc File chrome/browser/net/transport_security_persister.cc (right): https://codereview.chromium.org/10826257/diff/21001/chrome/browser/net/transport_security_persister.cc#newcode37 chrome/browser/net/transport_security_persister.cc:37: base::Base64Encode(hash_str, &b64); On 2012/09/05 13:05:47, cbentzel wrote: > On ...
8 years, 3 months ago (2012-09-05 22:23:25 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/palmer@chromium.org/10826257/40001
8 years, 3 months ago (2012-09-05 22:25:46 UTC) #22
commit-bot: I haz the power
Failed to request the patch to try. Please note that binary filesare still unsupported at ...
8 years, 3 months ago (2012-09-05 22:26:07 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/palmer@chromium.org/10826257/40001
8 years, 3 months ago (2012-09-06 18:40:22 UTC) #24
commit-bot: I haz the power
Try job failure for 10826257-40001 (retry) on mac_rel for step "sync_integration_tests". It's a second try, ...
8 years, 3 months ago (2012-09-06 21:40:15 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/palmer@chromium.org/10826257/40001
8 years, 3 months ago (2012-09-06 21:51:02 UTC) #26
commit-bot: I haz the power
Try job failure for 10826257-40001 (retry) (retry) on win for step "runhooks" (clobber build). It's ...
8 years, 3 months ago (2012-09-06 22:36:50 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/palmer@chromium.org/10826257/40001
8 years, 3 months ago (2012-09-06 22:51:53 UTC) #28
commit-bot: I haz the power
8 years, 3 months ago (2012-09-07 12:52:28 UTC) #29
Change committed as 155365

Powered by Google App Engine
This is Rietveld 408576698