Network Security Services

Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards.

For detailed information on standards supported, see Overview of NSS. For a list of frequently asked questions, see the FAQ.

NSS is available under the Mozilla Public License. For information on downloading NSS releases as tar files, see Download PKI Source.

If you're a developer and would like to contribute to NSS, you might want to read the documents highlevel overview of internal details of NSS and getting started with NSS.

Documentation

Background Information

Overview of NSS
Provides a brief summary of NSS and its capabilities.
NSS FAQ
Answers basic questions about NSS.
Introduction to Public-Key Cryptography
Explains the basic concepts of public-key cryptography that underlie NSS.
Introduction to SSL
Introduces the SSL protocol, including information about cryptographic ciphers supported by SSL and the steps involved in the SSL handshake.

Getting Started

NSS Releases
This page contains information about the current and past releases of NSS.
Get the source code and Build it
Instructions on how to build NSS on the different supported platforms.

NSS APIs

Introduction to Network Security Services
Provides an overview of the NSS libraries and what you need to know to use them.
NSS SSL Public Functions
Summarizes the SSL APIs exported by the NSS shared libraries.
NSS SSL Reference
API used to invoke SSL operations.
NSS API Guidelines
Explains how the libraries and code are organized, and guidelines for developing code (naming conventions, error handling, thread safety, etc.)
NSS Technical Notes
Links to NSS technical notes, which provide latest information about new NSS features and supplementary documentation for advanced topics in programming with NSS.

Tools, testing, and other technical details

Build Instructions for NSS
Describe how to check out and build NSS releases.
NSS Developer Tutorial
How to make changes in NSS. Coding style, maintaining ABI compatibility.
NSS Tools
Tools for developing, debugging, and managing applications that use NSS.
Sample Code
Demonstrates how NSS can be used for cryptographic operations, certificate handling, SSL, etc.
Third-Party Code
A list of third-party code included in the NSS library.
NSS 3.2 Test Suite
Archived version. Describes how to run the standard NSS tests.
NSS Performance Reports
Archived version. Links to performance reports for NSS 3.2 and later releases.
Encryption Technologies Available in NSS 3.11
Archived version. Lists the cryptographic algorithms used by NSS 3.11.
NSS 3.1 Loadable Root Certificates
Archived version. Describes the scheme for loading root CA certificates.
cert7.db
Archived version. General format of the cert7.db database.

PKCS #11 information

CA certificates pre-loaded into NSS

NSS is built on top of Netscape Portable Runtime (NSPR)

Netscape Portable Runtime
NSPR project page.
NSPR Reference
NSPR API documentation.

Additional Information

Planning

Information on NSS planning can be found at wiki.mozilla.org, including:

Community

  • View Mozilla Security forums...
  • View Mozilla Cryptography forums...