Учитывая сертификат (ca-cert.pem) и его закрытый ключ (ca-key.pem), используйте OpenSSL, чтобы подписать предоставленный CSR (csr.pem) и сгенерировать сертификат для него (cert.pem) -
openssl x509 -req -in csr.pem -out cert.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 365 -sha256
Значение параметров -
- -CAcreateserial - серийный номер будет генерироваться случайным образом для сертификата (и будет увеличиваться при будущих активациях).
- -дней 365 - срок действия сертификата составляет 365 дней.
- -sha256 - сертификат будет использовать SHA256 в качестве алгоритма подписи (по умолчанию).
Для создания такого сертификата с ключом «подписи сертификата»использование (а также базовое ограничение CA, которое вам, вероятно, нужно), создайте файл конфигурации (config.txt) -
[extensions]
keyUsage = keyCertSign
basicConstraints = CA:TRUE
и предоставьте его также OpenSSL (указывая на раздел «расширения»)-
openssl x509 -req -in csr.pem -out cert.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 365 -sha256 -extfile config.txt -extensions extensions
Проверьте полученный сертификат -
openssl x509 -in cert.pem -noout -text
Он имеет -
X509v3 extensions:
X509v3 Key Usage:
Certificate Sign
X509v3 Basic Constraints:
CA:TRUE
Для полноты, вот как создать «предоставленный» ключ CA, Сертификат самоподписания CA, ключ субъекта и CSR (здесь с использованием ключей RSA ключи EC могут использоваться одинаково) -
ключ CA -
openssl genpkey -algorithm RSA -out ca-key.pem -pkeyopt rsa_keygen_bits:2048
сертификат СА с автоподписью -
openssl req -key ca-key.pem -new -x509 -days 365 -out ca-cert.pem -sha256 -subj /CN=CACert
Ключ субъекта -
openssl genpkey -algorithm RSA -out key.pem -pkeyopt rsa_keygen_bits:2048
CSR для ключа субъекта -
openssl req -new -key key.pem -out csr.pem -sha256 -subj /CN=SubjectCert