(mozilla-projects-nss-nss-3-15-1-release-notes)=

# NSS 3.15.1 release notes

## [Introduction](#introduction)

:::{container}
Network Security Services (NSS) 3.15.1 is a patch release for NSS 3.15. The bug fixes in NSS
3.15.1 are described in the "Bugs Fixed" section below.
:::

## [Distribution Information](#distribution_information)

:::{container}
NSS 3.15.1 source distributions are also available on ftp.mozilla.org for secure HTTPS download:

- Source tarballs:
  <https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_1_RTM/src/>
:::

(new-in-nss-3-15-1)=

## [New in NSS 3.15.1](#new_in_nss_3.15.1)

### [New Functionality](#new_functionality)

:::{container}

- TLS 1.2: TLS 1.2 ([RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246)) is supported.
  HMAC-SHA256 cipher suites ([RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246) and
  [RFC 5289](https://datatracker.ietf.org/doc/html/rfc5289)) are supported, allowing TLS to
  be used without MD5 and SHA-1. Note the following limitations.

  - The hash function used in the signature for TLS 1.2 client authentication must be the hash
    function of the TLS 1.2 PRF, which is always SHA-256 in NSS 3.15.1.
  - AES GCM cipher suites are not yet supported.

```{rubric} New Functions
```

None.

```{rubric} New Types
```

- *in sslprot.h*

  - **SSL_LIBRARY_VERSION_TLS_1_2** - The protocol version of TLS 1.2 on the wire, value
    0x0303.
  - **TLS_DHE_RSA_WITH_AES_256_CBC_SHA256**, **TLS_RSA_WITH_AES_256_CBC_SHA256**,
    **TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256**, **TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256**,
    **TLS_DHE_RSA_WITH_AES_128_CBC_SHA256**, **TLS_RSA_WITH_AES_128_CBC_SHA256**,
    **TLS_RSA_WITH_NULL_SHA256** - New TLS 1.2 only HMAC-SHA256 cipher suites.

- *in sslerr.h*

  - **SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM**, **SSL_ERROR_DIGEST_FAILURE**,
    **SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM** - New error codes for TLS 1.2.

- *in sslt.h*

  - **ssl_hmac_sha256** - A new value in the SSLMACAlgorithm enum type.
  - **ssl_signature_algorithms_xtn** - A new value in the SSLExtensionType enum type.

```{rubric} New PKCS #11 Mechanisms
```

None.
:::

(notable-changes-in-nss-3-15-1)=

### [Notable Changes in NSS 3.15.1](#notable_changes_in_nss_3.15.1)

:::{container}

- [Bug 856060](https://bugzilla.mozilla.org/show_bug.cgi?id=856060) - Enforce name
  constraints on the common name in libpkix when no subjectAltName is present.
- [Bug 875156](https://bugzilla.mozilla.org/show_bug.cgi?id=875156) - Add const to the
  function arguments of SEC_CertNicknameConflict.
- [Bug 877798](https://bugzilla.mozilla.org/show_bug.cgi?id=877798) - Fix ssltap to print the
  certificate_status handshake message correctly.
- [Bug 882829](https://bugzilla.mozilla.org/show_bug.cgi?id=882829) - On Windows, NSS
  initialization fails if NSS cannot call the RtlGenRandom function.
- [Bug 875601](https://bugzilla.mozilla.org/show_bug.cgi?id=875601) -
  SECMOD_CloseUserDB/SECMOD_OpenUserDB fails to reset the token delay, leading to spurious
  failures.
- [Bug 884072](https://bugzilla.mozilla.org/show_bug.cgi?id=884072) - Fix a typo in the
  header include guard macro of secmod.h.
- [Bug 876352](https://bugzilla.mozilla.org/show_bug.cgi?id=876352) - certutil now warns if
  importing a PEM file that contains a private key.
- [Bug 565296](https://bugzilla.mozilla.org/show_bug.cgi?id=565296) - Fix the bug that
  shlibsign exited with status 0 even though it failed.
- The NSS_SURVIVE_DOUBLE_BYPASS_FAILURE build option is removed.
:::

(bugs-fixed-in-nss-3-15-1)=

### [Bugs fixed in NSS 3.15.1](#bugs_fixed_in_nss_3.15.1)

:::{container}

- <https://bugzilla.mozilla.org/buglist.cgi?list_id=5689256;resolution=FIXED;classification=Components;query_format=advanced;target_milestone=3.15.1;product=NSS>
:::

## [Compatibility](#compatibility)

:::{container}
NSS 3.15.1 shared libraries are backward compatible with all older NSS 3.x shared libraries. A
program linked with older NSS 3.x shared libraries will work with NSS 3.15.1 shared libraries
without recompiling or relinking. Furthermore, applications that restrict their use of NSS APIs
to the functions listed in NSS Public Functions will remain compatible with future versions of
the NSS shared libraries.
:::

## [Feedback](#feedback)

:::{container}
Bugs discovered should be reported by filing a bug report with
[bugzilla.mozilla.org](https://bugzilla.mozilla.org/enter_bug.cgi?product=NSS) (product NSS).
:::
