Генерируем корневой сертификат, подписанный собой.

openssl req -new -newkey rsa:2048 -x509 -nodes -keyout cakey.pem -out cacert.pem -days 3650

Сертификат сроком на 10 лет. Опция -nodes означает не шифровать ключ. Если вы параноик, можете убрать.

Далее генерируем запрос на подпись клиентского сертификата

openssl req -new -newkey rsa:1024 -nodes -keyout client.key -out client.csr

Подписываем его корневым сертификатом

openssl x509 -req -CA cacert.pem -CAkey cakey.pem -days 730 -in client.csr -out client.crt -CAcreateserial

В результате имеем:
Корневой сертификат cacert.pem
Ключ корневого сертификата cakey.pem
Клиентский сертификат client.crt
Ключ клиентского сертификата client.key

Ключи должны быть доступны только администратору, особенно корневой. Им же нужно подписывать дополнительные сертификаты для клиентов.

Чтобы при создании указать параметры CN, OU, etc. можно использовать либо

-subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com"

Либо создать сонфиг openssl.conf содержанием:

countryName         = Country Name (2 letter code)
countryName_default     = US
countryName_min     = 2
countryName_max     = 2
0.organizationName      = Organization Name (eg, company)
0.organizationName_default  = My Company Name LTD.
commonName          = Common Name (eg, YOUR name)
commonName_max      = 64
commonName_default      = ${ENV::CN}

И использовать при вызове параметр

-config openssl.conf

=================

Для установки в nginx:

listen 443 ssl;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;

ssl_session_cache   shared:SSL:10m;

ssl_session_timeout 10m;

ssl_certificate     /usr/local/nginx/conf/client.pem;

ssl_certificate_key /usr/local/nginx/conf/client.key;

Взято из http://nginx.org/ru/docs/http/ngx_http_ssl_module.html

----------------

Неинтерактивное создаание CSR:

https://www.shellhacks.com/ru/create-csr-openssl-without-prompt-non-interactive/

-------------------

Ещё один вариант

AWX_WEB_FQDN="awx.yourhost.com"

req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha512 -days 3650 -nodes -subj "/CN=${AWX_WEB_FQDN}/O=${AWX_WEB_F
QDN}"