Используйте криптографический протокол SSL для защиты и сертификации ваших данных. Для работы с SSL сертификатами на Unix-подобных серверах используйте утилиту openssl. Наиболее распространенные команды этой утилиты приведены ниже.
Для получения полного описания утилиты openssl и ее команд выполните команду
man openssl
Создание ключа
Для создания ключа для SSL-сертификата используйте команду openssl req. Например,
openssl req -batch -noout -new -newkey rsa:2048 -nodes -keyout cert.key где -batch - используется для отсутствия вопросов во время генерации ключа; -noout - означает не выводить результаты команды; -new - создает новый запрос; -newkey rsa:2048 - генерирует новый ключ размером 2048 бит; -nodes - не шифрует ключ; -keyout cert.key - указывает файл, в котором хранить ключ.
Если файл с ключом или пароль утеряны, то необходимо перезаказать сертификат.
Создание запроса на создание сертификата
CSR-запрос (Certificate Signing Request) - запрос на получение сертификата. Для создания запроса используйте команду
openssl req -new -key cert.key -out cert.csr где cert.key - файл с закрытым ключом, cert.csr - файл вывода.
Создание ключа и самоподписанного сертификата
Выполните команду
openssl req -newkey rsa:1024 -nodes -keyout server.key -out server.crt -x509 -days 3650 -subj \ "/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=mydomain.ru/emailAddress="root@example.com где mydomain.ru - имя вашего домена.
Удаление пароля из ключа
Удаление пароля из ключа может быть полезно при ручной конфигурации SSL-сертификата на веб-сервере Apache. Выполните команду
openssl rsa -in cert.key -out cert.key
Введите пароль из консоли.
Просмотр данных сертификата и CSR
Выполните команды
openssl x509 -noout -text -in cert.crt - для просмотра данных сертификата; openssl req -noout -text -in cert.csr - для просмотра данных CSR.
Проверка соответствия ключей
Проверьте, соответствует ли ключ сертификату, выполнив команды
openssl x509 -noout -modulus -in cert.crt | openssl md5 openssl rsa -noout -modulus -in cert.key | openssl md5
Значения ключей в командах должны совпадать.
Проверка подключения по HTTPS
Выполните команду
openssl s_client -connect localhost:443 -state -debug
Убедитесь, что в результате выполнения команды установлено соединение.
Выполните команду для проверки почты по защищенному протоколу
openssl s_client -connect localhost:993 -showcerts
Изменение SSL-сертификата, который был выдан при регистрации сервера
Выполните команду
openssl req -new -newkey rsa:1024 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 5000 -out /etc/pki/tls/certs/localhost.crt
В процессе выполнение команды ответьте на вопросы и перезапустите веб-сервер по окончании.