-
Notifications
You must be signed in to change notification settings - Fork 81
A default CTPolicyEnforcer is initialized without populating the CTLogVerifier #248
Comments
Thanks for the explanation! Option 3 sounds best, we would definitely want to support CT.
Brightray will get updated after every chrome stable release, this should make it consistent with upstream ? Also moving to /cc @electron/maintainers |
On Friday, September 16, 2016, Robo [email protected] wrote:
The effect of new CT logs coming online (1-2 every 2-4 releases) and |
Tried updating to use
Edit: can these setters be considered for upstream or are there exisitng options i am overlooking ? |
Chrome provides a command line switch for a file/url. Electron could do something similar, but @sleevi it isn't clear to me what the
|
We're removing (and in trunk I think it already landed) the command-line flag. You shouldn't need to initialize a TreeStateTracker yet (that's more of an advanced CT thing we're working on in Chrome, and is only relevant if you're using Chrome's component updater) |
@deepak1556 Adding SSLConfig and URLRequestJobFactory are pretty reasonable, but HttpNetworkSession is probably something we wouldn't, since the whole point of the Builder is to ensure that the URLRequestContext is internally consistent with all the objects, and the object lifetimes are all safe. Taking the CacheParams may be reasonable. If you file an upstream bug with the use case, I'm sure we can find something that works :) |
Bug is in https://github.com/electron/brightray/blob/2e407b66777d29f03e92c0a625a02d633002643b/browser/url_request_context_getter.cc
A default CTPolicyEnforcer, beginning in Chrome 53, will return the default CT status of "not compliant" for any cert that doesn't match the CT policy.
However, no cert can match the CT policy without CTVerifier populating SCTs. This is done via MultiLogCTVerifier::AddLogs, with the result from net::ct::CreateLogVerifiersForKnownLogs(), which Brightray doesn't do in the URLRequestContextGetter.
[Note: We're working on cleaning up this API in Chromium, now that CT support has matured, such that a default-constructed MultiLogCTVerifier will do the right thing]
The result of this is that all certs fail to match the CT policy. However, some certs - whether for Expect-CT or because of CA misissuance (e.g. Symantec) - are expected to comply with CT policies.
Options:
Longer term, you can find yourself more insulated from these changes if you use net's URLRequestContextBuilder and file bugs upstream if you can't, since that's the Recommended Way and would have protected you from this
The text was updated successfully, but these errors were encountered: