Назад | Перейти на главную страницу

Сертификат подписи SSL с существующим сертификатом

У меня есть сертификат SSL от sslforfree. у меня есть ca-bundle, certificate и это private ключ.

Я хочу создать свой сертификат для разных поддоменов. Я надеюсь, что каким-то образом я смогу подписать этот сертификат своими существующими сертификатами таким образом, что он пройдет все те проверки ssl, которые проходят браузеры, почтовые клиенты и другие.

Я прошел через десятки руководств, но либо я упускаю важный нюанс, либо эти руководства не то, что мне нужно.

Кто-нибудь может мне помочь, как я могу подписать свои новые сертификаты с помощью openssl из CentOS 7?

Технически это можно сделать, но этим сертификатам никто не будет доверять. Ваш SSL-сертификат *НЕ ДОПУСКАЕТСЯ* подписывать другие сертификаты.

Если вы посмотрите на свой сертификат, вы можете найти Basic Constraints расширение сертификата, которое сообщает о типе субъекта: конечный объект или CA. isCA бит будет установлен в 0, что означает, что владельцем сертификата является конечный объект. Код проверки сертификата будет строго проверять это поле, и если они обнаружат, что этот сертификат конечного объекта использовался для подписи других сертификатов, они будут автоматически отклонены. Для справки: RFC 5280 §4.2.1.9

Посмотрите на свой сертификат с помощью такой команды openssl x509 -text -in filename. Увидеть CA: FALSE? Это флаг, который говорит, что сертификат нельзя использовать в качестве CA или для подписания подчиненных сертификатов.

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            ...
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
        Validity
            Not Before: Jul  8 22:26:53 2019 GMT
            Not After : Oct  6 22:26:53 2019 GMT
        ...
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE

Ни один CA из доверенного корня не предоставит вам сертификат с включенной этой функцией. Если бы они это сделали, вы бы смогли MITM любого в мире.

Я хочу создать свой сертификат для разных поддоменов.

Просто используйте letsencrypt. Вы можете получить все бесплатные сертификаты для доменов, которые вы можете подтвердить либо с помощью DNS, либо с помощью HTTP-запроса. Вы можете использовать официальный клиент или сторонние клиенты. Для Letsencrypt существует множество простых в использовании клиентов.