| Name: Network Security Services (NSS) |
| URL: http://www.mozilla.org/projects/security/pki/nss/ |
| Version: 3.15.1 |
| Security Critical: Yes |
| License: MPL 2 |
| License File: NOT_SHIPPED |
| |
| This directory includes a copy of NSS's libssl from the hg repo at: |
| https://hg.mozilla.org/projects/nss |
| |
| The same module appears in crypto/third_party/nss (and third_party/nss on some |
| platforms), so we don't repeat the license file here. |
| |
| The snapshot was updated to the hg tag: NSS_3_15_1_RTM |
| |
| Patches: |
| |
| * Commenting out a couple of functions because they need NSS symbols |
| which may not exist in the system NSS library. |
| patches/versionskew.patch |
| |
| * Send empty renegotiation info extension instead of SCSV unless TLS is |
| disabled. |
| patches/renegoscsv.patch |
| https://bugzilla.mozilla.org/show_bug.cgi?id=549042 |
| |
| * Cache the peer's intermediate CA certificates in session ID, so that |
| they're available when we resume a session. |
| patches/cachecerts.patch |
| https://bugzilla.mozilla.org/show_bug.cgi?id=731478 |
| |
| * Add the SSL_PeerCertificateChain function |
| patches/peercertchain.patch |
| https://bugzilla.mozilla.org/show_bug.cgi?id=731485 |
| |
| * Add support for client auth with native crypto APIs on Mac and Windows |
| patches/clientauth.patch |
| ssl/sslplatf.c |
| |
| * Add a function to export whether the last handshake on a socket resumed a |
| previous session. |
| patches/didhandshakeresume.patch |
| https://bugzilla.mozilla.org/show_bug.cgi?id=731798 |
| |
| * Allow SSL_HandshakeNegotiatedExtension to be called before the handshake |
| is finished. |
| https://bugzilla.mozilla.org/show_bug.cgi?id=681839 |
| patches/negotiatedextension.patch |
| |
| * Add function to retrieve TLS client cert types requested by server. |
| https://bugzilla.mozilla.org/show_bug.cgi?id=51413 |
| patches/getrequestedclientcerttypes.patch |
| |
| * Add a function to restart a handshake after a client certificate request. |
| patches/restartclientauth.patch |
| |
| * Add support for TLS Channel IDs |
| patches/channelid.patch |
| |
| * Add support for extracting the tls-unique channel binding value |
| patches/tlsunique.patch |
| https://bugzilla.mozilla.org/show_bug.cgi?id=563276 |
| |
| * Define the EC_POINT_FORM_UNCOMPRESSED macro. In NSS 3.13.2 the macro |
| definition was moved from the internal header ec.h to blapit.h. When |
| compiling against older system NSS headers, we need to define the macro. |
| patches/ecpointform.patch |
| |
| * SSL_ExportKeyingMaterial should get the RecvBufLock and SSL3HandshakeLock. |
| This change was made in https://chromiumcodereview.appspot.com/10454066. |
| patches/secretexporterlocks.patch |
| |
| * Allow the constant-time CBC processing code to be compiled against older |
| NSS that doesn't contain the CBC constant-time changes. |
| patches/cbc.patch |
| https://code.google.com/p/chromium/issues/detail?id=172658#c12 |
| |
| * Change ssl3_SuiteBOnly to always return PR_TRUE. The softoken in NSS |
| versions older than 3.15 report an EC key size range of 112 bits to 571 |
| bits, even when it is compiled to support only the NIST P-256, P-384, and |
| P-521 curves. Remove this patch when all system NSS softoken packages are |
| NSS 3.15 or later. |
| patches/suitebonly.patch |
| |
| * Define the SECItemArray type and declare the SECItemArray handling |
| functions, which were added in NSS 3.15. Remove this patch when all system |
| NSS packages are NSS 3.15 or later. |
| patches/secitemarray.patch |
| |
| * Update Chromium-specific code for TLS 1.2. |
| patches/tls12chromium.patch |
| |
| * Add the Application Layer Protocol Negotiation extension. |
| patches/alpn.patch |
| |
| Apply the patches to NSS by running the patches/applypatches.sh script. Read |
| the comments at the top of patches/applypatches.sh for instructions. |
| |
| The ssl/bodge directory contains files taken from the NSS repo that we required |
| for building libssl outside of its usual build environment. |