Главная » Статьи » Генерация самоподписанного сертификата в Linux

Генерация самоподписанного сертификата в Linux

  • pem, .crt, .cer — готовый, подписанный центром сертификации сертификат, расширения разные, но означают одно и то же. Если совсем просто, то сертификат, это подписанный открытый ключ, плюс немного информации о вашей компании;
  • .key — закрытый или открытый ключ;
  • .csr — запрос на подпись сертификата, в этом файле хранится ваш открытый ключ плюс информация, о компании и домене, которую вы указали

 

Создать приватный ключ

openssl genrsa -des3 -out server.key 2048

Создать запрос на сертификат

openssl req -new -key server.key -out server.csr

Снять пароль с приватного ключа (Чтобы не запрашивался при загрузке)

openssl rsa -in server.key -out server.key

Сгенерировать сертификат

oopenssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Далее готовые сертификаты можно использовать, например, для SSL серверов.

Для nginx

ssl_certificate /etc/nginx/conf/server.pem; ssl_certificate_key /etc/nginx/server.key;

Для apache2

SSLCertificateFile /etc/apache2/server.pem; SSLCertificateKeyFile /etc/apache2/server.key;

Проверить сертификаты можно после перезагрузки web сервера

openssl s_client -connect 192.168.1.150:443

При необходимости можно преобразовать сертификат в формат PKCS12

openssl pkcs12 -export -in ./server.crt -inkey ./server.key -out ./server.p12 -name "vpn.converters.ru"

И создание pem из p12

openssl pkcs12 -in server.p12 -out server.pem -nodes

Распаковка pfx

openssl pkcs12 -nokeys -clcerts -in server.pfx -out server.pem

Импортирование в трастор

keytool -import -trustcacerts -file server.pem -alias server -keystore cacerts.jks