网络安全服务(Network Security Services, NSS

网络安全服务(Network Security Services, NSS)是一套为网络安全服务而设计的库

支持支持安全的客户端和

服务器应用程序。使用NSS构建的应用程序可以支持SSL v2

和v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509

v3证书和其他安全标准。

 

如果需要命令行工具,请安装nss-tools包

操作NSS证书和密钥数据库。

 

 

开源加密库

经过验证的应用程序安全体系结构

如果您想为您的应用程序添加对SSL、S/MIME或其他互联网安全标准的支持,您可以使用网络安全服务(NSS)来实现所有的安全特性。NSS提供了AOL、Red Hat、谷歌和其他公司在各种产品中使用的加密库的完整开源实现,包括以下内容:

 

Mozilla产品,包括Firefox、Thunderbird、SeaMonkey和Firefox OS。

美国在线即时通讯(AIM)

开源客户端应用程序,如Evolution、Pidgin、Apache OpenOffice和LibreOffice。

Red Hat的服务器产品包括:Red Hat Directory Server、Red Hat Certificate System和Apache web服务器的mod_nss SSL模块。

Oracle(原Sun Java企业系统)的服务器产品,包括Oracle通信消息传递服务器和Oracle目录服务器企业版。

SUSE Linux Enterprise Server支持NSS, Apache web服务器支持mod_nss SSL模块。

NSS包括一个框架,开发人员和原始设备制造商可以提供补丁,如汇编代码,以优化其平台上的性能。NSS 3。x已经在18个平台上获得了认证。

 

有关NSS的更多详细信息,请参阅wiki.mozilla.org和NSS FAQ。

 

在Mozilla CVS树中可以找到NSS的Java接口的源代码。具体操作请参见Java网络安全服务。

 

NSS使用了Netscape可移植运行时(NSPR),这是一个平台中立的开源API,用于系统功能,旨在促进跨平台开发。和NSS一样,NSPR也在多种产品中经受过考验。更多信息,请参阅NSPR项目页面。

 

互操作性和开放标准部分

您可以使用NSS在您的应用程序中支持一系列的安全标准,包括以下内容:

 

SSL v3。安全套接字层(SSL)协议允许在客户端和服务器之间进行相互身份验证,并建立经过身份验证和加密的连接。

TLS v1.3 (RFC pending), TLS v1.2 (RFC 5246), TLS v1.1 (RFC 4346), TLS v1 (RFC 2246)。来自IETF的替代SSL的传输层安全(TLS)协议。

PKCS # 1。管理基于RSA算法的公钥密码学实现的标准。

PKCS # 3。管理Diffie-Hellman密钥协议实现的RSA标准。

PKCS # 5。管理基于密码的密码学的RSA标准,例如加密用于存储的私钥。

PKCS # 7。管理密码学在数据上的应用的RSA标准,例如数字签名和数字信封。

PKCS # 8。管理私有密钥的存储和加密的RSA标准。

PKCS # 9。管理所选属性类型的RSA标准,包括与PKCS #7、PKCS #8和PKCS #10一起使用的属性类型。

PKCS # 10。管理证书请求语法的RSA标准。

PKCS # 11。RSA标准管理与加密令牌(如硬件加速器和智能卡)的通信,并允许应用程序独立于特定的算法和实现。

PKCS # 12。管理用于存储或传输私钥、证书和其他秘密材料的格式的RSA标准。

S/MIME (RFC 2311和RFC 2633)。IETF消息规范(基于流行的Internet MIME标准),它提供了一种一致的方式来发送和接收经过签名和加密的MIME数据。

v3。国际电信联盟管理用于公开密钥密码学认证的证书格式的标准。

OCSP (RFC 2560)。在线证书状态协议OCSP (Online Certificate Status Protocol)对证书的有效性进行实时确认。

PKIX证书和CRL配置文件(rfc3280)。IETF的公开密钥基础设施(X.509)工作组(在PKIX中为人所知)正在开发的Internet公开密钥基础设施四部分标准的第一部分。

RSA、DSA、ECDSA、Diffie-Hellman、EC Diffie-Hellman、AES、三重DES、DES、RC2、RC4、SHA-1、SHA-256、SHA-384、SHA-512、MD2、MD5、HMAC:用于公开密钥和对称密钥密码学的常用加密算法。

FIPS 186-2伪随机数生成器。

详细信息请参见加密技术。

 

FIPS 140验证和NISCC测试部分

NSS软件加密模块已经过三次验证,在安全级别1和2上符合FIPS 140。有关更多信息,请参阅NSS FIPS页面(或此页面)。

 

NSS库通过了NISCC TLS/SSL和S/MIME测试套件(160万个无效输入数据的测试用例)。

 

完整的软件开发工具包

除了库和api之外,NSS还提供了调试、诊断、证书和密钥管理、加密模块管理以及其他开发任务所需的安全工具。

 

NSS附带了一组广泛且不断增长的文档,包括介绍材料、API参考、命令行工具的手册页和示例代码。

 

NSS库通过了NISCC TLS/SSL和S/MIME测试套件(160万个无效输入数据的测试用例)。

 

完整的软件开发工具包

除了库和api之外,NSS还提供了调试、诊断、证书和密钥管理、加密模块管理以及其他开发任务所需的安全工具。

 

NSS附带了一组广泛且不断增长的文档,包括介绍材料、API参考、命令行工具的手册页和示例代码。

 

NSS可以作为源库和共享(动态)库。每个NSS版本都与以前的版本向后兼容,允许NSS用户升级到新的NSS共享库,而无需重新编译或重新链接他们的应用程序。

 

开源许可和分发部分

NSS在Mozilla公共许可证(版本2)下可用。最新的源代码可以从https://www.mozilla.org及其镜像站点在全球范围内免费获得。

 

 

 

Open Source Crypto Libraries

Proven Application Security ArchitectureSection

If you want to add support for SSL, S/MIME, or other Internet security standards to your application, you can use Network Security Services (NSS) to implement all your security features. NSS provides a complete open-source implementation of the crypto libraries used by AOL, Red Hat, Google, and other companies in a variety of products, including the following:

NSS includes a framework to which developers and OEMs can contribute patches, such as assembler code, to optimize performance on their platforms. NSS 3.x has been certified on 18 platforms.

For more detailed information about NSS, see wiki.mozilla.org and NSS FAQ.

Source code for a Java interface to NSS is available in the Mozilla CVS tree. For details, see Network Security Services for Java.

NSS makes use of Netscape Portable Runtime (NSPR), a platform-neutral open-source API for system functions designed to facilitate cross-platform development. Like NSS, NSPR has been battle-tested in multiple products. For more information, see the NSPR Project Page.

Interoperability and Open StandardsSection

You can use NSS to support a range of security standards in your application, including the following:

  • SSL v3. The Secure Sockets Layer (SSL) protocol allows mutual authentication between a client and server and the establishment of an authenticated and encrypted connection.
  • TLS v1.3 (RFC pending), TLS v1.2 (RFC 5246), TLS v1.1 (RFC 4346), TLS v1 (RFC 2246). The Transport Layer Security (TLS) protocol from the IETF that supersedes SSL.
  • PKCS #1. RSA standard that governs implementation of public-key cryptography based on the RSA algorithm.
  • PKCS #3. RSA standard that governs implementation of Diffie-Hellman key agreement.
  • PKCS #5. RSA standard that governs password-based cryptography, for example to encrypt private keys for storage.
  • PKCS #7. RSA standard that governs the application of cryptography to data, for example digital signatures and digital envelopes.
  • PKCS #8. RSA standard that governs the storage and encryption of private keys.
  • PKCS #9. RSA standard that governs selected attribute types, including those used with PKCS #7, PKCS #8, and PKCS #10.
  • PKCS #10. RSA standard that governs the syntax for certificate requests.
  • PKCS #11. RSA standard that governs communication with cryptographic tokens (such as hardware accelerators and smart cards) and permits application independence from specific algorithms and implementations.
  • PKCS #12. RSA standard that governs the format used to store or transport private keys, certificates, and other secret material.
  • S/MIME (RFC 2311 and RFC 2633). IETF message specification (based on the popular Internet MIME standard) that provides a consistent way to send and receive signed and encrypted MIME data.
  • X.509 v3. ITU standard that governs the format of certificates used for authentication in public-key cryptography.
  • OCSP (RFC 2560). The Online Certificate Status Protocol (OCSP) governs real-time confirmation of certificate validity.
  • PKIX Certificate and CRL Profile (RFC 3280). The first part of the four-part standard under development by the Public-Key Infrastructure (X.509) working group of the IETF (known at PKIX) for a public-key infrastructure for the Internet.
  • RSA, DSA, ECDSA, Diffie-Hellman, EC Diffie-Hellman, AES, Triple DES, DES, RC2, RC4, SHA-1, SHA-256, SHA-384, SHA-512, MD2, MD5, HMAC: Common cryptographic algorithms used in public-key and symmetric-key cryptography.
  • FIPS 186-2 pseudorandom number generator.

For complete details, see Encryption Technologies.

FIPS 140 Validation and NISCC TestingSection

The NSS software crypto module has been validated three times for conformance to FIPS 140 at Security Levels 1 and 2. For more information, see the NSS FIPS page (Or this one).

The NSS libraries passed the NISCC TLS/SSL and S/MIME test suites (1.6 million test cases of invalid input data).

Complete Software Development KitSection

In addition to libraries and APIs, NSS provides security tools required for debugging, diagnostics, certificate and key management, cryptography module management, and other development tasks.

NSS comes with an extensive and growing set of documentation, including introductory material, API references, man pages for command-line tools, and sample code.

NSS is available as source and shared (dynamic) libraries. Every NSS release is backward compatible with previous releases, allowing NSS users to upgrade to the new NSS shared libraries without recompiling or relinking their applications.

Open-Source Licensing and DistributionSection

NSS is available under the Mozilla Public License, version 2. The latest source code is available for free worldwide from https://www.mozilla.org and its mirror sites.

原文地址:https://www.cnblogs.com/xuanbjut/p/14211755.html