Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / net / third_party / nss / README.chromium
blobf47896df4dcc6c2f9d381e46fc9483d83b6c5c5f
1 Name: Network Security Services (NSS)
2 URL: http://www.mozilla.org/projects/security/pki/nss/
3 Version: 3.19 RTM
4 Security Critical: Yes
5 License: MPL 2
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_19_RTM
16 Patches:
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
25     ssl/sslplatf.c
27   * Add a function to export whether the last handshake on a socket resumed a
28     previous session.
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
54     NSS 3.15 or later.
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 Chromium-specific code to detect AES GCM support in the system NSS
66     libraries at run time. Remove this patch when all system NSS packages are
67     NSS 3.15 or later.
68     patches/aesgcmchromium.patch
70   * Support ChaCha20+Poly1305 ciphersuites
71     http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-01
72     patches/chacha20poly1305.patch
74   * Fix session cache lock creation race.
75     patches/cachelocks.patch
76     https://bugzilla.mozilla.org/show_bug.cgi?id=764646
78   * Support the Certificate Transparency (RFC 6962) TLS extension
79     signed_certificate_timestamp (client only).
80     patches/signedcertificatetimestamps.patch
81     https://bugzilla.mozilla.org/show_bug.cgi?id=944175
83   * Add a function to allow the cipher suites preference order to be set.
84     patches/cipherorder.patch
86   * Add explicit functions for managing the SSL/TLS session cache.
87     This is a temporary workaround until Chromium migrates to NSS's
88     asynchronous certificate verification.
89     patches/sessioncache.patch
91   * Use NSSRWLock instead of PRRWLock in sslSessionID. This avoids the bugs
92     in the lock rank checking code in PRRWLock.
93     patches/nssrwlock.patch
94     https://bugzilla.mozilla.org/show_bug.cgi?id=957812
96   * Add a comment explaining why signature_algorithms extension should be at
97     the end of the extension list. This works around a bug in WebSphere
98     Application Server 7.0, which is intolerant to the final extension having
99     zero length. This also ensures that the padding extension has non-zero
100     length.
101     patches/reorderextensions.patch
103   * Make the build metadata deterministic
104     patches/removebuildmetadata.patch
106   * Fix locking bug in ssl3_HandleHelloRequest when rejecting a renegotiation.
107     patches/norenegotiatelock.patch
108     https://bugzilla.mozilla.org/show_bug.cgi?id=1162521
110   * Increase the minimum DH group size to 1024
111     patches/dh1024.patch
113 Apply the patches to NSS by running the patches/applypatches.sh script.  Read
114 the comments at the top of patches/applypatches.sh for instructions.
116 The ssl/bodge directory contains files taken from the NSS repo that we required
117 for building libssl outside of its usual build environment.