Может быть проще всего использовать EasyRSA, таким образом вы настраиваете ЦС, и тогда вы можете подписать столько сертификатов, сколько вам нужно, и получить ключ, который вы можете вставить в свои клиенты, чтобы они перестали жаловаться на самоподписанный сертификат.
Распространяется с OpenVPN, но может легко использоваться без OpenVPN.
Просто помните, что современные браузеры хотят SAN (Subject Alternate Name), они становятся несчастными, если есть только CN (Common Name).
https://github.com/OpenVPN/easy-rsa
Как:
установите ваши переменные в файле vars
Инициализировать pki:
./easyrsa init-pki
Сборка rootCA:
./easyrsa build-ca
Генерация ключа и сертификата за один раз для example.com также для подстановочного знака
./easyrsa --subject-alt-name=DNS:example.com,DNS:\*.example.com build-server-full example.com nopass
Ключи и сертификаты будут находиться в дереве в подкаталоге pki.