1 Name: Network Security Services (NSS)
2 URL: http://www.mozilla.org/projects/security/pki/nss/
6 License File: NOT_SHIPPED
8 This directory includes a copy of NSS's libssl from the hg repo at:
9 https://hg.mozilla.org/projects/nss
11 The same module appears in crypto/third_party/nss (and third_party/nss on some
12 platforms), so we don't repeat the license file here.
14 The snapshot was updated to the hg tag: NSS_3_15_4_RTM
18 * Cache the peer's intermediate CA certificates in session ID, so that
19 they're available when we resume a session.
20 patches/cachecerts.patch
21 https://bugzilla.mozilla.org/show_bug.cgi?id=731478
23 * Add support for client auth with native crypto APIs on Mac and Windows.
24 patches/clientauth.patch
27 * Add a function to export whether the last handshake on a socket resumed a
29 patches/didhandshakeresume.patch
30 https://bugzilla.mozilla.org/show_bug.cgi?id=731798
32 * Add function to retrieve TLS client cert types requested by server.
33 https://bugzilla.mozilla.org/show_bug.cgi?id=51413
34 patches/getrequestedclientcerttypes.patch
36 * Add a function to restart a handshake after a client certificate request.
37 patches/restartclientauth.patch
39 * Add support for TLS Channel IDs
40 patches/channelid.patch
42 * Add support for extracting the tls-unique channel binding value
43 patches/tlsunique.patch
44 https://bugzilla.mozilla.org/show_bug.cgi?id=563276
46 * SSL_ExportKeyingMaterial should get the RecvBufLock and SSL3HandshakeLock.
47 This change was made in https://chromiumcodereview.appspot.com/10454066.
48 patches/secretexporterlocks.patch
50 * Change ssl3_SuiteBOnly to always return PR_TRUE. The softoken in NSS
51 versions older than 3.15 report an EC key size range of 112 bits to 571
52 bits, even when it is compiled to support only the NIST P-256, P-384, and
53 P-521 curves. Remove this patch when all system NSS softoken packages are
55 patches/suitebonly.patch
57 * Define the SECItemArray type and declare the SECItemArray handling
58 functions, which were added in NSS 3.15. Remove this patch when all system
59 NSS packages are NSS 3.15 or later.
60 patches/secitemarray.patch
62 * Update Chromium-specific code for TLS 1.2.
63 patches/tls12chromium.patch
65 * Add the Application Layer Protocol Negotiation extension.
68 * Add Chromium-specific code to detect AES GCM support in the system NSS
69 libraries at run time. Remove this patch when all system NSS packages are
71 patches/aesgcmchromium.patch
73 * Support ChaCha20+Poly1305 ciphersuites
74 http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-01
75 patches/chacha20poly1305.patch
77 * Fix session cache lock creation race.
78 patches/cachelocks.patch
79 https://bugzilla.mozilla.org/show_bug.cgi?id=764646
81 * In the case that a ClientHello record is between 256 and 511 bytes long,
82 add an extension to make it 512 bytes. This works around a bug in F5
84 patches/paddingextension.patch
85 patches/paddingextensionall.patch
86 https://bugzilla.mozilla.org/show_bug.cgi?id=944157
88 * Support the Certificate Transparency (RFC 6962) TLS extension
89 signed_certificate_timestamp (client only).
90 patches/signedcertificatetimestamps.patch
91 https://bugzilla.mozilla.org/show_bug.cgi?id=944175
93 * Add a function to allow the cipher suites preference order to be set.
94 patches/cipherorder.patch
96 * Add TLS_FALLBACK_SCSV cipher suite to version fallback connections.
97 patches/fallbackscsv.patch
99 * Add explicit functions for managing the SSL/TLS session cache.
100 This is a temporary workaround until Chromium migrates to NSS's
101 asynchronous certificate verification.
102 patches/sessioncache.patch
104 * Remove static storage qualifier from variables in sslnonce.c. Due to
105 a clang codegen bug on Mac, this caused an infinite loop.
106 https://code.google.com/p/chromium/issues/detail?id=326011
107 patches/sslnoncestatics.patch
109 * Use NSSRWLock instead of PRRWLock in sslSessionID. This avoids the bugs
110 in the lock rank checking code in PRRWLock.
111 patches/nssrwlock.patch
112 https://bugzilla.mozilla.org/show_bug.cgi?id=957812
114 Apply the patches to NSS by running the patches/applypatches.sh script. Read
115 the comments at the top of patches/applypatches.sh for instructions.
117 The ssl/bodge directory contains files taken from the NSS repo that we required
118 for building libssl outside of its usual build environment.