LINUX.ORG.RU

Проблема с самоподписанным сертификатом в Firefox

 ,


0

5

Добрый день!

Есть свой CA на основе скриптов на баше и openssl. Сгенерил (давно) сертификат для nginx, установил его, проверяю в firefox'e - и получаю ошибку SSL_ERROR_BAD_CERT_DOMAIN. Nginx установлен на ноуте, обращаюсь к нему по адресу kalyaka-laptop.acme.local, в /etc/hosts прописано «127.0.0.1 kalyaka-laptop.acme.local». В сертификате в subject alt name домен acme.local имеется (в firefox'e в свойствах сертификата есть строка «DNS Name: *.acme.local»). Корневой сертификат и промежуточный добавлены в authorities параметрах firefox'a. Не знаю, что еще смотреть. В гугле на SSL_ERROR_BAD_CERT_DOMAIN выдается куча нерелевантной информации, вроде необходимости добавить имя хоста в alt names (это уже сделано). Проверил даты в сертификатах - там все ок, сам сертификат годен до сентября 2018, а даты окончания корневого и промежуточного за 2020 годом.

Сам серт

-----BEGIN CERTIFICATE-----
MIIFUTCCBDmgAwIBAgIJAM8tLYRkgyqyMA0GCSqGSIb3DQEBCwUAMIGOMQswCQYD
VQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xEzAR
BgNVBAoMCmthbHlha2EubWUxKTAnBgNVBAsMIGthbHlha2EubWUgQ2VydGlmaWNh
dGUgQXV0aG9yaXR5MRowGAYDVQQDDBFrYWx5YWthLm1lIFRMUyBDQTAeFw0xNzA5
MzAyMDU2MjJaFw0xODA5MzAyMDU2MjJaMFgxCzAJBgNVBAYTAlVTMQswCQYDVQQI
DAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzETMBEGA1UECgwKa2FseWFrYS5t
ZTEPMA0GA1UEAwwGbnc3NXZtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAwQfKCDkEGgbMmsDLMt1lMZYcmb9klF7OampUIEzdaGtvSqPNKk03zJUpIgrR
LbOwSqy/04niIWY1wPyla9JdlWJHVjNu94AzLtWd5+JFnnoubDhlLZJ6UKCjouZA
7U5rBvpSZh5HfqTMI4+T3I69nlh960iOvFjJJdmDTXN/avI8tqu1iyx5z6RSWkm3
ahTIGLrfVHw2aBI+eipeK/tgSt1mzSuHlwYOFeZSBF+Th4iSxYdBWeSyaK1tK11L
ne6EfnbGBWYVJ1TVyrzA3H0D9r0cj8gYG+mrh0b4DgWJy3RMEvYzndmhlHZUW0ET
06eVuVetCn4lZv0m0g5CjtrwOwIDAQABo4IB5TCCAeEwDgYDVR0PAQH/BAQDAgWg
MAkGA1UdEwQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFHLgku3H
RWk55/hOlzdUNrC9nFEfMB8GA1UdIwQYMBaAFJCldsMpwSQmkzJemCo7SVbGBt/j
MHMGCCsGAQUFBwEBBGcwZTAyBggrBgEFBQcwAoYmaHR0cDovL2thbHlha2EuZ2l0
aHViLmlvL2NhL3Rscy1jYS5jZXIwLwYIKwYBBQUHMAKGI2h0dHA6Ly9wa2kua2Fs
eWFrYS5tZS9jYS90bHMtY2EuY2VyMGIGA1UdHwRbMFkwLKAqoCiGJmh0dHA6Ly9r
YWx5YWthLmdpdGh1Yi5pby9jYS90bHMtY2EuY3JsMCmgJ6AlhiNodHRwOi8vcGtp
LmthbHlha2EubWUvY2EvdGxzLWNhLmNybDCBlQYDVR0RBIGNMIGKggZudzc1dm2C
B2h4ZWhvc3SCC2Rlc2t0b3A1Mjg2gglsb2NhbGhvc3SCCTEyNy4wLjAuMYIJMTAu
MS43NC42ggwxOTIuMTY4LjU2LjGHBH8AAAGHBAoBSgaHBMCoOAGCDCouYXBwbS5s
b2NhbIIMKi5hY21lLmxvY2Fsgg0qLmxvY2FsZG9tYWluMA0GCSqGSIb3DQEBCwUA
A4IBAQAS2LAA3+5TrTKANlxP0bKLsalPuFsz8/ngJw4eESJMHhU2Dm1XjZHC1C/O
/XegiIW4F76xRVWrfmGqB/qZrBNfWJTa7S4tsKJ4gm80Tweq0gxbH0DR+v4DE5K6
qwbvtbER45HBN9Iqmuh9tOfOnDrWGdSpIR8qJRu29vaxOKsu1Ej03ct967HTtXqV
itQET4itBpTWNef3YkvyG0NAcT+5E6Qtiy0IIUPRvPpM23pdyPxQKhHfyiV4Dnpd
u72l8SbmXsilgbc8eMwQ1OrDYziLUCa3RO3mFr1tbM3gQeg7vfDJtEP1b1UqbkTZ
hCnTEtxaqQ8aWKOm5eYvKq0n0kZm
-----END CERTIFICATE-----

Ответ на: комментарий от TheAnonymous

Ошибок нет. Ошибка появляется, когда открываю адрес, подходящий под wildcard указанный в alt names. Например, host.acme.local, host.localdomain и т.п.

ka1yaka
() автор топика
Ответ на: комментарий от ukr_unix_user

Да, конечно, пробовал поставить все галки - безрезультатно. Причем на рабочей машине с оффтопиком в IE все ок - проверил на всякий случай, и в хроме тоже, они оба используют системное хранилище сертификатов. Что-то с файрфоксом, а что - не ясно.

