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

У меня есть сертификат SSL от sslforfree . У меня есть ca-bundle , сертификат и его частный ключ.

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

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

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

1
задан 11 July 2019 в 22:29
2 ответа

Технически вы можете это сделать, но никто не будет доверять этим сертификатам. Ваш SSL-сертификат * НЕ РАЗРЕШЕН * для подписи других сертификатов.

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

4
ответ дан 3 December 2019 в 16:32

Посмотрите на свой сертификат с помощью такой команды 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 существует множество простых в использовании клиентов.

3
ответ дан 3 December 2019 в 16:32

Теги

Похожие вопросы