Включение поддержки SSL в сервер приложений

Сервер приложений версии 8.1 является последним релизом Sun Java сервера приложений и соответствует спецификации J2EE 1.4. Существует три версии сервера приложений: Platform Edition, распространяется бесплатно, является J2EE 1.4 сервером с интегрированной службой веб безопасности и технологией JavaServer Faces, Standard Edition добавляет удаленное, безопасное управление многими машинами и Enterprise Edition для наиболее требовательных операционных сред.

Для включения поддержки SSL, мы в первую очередь научимся управлять файлами сертификатов, в которых хранятся цифровые сертификаты всех участников соединения, как сервер, клиент и ЦС. SSL движок получает данные цифровые сертификаты из хранилища и использует их для аутентификации и шифрования сообщений, основываясь на технологии инфраструктуры открытых ключей (Public-Key Infrastructure – PKI).

Следует отметить, что средства управления файлами сертификатов различаются в каждой из версий сервера приложений. Версия Platform Edition использует формат Java Secure Socket Extension (JSSE), применяя для управления сертификатами средства, поставляемые с JDK. А в версиях Standard Edition и Enterprise Edition для хранения и управления ключами используются инструменты Network Security Services (NSS). В данной статье рассматриваются инструменты, используемые в версии Standard Edition, что позволяет показать их применение для общих случаев.

Замечание. JSSE является набором пакетов Java, позволяющим устанавливать безопасные соединения через Интернет. В нем реализованы Java версии протоколов SSL и протокола безопасности транспортного уровня (Transport Layer Security ¬– TLS). В данный пакет включены функции шифрования данных, аутентификации сервера, поддержания целостности данных и необязательная аутентификация клиента. Для сравнения NSS, предоставляет полную открытую реализацию библиотек шифрования, используемую Netscape, Sun и другими компаниями в различных продуктах, в том числе и сервере приложений. В данной статье рассматриваются только средства NSS, используемые в версиях Standard Edition и Enterprise Edition.

Перед тем как продолжить, давайте обсудим договоренности по наименованию папок.

Выражение as_install_dir ссылается на папку, в которую установлен сервер приложений. По умолчанию это – /opt/sun/appserver.
Выражение domain_dir ссылается на папку, в которую установлен домен. По умолчанию это – /var/opt/appserver/domains.
Файлы сертификатов и инструменты
По умолчанию, сервер приложений сохраняет информацию о сертификатах в двух файлах формата NSS, находящихся в папке domain_dir/domain_name/config:

Файл ключей – по умолчанию называется key3.db, в нем хранятся цифровой сертификат сервера приложений, а также его закрытый ключ.
Файл доверенностей – по умолчанию называется cert8.db, в нем хранятся доверительные сертификаты, в том числе открытые ключи для других. Доверительные сертификаты зачастую относятся к ЦС.
Утилита базы данных сертификатов – Certutil
Утилита Certutil используется для настройки и работы с цифровыми сертификатами NSS. Данная утилита базы данных сертификатов является приложением командной строки и обладает возможностями создания и изменения файлов базы данных формата NSS, а именно key3.db и cert8.db. В данной утилите имеются возможности создания, изменения и удаления сертификатов в файле cert8.db, а так же создания и изменения паролей, создания новых открытых и закрытых пар ключей, отображения содержания базы данных ключей и удаление пар ключей в файле key3.db.

Добавить комментарий