ka1yaka
() автор топика
Ответ на: комментарий от TheAnonymous

У меня там несколько wildcard'ов, на разные цели по своему. Хотя можно и в CN один забить и использовать его, все равно этот сертификат только для экспериментов. Но костыль, и причину проблемы с лисой не устраняет.

ka1yaka
() автор топика
Ответ на: комментарий от ukr_unix_user

Вот мой /etc/hosts:

127.0.0.1       localhost
127.0.1.1       kalyaka-laptop
127.0.0.2       kalyaka-laptop.acme.local kalyaka-laptop.localdomain

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Все равно работает. Фокс выдает ту же ошибку:

kalyaka-laptop.acme.local:8443 uses an invalid security certificate. The certificate is only valid for the following names: nw75vm, hxehost, desktop5286, localhost, 127.0.0.1, 10.1.74.6, 192.168.56.1, 127.0.0.1, 10.1.74.6, 192.168.56.1, *.acme.local, *.localdomain Error code: SSL_ERROR_BAD_CERT_DOMAIN .

Что интересно, по совету TheAnonymous сгенерил новый сертификат (но со старым ключом), в нем поменял CN с «nw75vm» на «*.acme.local», и ошибка та же самая.

ka1yaka
() автор топика
Ответ на: комментарий от ukr_unix_user

Попробовал натравить openssl на мой nginx.

openssl s_client -connect kalyaka-laptop.acme.local:8443 -CAfile tls-ca.chain.crt -servername kalyaka-laptop.acme.local 


depth=2 C = US, ST = CA, L = San Francisco, O = kalyaka.me, OU = kalyaka.me Certificate Authority, CN = kalyaka.me CA
verify return:1
depth=1 C = US, ST = CA, L = San Francisco, O = kalyaka.me, OU = kalyaka.me Certificate Authority, CN = kalyaka.me TLS CA
verify return:1
depth=0 C = US, ST = CA, L = San Francisco, O = kalyaka.me, CN = *.acme.local
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:/C=US/ST=CA/L=San Francisco/O=kalyaka.me/CN=*.acme.local
   i:/C=US/ST=CA/L=San Francisco/O=kalyaka.me/OU=kalyaka.me Certificate Authority/CN=kalyaka.me TLS CA
 1 s:/C=US/ST=CA/L=San Francisco/O=kalyaka.me/OU=kalyaka.me Certificate Authority/CN=kalyaka.me TLS CA
   i:/C=US/ST=CA/L=San Francisco/O=kalyaka.me/OU=kalyaka.me Certificate Authority/CN=kalyaka.me CA
 2 s:/C=US/ST=CA/L=San Francisco/O=kalyaka.me/OU=kalyaka.me Certificate Authority/CN=kalyaka.me CA
   i:/C=US/ST=CA/L=San Francisco/O=kalyaka.me/OU=kalyaka.me Certificate Authority/CN=kalyaka.me CA
---
Server certificate
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=/C=US/ST=CA/L=San Francisco/O=kalyaka.me/CN=*.acme.local
issuer=/C=US/ST=CA/L=San Francisco/O=kalyaka.me/OU=kalyaka.me Certificate Authority/CN=kalyaka.me TLS CA
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 4358 bytes and written 465 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: D55F799026E9BCD6631AE9FAF112B7F90441EEDC6D9B1E880F0F454BA0B4F833
    Session-ID-ctx: 
    Master-Key: ADE5204794A4ADA070D87FE019C5E61FD2180298F62479E96A92FB0979C541D10934C9C3796FF2E1B5EDA39822B5A412
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 3600 (seconds)
    TLS session ticket:
    0000 - 46 c3 00 48 1d 45 c4 21-63 e3 eb 6f 9a 76 4e 2b   F..H.E.!c..o.vN+
    0010 - 3a 5d e4 4a 66 eb 46 1a-af 44 c1 cf 02 42 8f f5   :].Jf.F..D...B..
    0020 - cc 3e 9a 7b cf d8 53 4a-32 61 57 4b 95 37 8e ad   .>.{..SJ2aWK.7..
    0030 - 4c 07 c6 91 19 a1 17 41-5d 73 ff 07 72 bf 58 d7   L......A]s..r.X.
    0040 - 27 9e e0 e2 c9 9b 86 a6-b3 19 1d cd 9b 37 cd 51   '............7.Q
    0050 - 7f 32 be 19 24 8e 5e c1-22 2c 23 67 15 29 84 3e   .2..$.^.",#g.).>
    0060 - 69 0a 73 d8 43 62 21 2a-64 ec 69 f3 11 90 4f bc   i.s.Cb!*d.i...O.
    0070 - ee a1 6f cd 4f 2b bd f5-33 06 f9 02 05 5a 87 57   ..o.O+..3....Z.W
    0080 - e8 37 41 57 cc 73 c3 7c-a0 d3 9c cb 52 03 89 5c   .7AW.s.|....R..\
    0090 - cc 36 93 ec 90 91 eb 6c-5e c0 67 85 c4 5b f0 ab   .6.....l^.g..[..
    00a0 - f3 67 94 d2 be fd 9f aa-8e bc 45 e3 89 de cb 29   .g........E....)
    00b0 - 5c dc 3f fe 3f 06 b1 6c-b9 36 89 66 82 54 19 ae   \.?.?..l.6.f.T..
    00c0 - d1 90 ea 4e bb b8 d1 a6-16 d2 f3 a4 1f 0a 8f c1   ...N............

    Start Time: 1519142094
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---

tls-ca.chain.crt - склеенные cat'ом промежуточный+корневой сертификаты. Сообщений о том, что сервер использует самоподписанный сертификат нет, вроде все ОК.

ka1yaka
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.