Введение
Сетевые службы безопасности (NSS) - это коллекция криптографических компьютерных библиотек, предназначенных для поддержки кроссплатформенной разработки клиентских и серверных приложений с поддержкой аппаратного ускорения TLS / SSL на стороне сервера и аппаратных смарт-карт на стороне клиента. NSS предоставляет полную реализацию криптографических библиотек с открытым исходным кодом, поддерживающих Transport Layer Security (TLS) / Secure Sockets Layer (SSL) и S/MIME. Выпуски NSS до версии 3.14 лицензируются под общественной лицензией Mozilla 1.1, общественной лицензией GNU и общественной лицензией GNU Lesser. С релиза 3.14, релизы NSS лицензируются под совместимой с GPL Mozilla Public License 2.0.
Network Security Services (NSS) is a collection of cryptographic computer libraries designed to support cross platform development of security enabled client and server applications with optional support for hardware TLS/SSL acceleration on the server side and hardware smart cards on the client side. NSS provides a complete open source implementation of cryptographic libraries supporting Transport Layer Security (TLS) / Secure Sockets Layer (SSL) and S/MIME. NSS releases prior to version 3.14 are tri licensed under the Mozilla Public License 1.1, the GNU General Public License, and the GNU Lesser General Public License. Since release 3.14, NSS releases are licensed under GPL compatible Mozilla Public License 2.0.
История
NSS возникла из библиотек, разработанных, когда Netscape изобрел протокол безопасности SSL.
Архитектура
NSS включает в себя структуру, в которую разработчики и производители OEM могут вносить патчи, такие как сборочный код, для оптимизации производительности на своих платформах. Mozilla сертифицировала NSS 3. x на 18 платформах. NSS использует Netscape Portable Runtime (NSPR), нейтральный для платформы API с открытым исходным кодом для системных функций, предназначенных для облегчения кроссплатформенной разработки. Как и NSS, NSPR широко используется в нескольких продуктах.
Комплект разработки программного обеспечения
В дополнение к библиотекам и API, NSS предоставляет инструменты безопасности, необходимые для отладки, диагностики, управления сертификатами и ключами, управления модулями криптографии и других задач разработки. NSS поставляется с обширным и растущим набором документации, включая вводный материал, ссылки на API, страницы руководства для инструментов командной строки и примерный код. Программисты могут использовать NSS как исходные и как общие (динамические) библиотеки. Каждый выпуск NSS является обратной совместимым с предыдущими выпусками, что позволяет пользователям NSS обновлять свои приложения до новых NSS-библиотек без повторной компиляции или перессылки.
Поддержка оборудования
NSS поддерживает интерфейс PKCS #11 для доступа к криптографическому оборудованию, такому как ускорители TLS/SSL, модули безопасности оборудования и смарт-карты. Поскольку большинство поставщиков оборудования, таких как SafeNet, AEP и Thales, также поддерживают этот интерфейс, приложения с поддержкой NSS могут работать с высокоскоростным крипто-аппаратурой и использовать частные ключи, находящиеся на различных смарт-картах, если поставщики предоставляют необходимое среднее ПО. Версия NSS 3.13 и выше поддерживает Advanced Encryption Standard New Instructions (AES NI).
Поддержка Java
Сервисы сетевой безопасности для Java (JSS) состоят из интерфейса Java для NSS. Он поддерживает большинство стандартов безопасности и технологий шифрования, поддерживаемых NSS. JSS также предоставляет чистый интерфейс Java для типов ASN.1 и кодирования BER/DER.