Ваш скрипт генерирует только один сертификат, самозаверяющий сертификат. Обычно самозаверяющий сертификат называется Root-сертификатом. Это может использоваться как сертификат ЦС, но часто промежуточный сертификат CA создается и подписывается секретным ключом Root. Этот промежуточный сертификат CA затем используется для подписания сертификатов Сервера. Таким образом, у вас есть эта иерархия:
Root -> CA -> Сервер
СА и Root Cert может войти в список доверенных сертификатов. Тогда браузер, который доверяет этому списку, также будет доверять любому сертификату, подписанному сущностями CA или Root.
Вам не обязательно иметь эту иерархию ... вы можете использовать Root-сертификат как CA и пропустить средний сертификат. Вы также можете использовать только один самозаверяющий сертификат в качестве сертификата Root/Server. См. Это article (Trusting self-signed certificates).
Но если вы имеете эту иерархию, вот некоторые OpenSSL команды для создания необходимых ключей и сертификатов:
# 1. Create Root private key
openssl genrsa -out root.key 2048
# 2. Create self-signed Root certificate
openssl req -new -key root.key -x509 -out root.crt -days 5000 -sha256
# 3. Create CA private key
openssl genrsa -out ca.key 2048
# 4. Create CA CSR
openssl req -new -key ca.key -out ca.csr -days 5000
# 5. Sign and create CA certificate
openssl x509 -req -in ca.csr -CA root.crt -CAkey root.key -out ca.crt -set_serial 2 -days 5000 -sha256
# 6. Create Server private key
openssl genrsa -out server.key 2048
# 7. Create Server CSR
openssl req -new -key server.key -out server.csr -days 5000
# 8. Sign and create Server certificate
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -out server.crt -set_serial 3 -days 5000 -sha256
Изменить ключевые биты, # действительных дней, серийные номера, а также добавлять расширения V3, как вы считаете нужным.
Также помните, что разные браузеры имеют разные списки, которым они доверяют. Chrome и IE используют список Windows по умолчанию. У Firefox есть свой собственный список.
Какой браузер вы используете? IE и Chrome используют список доверенных сертификатов Windows, но Firefox имеет свой собственный список доверенных сертификатов. – gtrig