OpenSSL не требует административного терминала.
... Мне не ясно, какие из этих парольных фраз и сгенерированных файлов когда-нибудь понадобятся снова и для каких целей.
- Пароль CA / ICA используется при подписании новых сертификатов, поскольку CA / ICA всегда должен иметь зашифрованный ключ
- Сертификаты сервера никогда не должны иметь зашифрованный ключ, так как он требует ручного вмешательства для запуска
- Клиентские сертификаты с зашифрованным ключом будут запрашивать пароль при каждом использовании сертификата.
... Далее я задаю вопрос, как создать сертификат авторизации сервера для одного или нескольких сайтов в домене localhost.
Это достигается с помощью профилей SAN.
- Файл openssl.cnf по умолчанию из OpenSSL довольно сложно разобрать для любого, кто не знаком с ним, поэтому несколько лет назад на моем GitHub я создал специальный, легкий для понимания openssl.cnf.
- Строка 164: начинаются профили SAN
- Строка 260: начинаются профили V3
- Строка 430: начинаются все необходимые команды и информация
... Может кто-нибудь предоставить такой алгоритм, список шагов, подобный приведенному выше, для создания и установки сертификата сайта localhost на основе существующего сертификата локальной CA, созданного, как указано выше?
Чтобы быть в здравом уме, я буду использовать профили V3, содержащиеся в моем связанном openssl.cnf выше
Создать необходимые каталоги:
mkdir ca\csr certs crl keys
Создать необходимые файлы:
echo 00 > crl\crlnumber && type NUL > index && type NUL > rand && echo 00 > serial
Создать CA
openssl req -x509 -new -sha512 -days 3650 -newkey rsa:4096 -keyout ca\ca.key.pem -out ca\ca.crt.pem -config .\openssl.cnf -extensions v3_ca
Ключевые фразы CA: минимум 20 символов, содержащие 2: прописные, строчные, цифры и символы
Создайте сертификат сервера CSR:
openssl req -out ca\csr\server.csr -new -days 3650 -sha512 -newkey rsa:2048 -keyout keys\server.key.pem -config .\openssl.cnf -extensions v3_sophos -nodes
Создайте и подпишите сертификат с CA:
openssl x509 -req -sha512 -days 3650 -in ca\csr\server.csr -CA ca\ca.crt.pem -CAkey ca\ca.key.pem -CAserial .\serial -out certs\server.crt.pem -extfile .\openssl.cnf -extensions v3_sophos
Объединить CA с Cert:
type ca/ca.crt.pem >> certs/server.crt.pem
Экспорт в PKCS12:
openssl pkcs12 -export -out certs\server.p12 -inkey certs\server.key.pem -in certs\server.crt.pem -certfile ca\ca.crt.pem
Дополнительная информация
- Индексный файл
- keyUsage & extendedKeyUsage
- Обмен ключами и обмен ключами EC
- Руководства