Hi Uros,

Chrome browser does depend on WebKit. From its source code (788M source
tarball, HUGE) and ChangeLog, I don't think Chrome uses libsoup for
HTTPS support on Win and Mac. From the libsoup developer (link below),
"there is not currently any way to let the application decide on a
case-by-case basis whether or not to accept a certificate" with libsoup.
I doubt whether the way Google/Apple engineers used to solve this HTTPS
support problem can apply to our case.

Thanks,
-Alfred

On 08/ 8/09 12:20 AM, Uros Nedic wrote:
> As a pure observer of this communication I would like to
> add one suggestion which, maybe, could be helpful.
>
> As far as I know Google's Chrome browser uses WebKit as
> well as Apple's Safari on both platforms (Win and Mac).
>
> You could ask Google and Apple engineers how they solved
> this problem.
>
> In Chrome when one certificate is not certified by some
> 'well known' CA browser just ask user what he would like
> to do. So it *is* possible to deal with this issue.
>
> I did not have time digging more deeply through Google's
> mailing lists on code.google.com nor to see Apple's but
> as far as I saw there they solved this issue.
>
> Hope it helps!
>
> Uros Nedic, MSc
> Belgrade, Serbia
>
> P.S: Please do not disable HTTPS. I'd be big mistake, from
> my perspective.
>
> ----------------------------------------
>   
>> Date: Fri, 7 Aug 2009 15:27:08 +0800
>> From: Alfred.Peng at Sun.COM
>> To: Darren.Moffat at Sun.COM
>> CC: desktop-discuss at opensolaris.org; storycrafter at gmail.com; LSARC-ext 
>> at Sun.COM
>> Subject: Re: [desktop-discuss] WebKit 1.1.x [LSARC/2009/409 FastTrack 
>> timeout 08/04/2009]
>>
>> Hi Darren/Mark,
>>
>> Before I started the arc case, I sent a query with regards to this HTTPS
>> support issue to the WebKit community. Dan Winship, the libsoup
>> developer, gave me some insight into the problem:
>> http://lists.macosforge.org/pipermail/webkit-dev/2009-June/008566.html.
>>     
>   
>> Roughly there are two points from the reply:
>>
>> - An x509 file containing the certificate can be passed to SoupSession
>> for verification. In this way, only the "correctly-named non-expired
>> certificates signed by one of those CAs" will be accepted, all others
>> will be rejected. From the libsoup client howto:
>> http://library.gnome.org/devel/libsoup/stable/libsoup-client-howto.html,
>> I think it's possible to make WebKit accept user-specified certificate
>> with some coding. On the other hand, we could point the
>> SOUP_SESSION_SSL_CA_FILE to the system bundled certificates if that's
>> available.
>>
>> - "There is not currently any way to let the application decide on a
>> case-by-case basis whether or not to accept a certificate." With
>> Firefox, users can decide whether they want to accept a certificate.
>> Users won't be able to do this with WebKit.
>>
>> As for the current status of the WebKit HTTPS support, I've verified
>> with the WebKit test Program, named GtkLauncher. It's a very simple
>> browser GUI. GtkLauncher can accept all the https request by default. If
>> I patch the code as Dan suggested, it denies all the https website instead.
>>
>> >From the source code:
>> http://svn.webkit.org/repository/webkit/trunk/WebCore/platform/network/soup/ResourceHandleSoup.cpp,
>> you can notice that WebKit uses soup_session_async_new to create the
>> SoupSession without setting any additional options. That's the reason
>> why WebKit ignores all certificate validation and accepts all
>> certificates by default I think.
>>
>> On 08/ 6/09 10:47 PM, Darren J Moffat wrote:
>>     
>>> Mark Martin wrote:
>>>
>>>       
>>>> I don't think the only issue is the lack of a handy, well known cert
>>>> repository; the fact that the underlying implementation doesn't
>>>> validate properly would probably surprise folks.
>>>>
>>>>         
>>> That really depends on what you mean by "validate properly", sure there
>>> are standards that define how this is done but one persons proper
>>> validation is also over the top for other cases and highly in sufficient
>>> for others.
>>>
>>>
>>>       
>>>> The choices that I saw were:
>>>> a) Deliver with HTTPS disabled by default. Principle of least
>>>> astonishment.
>>>>
>>>>         
>>> By disabled by default is it available to consumers of WebKit easily or
>>> do they have to rebuild it ?
>>>
>>>       
>> A possible workaround is that we could patch the code to enable
>> environment variable checking so that consumers of WebKit can switch on
>> the https support easily (no need to rebuild). By doing this, the HTTPS
>> support of WebKit 1.1.x will be consistent with the last WebKit arc
>> case. Just need to note that WebKit will still ignore the certificate
>> verification in this case.
>>     
>>>> b) Deliver with (incomplete and ostensibly unsafe) HTTPS enabled by
>>>> default.
>>>>
>>>> If you're insisting on B, how do you advise managing the gap? Log a
>>>> bug? Document a warning? Assume developers will be diligent or just know?
>>>>
>>>>         
>>> To be able to answer that I need to understand if this gap exists on
>>> other platforms delivering WebKit or is it somehow unique to OpenSolaris ?
>>>       
>> There is an old version of WebKit in Ubuntu repository:
>> http://packages.ubunut.com/jaunty/libwebkit-1.0-1. It still uses libcURL
>> from the dependency list. With package "ca-certificates" installed on
>> Ubuntu by default, WebKit can accept the authorized certificates.
>> However, it won't accept the server certificates that can't be match
>> with the system bundled ones. That's to say, some of the https website
>> will fail to load. Since WebKit 1.1.x is targeted for GNOME 2.28, I
>> think it'll be probably available for the next Ubuntu release. We'll
>> know how Ubuntu handles HTTPS support with libsoup then.
>>
>> Personally I'd propose to disable the HTTPS support for now and push the
>> integration of certificates to OpenSolaris. When it's ready, we can
>> enable the HTTPS support.
>>
>> Thanks,
>> -Alfred
>>     

Reply via email to