TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Chrome: From NSS to OpenSSL

128 pointsby moonbootsabout 11 years ago

9 comments

tptacekabout 11 years ago
Though Ryan disagrees strongly, I think this is unfortunate. I think a case can be straightforwardly made that NSS is the better library. Here&#x27;s a shotgun blast of reasons:<p>* NSS has more institutional constraints; random people in Germany can&#x27;t, as a general rule, add support for new TLS extensions to it.<p>* NSS has a clearer identity, as the TLS core for Firefox and Chromium. OpenSSL is a grab bag with hundreds of different stakeholders.<p>* The most important code in both NSS and OpenSSL is the SSL state machine. The code for that state machine is incontrovertibly clearer and better expressed in NSS.<p>* NSS has had better battle-testing as a clientside browser TLS library than OpenSSL, which, apart from Android Chrome, isn&#x27;t a big factor in TLS clientsides.<p>I don&#x27;t know that anybody <i>loves</i> NSS, but my perception is that more people believe OpenSSL to be hopeless than believe NSS to be.<p>Talking to Brian and Ryan on Twitter yesterday, I proposed that someone generate a list of questions to ask of a TLS codebase --- &quot;what&#x27;s the code path from first ClientHello to validating the public key signature in a certificate&quot;, or, &quot;what&#x27;s the code that determines which extensions are enabled&quot; --- and we&#x27;d take a shot at answering them for NSS, SecureTransport, and OpenSSL. My bet is that the answers to those questions will be more favorable for NSS, even with the crappy certificate handling.<p>Maybe a fork of NSS would be a better plan.<p>However, to head off the drama HN is probably looking for here: one inevitable result of Google transitioning fully to OpenSSL is that OpenSSL will get a lot better, probably quickly.
评论 #7568442 未加载
评论 #7569371 未加载
评论 #7568880 未加载
评论 #7568478 未加载
评论 #7568749 未加载
评论 #7568907 未加载
评论 #7568267 未加载
sgarlatmabout 11 years ago
It may actually be a good thing if Chrome migrates to OpenSSL. With their resources, perhaps they can do some testing to see if there are any more vulnerabilities out there. At the very least, their continued eye on the project should help it be more secure going forward.
评论 #7567891 未加载
评论 #7567930 未加载
评论 #7567716 未加载
majkeabout 11 years ago
And here is compulsory email thread explaining some context:<p><a href="https://groups.google.com/forum/?_escaped_fragment_=msg/mozilla.dev.tech.crypto/4F3z644W8BM/aUq9UBh7rNYJ#!msg/mozilla.dev.tech.crypto/4F3z644W8BM/aUq9UBh7rNYJ" rel="nofollow">https:&#x2F;&#x2F;groups.google.com&#x2F;forum&#x2F;?_escaped_fragment_=msg&#x2F;mozi...</a><p>&gt; <i>Strange that &quot;PKCS#11 support&quot; is listed as a &quot;con&quot; for NSS</i><p>&gt; <i>It was not accidental that it was listed under &quot;Con&quot;, nor do I see ENGINE_pkcs11 as a &quot;Pro&quot;</i>
评论 #7567977 未加载
评论 #7569176 未加载
fabian2kabout 11 years ago
I found the following part in the cons to NSS amusing, or maybe rather frightening:<p>&gt; Certificate path building is C code designed to emulate Java code, through indirection of an average of 7 layers of macros, two platform abstraction layers, and then the remaining NSS abstraction layers (listed above)
评论 #7568161 未加载
评论 #7568219 未加载
edwintorokabout 11 years ago
On Debian Chromium 33.0.1750.152-1 seems to be using GnuTLS, I didn&#x27;t know that the official Chrome used NSS:<p><pre><code> $ ldd &#x2F;usr&#x2F;lib&#x2F;chromium&#x2F;chromium|grep -E tls\|ssl libgnutls.so.28 =&gt; &#x2F;usr&#x2F;lib&#x2F;x86_64-linux-gnu&#x2F;libgnutls.so.28 (0x00007fbae0878000) </code></pre> In fact on Debian most client software is using either NSS or GnuTLS, OpenSSL is more popular server-side of course.
评论 #7568167 未加载
codewizabout 11 years ago
The doc mentions this among the cons of NSS: &quot;Certificate path building is C code designed to emulate Java code, through indirection of an average of 7 layers of macros, two platform abstraction layers, and then the remaining NSS abstraction layers (listed above)&quot;.
gioeleabout 11 years ago
Serious question: why is GnuTLS very often not considered as an alternative to OpenSSL?
评论 #7569375 未加载
higherpurposeabout 11 years ago
Can&#x27;t they use Sodium instead?<p><a href="http://labs.umbrella.com/2013/03/06/announcing-sodium-a-new-cryptographic-library/" rel="nofollow">http:&#x2F;&#x2F;labs.umbrella.com&#x2F;2013&#x2F;03&#x2F;06&#x2F;announcing-sodium-a-new-...</a>
评论 #7568207 未加载
评论 #7567575 未加载
thrillgoreabout 11 years ago
Unless Google is going to clean OpenSSL up along the way, I don&#x27;t see any immediate benefit.
评论 #7567855 未加载