网络安全服务(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及其镜像站点在全球范围内免费获得。