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

У меня есть файлы сертификата и закрытого ключа, созданные моим коллегой. Они помещены в каталог 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 not matching ». Я добавил этот сертификат в Trusted Root Certificate Authorities , и я могу видеть зеленый статус и сайт зашифрован.

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

0
задан 17 February 2016 в 03:10
3 ответа

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

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

1
ответ дан 4 December 2019 в 16:41

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

$ 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.

0
ответ дан 4 December 2019 в 16:41

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

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

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

0
ответ дан 4 December 2019 в 16:41

Теги

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