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

Как доверять самоподписанному сертификату другому издателю?

У меня есть файлы сертификата и закрытого ключа, созданные моим коллегой. Ставятся в Apache /etc/apache/ssl каталог и все конфигурации установлены правильно.

Я открыл сайт с https:// и получил "сертификат не доверяет"ошибка, а также"URL не соответствует", поэтому я добавил его в Надежные корневые центры сертификации.

Но это не устранило ошибку, проблема все еще сохраняется. Когда я заглянул в детали сертификата, я увидел, что «выдан» и «выдан» имеют разные значения.

Попробуйте 1:

Я создал свой собственный сертификат и файлы закрытого ключа с помощью приведенной ниже команды и перезагрузил конфигурации Apache.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Этот сертификат имеет одинаковые значения «выдан» и «выдан». После этого я снова открыл сайт с https:// и получил "сертификат не доверяет"ошибка, на этот раз без"URL не соответствует"ошибка. Я добавил этот сертификат в Надежные корневые центры сертификации и я вижу зеленый статус, и сайт зашифрован.

Почему я не могу заставить его работать с существующим сертификатом?

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

Таким образом, сертификат должен быть не только в доверенном корневом хранилище (или иметь цепочку, которая в конечном итоге преобразуется в доверенный корень в магазине, как в случае с сертификатом, который вы бы приобрели на коммерческой основе), но он должен быть действительным во всех остальных отношениях также. Соответствие имени, срок действия не истек, подходит для указанной цели и т. Д.

Как указывает @Xander, проблема может заключаться в том, что поля CN или SAN не содержат имя домена или срок действия сертификата истек. Если вы разместите поля сертификата, мы сможем вам помочь. Вы можете сбросить значения с помощью команды

openssl x509 -noout -text -in /path-to-the-colleague-cert/server.crt

В поле Тема CN должно быть имя домена, который вы использовали для доступа к сайту. Если у него есть альтернатива имени субъекта, CN игнорируется, и тогда вы не должны убедиться, что некоторые из полей SAN содержат имя домена

Самоподписанный сертификат должен иметь те же значения в Issued by и Issue to поля. Чтобы проверить это, я выполнил следующие команды (на основе этого статья):

$ openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt
[..]
Country Name (2 letter code) [AU]:**
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:test.example.com
Email Address []:

$ openssl x509 -in server.crt -text -noout
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 15468555439710779235 (0xd6ab59376c65b763)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=**, O=Internet Widgits Pty Ltd, CN=test.example.com
        Validity
            Not Before: Feb 16 22:10:50 2016 GMT
            Not After : Feb 15 22:10:50 2017 GMT
        Subject: C=**, O=Internet Widgits Pty Ltd, CN=test.example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:e3:cd:74:a4:45:6a:ed:54:51:f0:9e:1b:1f:b2:
                    [..]
                    28:2d
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                DC:BB:4C:1B:74:8E:76:7D:60:C9:25:3B:78:B6:EA:F5:70:5C:0E:FD
            X509v3 Authority Key Identifier: 
                keyid:DC:BB:4C:1B:74:8E:76:7D:60:C9:25:3B:78:B6:EA:F5:70:5C:0E:FD

            X509v3 Basic Constraints: 
                CA:TRUE
    Signature Algorithm: sha256WithRSAEncryption
         76:7b:0c:d9:a8:e1:47:e3:19:6e:05:c9:8a:1a:d4:f5:19:25:
         [..]
         83:2f:7a:21

Кажется, что Issuer и Subject одинаковые.

Если этот сертификат будет добавлен в доверенное хранилище (клиент / веб-браузер) и назначен веб-серверу с виртуальным хостом с доменом text.example.com и страница будет доступна https://test.example.com/ он должен быть отмечен как доверенный / соответствующий URL.