Source code

Revision control

Copy as Markdown

Other Tools

(mozilla-projects-nss-reference)=
# NSS reference
(initial-notes)=
## [Initial Notes](#initial_notes)
::::{container}
:::{container} notecard note
- We are migrating the {ref}`mozilla_projects_nss_ssl_functions_old_ssl_reference` into the
format described in the [MDN Style
help with this migration, your help would be very much appreciated.
- The proposed chapters below are based on the chapters of the
{ref}`mozilla_projects_nss_ssl_functions_old_ssl_reference` and the categories of functions
in {ref}`mozilla_projects_nss_reference_nss_functions`.
- Should a particular page require the use of an underscore, please see the documentation for
the [Title Override Extension](/Project:En/MDC_style_guide#Title_Override_Extension).
:::
::::
(building-and-installing-nss)=
## [Building and installing NSS](#building_and_installing_nss)
:::{container}
{ref}`mozilla_projects_nss_reference_building_and_installing_nss`
:::
(overview-of-an-nss-application)=
## [Overview of an NSS application](#overview_of_an_nss_application)
:::{container}
Based on {ref}`mozilla_projects_nss_ssl_functions_sslintro` in the SSL Reference.
:::
(getting-started-with-nss)=
## [Getting started with NSS](#getting_started_with_nss)
:::{container}
Based on {ref}`mozilla_projects_nss_ssl_functions_gtstd` in the SSL Reference.
:::
## [Data types](#data_types)
:::{container}
Based on {ref}`mozilla_projects_nss_ssl_functions_ssltyp` in the SSL Reference.
:::
(nss-initialization-and-shutdown)=
## [NSS initialization and shutdown](#nss_initialization_and_shutdown)
:::{container}
- NSS_Init
- NSS_InitReadWrite
- NSS_NoDB_Init
- {ref}`mozilla_projects_nss_reference_nss_initialize`
- NSS_Shutdown
:::
## [Utility functions](#utility_functions)
:::{container}
Based on {ref}`mozilla_projects_nss_reference_nss_functions#utility_functions` in NSS Public
Functions.
:::
## [Certificate functions](#certificate_functions)
:::{container}
Based on {ref}`mozilla_projects_nss_ssl_functions_sslcrt` in the SSL Reference and
{ref}`mozilla_projects_nss_reference_nss_functions#certificate_functions` in NSS Public
Functions.
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#validating_certificates`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_verifycertnow`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_verifycert`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_verifycertname`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_checkcertvalidtimes`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#nss_cmpcertchainwcanames`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#manipulating_certificates`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_dupcertificate`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_destroycertificate`
- SEC_DeletePermCertificate
- \_\_CERT_ClosePermCertDB
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#getting_certificate_information`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_findcertbyname`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_getcertnicknames`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_freenicknames`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#cert_getdefaultcertdb`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#nss_findcertkeatype`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#comparing_secitem_objects`
- {ref}`mozilla_projects_nss_reference_nss_certificate_functions#secitem_compareitem`
:::
## [Key functions](#key_functions)
:::{container}
{ref}`mozilla_projects_nss_reference_nss_key_functions`
- {ref}`mozilla_projects_nss_ssl_functions_sslkey#seckey_getdefaultkeydb`
- {ref}`mozilla_projects_nss_ssl_functions_sslkey#seckey_destroyprivatekey`
:::
(digital-signatures)=
## [Digital signatures](#digital_signatures)
:::{container}
This API consists of the routines used to perform signature generation and the routines used to
perform signature verification.
:::
(encryption-2fdecryption)=
## [Encryption/decryption](#encryption.2fdecryption)
## [Hashing](#hashing)
(key-generation)=
## [Key generation](#key_generation)
:::{container}
Generate keys, key pairs, and domain parameters.
:::
(random-number-generation)=
## [Random number generation](#random_number_generation)
:::{container}
This API consists of the two routines used for pseudorandom number generation --
PK11_GenerateRandomOnSlot and PK11_GenerateRandom -- and the two routines used for seeding
pseudorandom number generation -- PK11_SeedRandom and PK11_RandomUpdate.
:::
## [PKCS #11 functions](#pkcs_.2311_functions)
:::{container}
Based on {ref}`mozilla_projects_nss_ssl_functions_pkfnc` in the SSL Reference and
{ref}`mozilla_projects_nss_reference_nss_functions#cryptography_functions` in NSS Public
Functions.
- {ref}`mozilla_projects_nss_pkcs11_functions#secmod_loadusermodule`
- {ref}`mozilla_projects_nss_pkcs11_functions#secmod_unloadusermodule`
- {ref}`mozilla_projects_nss_pkcs11_functions#secmod_closeuserdb`
- {ref}`mozilla_projects_nss_pkcs11_functions#secmod_openuserdb`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_findcertfromnickname`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_findkeybyanycert`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_getslotname`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_gettokenname`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_ishw`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_ispresent`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_isreadonly`
- {ref}`mozilla_projects_nss_pkcs11_functions#pk11_setpasswordfunc`
:::
## [SSL Functions](#ssl_functions)
:::{container}
Based on {ref}`mozilla_projects_nss_ssl_functions_sslfnc` in the SSL Reference and
{ref}`mozilla_projects_nss_reference_nss_functions#ssl_functions` and
{ref}`mozilla_projects_nss_reference_nss_functions#deprecated_ssl_functions` in NSS Public
Functions.
- SSL_ConfigServerSessionIDCache
- SSL_ClearSessionCache
:::
(s-2fmime)=
## [S/MIME](#s.2fmime)
:::{container}
Based on the [S/MIME
has one written chapter) and
{ref}`mozilla_projects_nss_reference_nss_functions#s_2fmime_functions` in NSS Public Functions.
:::
## [PKCS #7 functions](#pkcs_.237_functions)
:::{container}
Based on ["Archived PKCS #7 Functions
:::
(pkcs-235-functions)=
## [PKCS #5 functions](#pkcs_.235_functions)
:::{container}
Password-based encryption
- SEC_PKCS5GetIV
- SEC_PKCS5CreateAlgorithmID
- SEC_PKCS5GetCryptoAlgorithm
- SEC_PKCS5GetKeyLength
- SEC_PKCS5GetPBEAlgorithm
- SEC_PKCS5IsAlgorithmPBEAlg
:::
## [PKCS #12 functions](#pkcs_.2312_functions)
:::{container}
Based on ["Archived PKCS #12 Functions
Used to exchange data such as private keys and certificates between two parties.
- SEC_PKCS12CreateExportContext
- SEC_PKCS12CreatePasswordPrivSafe
- SEC_PKCS12CreateUnencryptedSafe
- SEC_PKCS12AddCertAndKey
- SEC_PKCS12AddPasswordIntegrity
- SEC_PKCS12EnableCipher
- SEC_PKCS12Encode
- SEC_PKCS12DestroyExportContext
- SEC_PKCS12DecoderStart
- SEC_PKCS12DecoderImportBags
- SEC_PKCS12DecoderUpdate
- SEC_PKCS12DecoderFinish
- SEC_PKCS12DecoderValidateBags
- SEC_PKCS12DecoderVerify
- SEC_PKCS12DecoderGetCerts
- SEC_PKCS12DecoderSetTargetTokenCAs
- SEC_PKCS12DecoderIterateInit
- SEC_PKCS12DecoderIterateNext
- SEC_PKCS12IsEncryptionAllowed
- SEC_PKCS12SetPreferredCipher
:::
(nspr-functions)=
## [NSPR functions](#nspr_functions)
:::{container}
A small number of {ref}`mozilla_projects_nss_reference_nspr_functions` are required for using the
certificate verification and SSL functions in NSS. These functions are listed in this section.
:::
## [Error codes](#error_codes)
:::{container}
Based on {ref}`mozilla_projects_nss_ssl_functions_sslerr` in the SSL Reference.
:::
(nss-environment-variables)=
## [NSS Environment variables](#nss_environment_variables)
:::{container}
{ref}`mozilla_projects_nss_reference_nss_environment_variables`
:::
(nss-cryptographic-module)=
## [NSS cryptographic module](#nss_cryptographic_module)
:::{container}
{ref}`mozilla_projects_nss_reference_nss_cryptographic_module`
:::
(nss-tech-notes)=
## [NSS Tech Notes](#nss_tech_notes)
:::{container}
{ref}`mozilla_projects_nss_nss_tech_notes` {ref}`mozilla_projects_nss_memory_allocation`
:::
## [Tools](#tools)
:::{container}
Based on {ref}`mozilla_projects_nss_tools` documentation.
Based on {ref}`mozilla_projects_nss_tools`
:::