Генерация CSR с помощью OpenSSL
Первоначально на Вашем ПК должен быть установлен OpenSSL. Установка в различных дистрибутивах и OS
Red-Hat/CentOS/Fedora
yum install openssl
Debian/Ubuntu
apt-get install openssl
FreeBSD
Установка из портов
cd /usr/ports/security/openssl && make install all clean
Или установка пре-компилированных файлов
pkg_add -r openssl
Gentoo
emerge install security/openssl
Ссылки на скачку бинарных файлов для Windows и Solaris можно найти на официальном сайте OpenSSL - https://www.openssl.org/related/binaries.html
Создаем директорию, где будут хранится наш CSR и Ключ:
mkdir ~/ssl
Генерируем наш ключ размером 4096 байт
openssl genrsa -out ~/ssl/rx-support.key 4096
Создаем CSR-запрос и заполняем форму
openssl req -new -sha256 -key ~/ssl/rx-support.key -out ~/domain.com.ssl/rx-support.csr
Можно указать дополнительно ключ -subj
и указать необходимые поля, дабы не вводить в ручную данные
openssl req -new -sha256 -key ~/ssl/rx-support.key -out ~/domain.com.ssl/rx-support.csr -subj "/C=UA/L=Nikolaev/ST=Nikolaevska/O=Omnilance Ltd/OU=IT Department/CN=rx-support.net"
При генерации в поле ON и OU нельзя использовать символы < > ~ ! @ # $ % ^ * / \ ( ) ?.,&
Сокращение | Полное название | Описание |
---|---|---|
CN | Common Name | Используется для ввода домена rx-support.net или в случае wildcard - *.rx-support.net. ` |
O | Organization | Поле ввода названия организации |
OU | Organization Unit | Поле ввода названия отдела организации |
L | City or Locality | Город |
ST | State or Province | Область или регион |
C | Country | Название страны в двух-буквенном формате ISO |
> При запросе пароля его вводить не обязательно (просто нажмите enter)
Провека CSR
Выполнив команду ниже мы получим всю информацию об запросе
openssl req -noout -text -in ~/rx-support.net.csr
Сгенерировать запрос с поддержкой SAN (Alternative Name)
В случае генераци мультидоменного сертфиката, вам потребуется добавить дополнительные параметры
openssl req -new -newkey rsa:4096 -nodes -sha256 -subj "/C=UA/ST=Mykolayivska/L=Mykolayiv/O=OMNILANCE LTD/OU=IT/CN=omnilance.com/emailAddress=admin__box@rx-support.net" -config <(
cat <<-EOF
[req]
default_bits = 4096
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = rx-support.com
EOF
)