Добрый день всем,
Я полностью застрял. Не знаю, как следовать, и что я я делаю что-то не так. Я надеюсь, что вы можете мне помочь с этим, так как я много читал, чтобы решить эту проблему, но безуспешно ...
У меня:
Я купил РАСШИРЕННЫЙ сертификат на GoDaddy, поэтому у меня может быть "зеленый значок" на строке URL.
Теперь я скачал сертификат от GoDaddy, а внутри архива ZIP есть соответствующий сертификат и пакет G2 + G1 + ROOT. Итак, 2 файла внутри.
Поместил их в папку и правильно указал внутри 443 VHOST, как вы увидите дальше, но каждый тест SSL, который я выполняю в Интернете (SSLLabs, DigiCert ...), просто терпит неудачу о процессе объединения .
Сайт: cliente.merchbanc.es
Это выглядит так:
##################################################################################################################
# VHOSTS HTTP
# redirect all HTTP to HTTPS (optional)
<VirtualHost *:80>
ServerAlias *
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
##################################################################################################################
# VHOSTS HTTPS
Listen 443
# modern configuration, tweak to your needs
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLProxyCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets off
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:c:/lala/lele/ssl_scache(512000)"
SSLSessionCacheTimeout 300
# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache "shmcb:c:/lala/lele/ocsp(128000)"
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile "blah/blahblah/cliente.merchbanc.es/123412341234.crt"
SSLCertificateKeyFile "blah/blahblah/cliente.merchbanc.es/123412341324.key"
#SSLCertificateChainFile "blah/blahblah/cliente.merchbanc.es/gd_bundle-g2-g1.crt"
SSLCACertificatePath "blah/blahblah/cliente.merchbanc.es/GoDaddy_G2"
# Uncomment the following directive when using client certificate authentication
#SSLCACertificateFile /path/to/ca_certs_for_client_authentication
# HSTS (mod_headers is required) (15768000 seconds = 6 months)
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
...
... follows with the ProxyPassing part, but not the case now.
...
</VirtualHost>
Следуя инструкциям по установке GoDaddy, я изменил директиву SSLCertificateChainFile на директиву SSLCACertificatePath , так как я использую Apache в версии 2.4.23. . Но это ничего не решает.
После этого я решил скачать ВСЕ сертификаты G2 отсюда: https://certs.godaddy.com/repository
и поместите их все в папку, указанную в пути SSLCACertificatePath: «blah / blahblah / cliente.merchbanc.es / GoDaddy_G2». Но тоже не работает.
И, наконец, поскольку я нахожусь в Windows, я решил перейти к сертификату после сертификата, дважды щелкнуть em и установить на сервере, теперь они находятся внутри «Свойства обозревателя> Контент> Сертификаты» , все они размещены на различных существующих вкладках. И, как правило, не вносит никаких изменений.
Конечно, каждый раз при перезапуске Apache и даже после установки сертификатов в Windows перезапускается и сам сервер.
Итак, что теперь? Надеюсь, вы поможете мне, пожалуйста.
С уважением и уважением.
Марк.
Спасибо всем за помощь. Вся информация, которую вы мне предоставили, абсолютно ценна и позволила мне настроить мой CONF-файл так, как он должен быть. Прекрасно.
Сказав это, я нашел свою конкретную проблему и ее решение.
Мой фронтальный Apache находится за WAF (брандмауэром веб-приложений). На нем была сломана цепь. Таким образом, промежуточные центры сертификации, где не обслуживались первичные сертификаты. Потом решили, что: все на месте!
Какая головная боль...
Спасибо всем!
Нужно разобрать строку для Файла Цепочки Сертификатов
#SSLCertificateChainFile "blah/blahblah/cliente.merchbanc.es/gd_bundle-g2-g1.crt"
Должно быть:
SSLCertificateChainFile "blah/blahblah/cliente.merchbanc.es/gd_bundle-g2-g1.crt"
Либо инструкции (которые вы не идентифицировали) искажены, либо вы их неправильно поняли.
Изменение в 2.4.8 в сторону увеличения заключается в том, что вы можете и должны поместить свой(ие) цепной(ие) сертификат(ы) в SSLCertificateFile
вместо SSLCertificateChainFile
.
Все версии будут использовать сертификаты в SSLCACertificate{File,Path}
для завершения вашей цепочки, если это не предусмотрено в SSLCertificate{Chain,}File
, но SSLCA*
сертификаты будут ВСЕГДА применяться к проверке подлинности клиента, если это включено, что может быть или не быть желательным.
Но для использования SSLCACertificatePath
(а не ...File
) каждый сертификат должен быть в отдельном файле, и каждый файл должен иметь имя (или быть связанным, что считается именем) с использованием хэша его Subject; в Unix использование сим-ссылок является обычным (но не обязательным).
На Unix системах с OpenSSL, установленных в соответствии с соглашением (не все так делают), где-то есть скрипт c_rehash
(хотя, возможно, и не в вашем обычном PATH), который делает это; если это так, то для него должна быть man-страница (иногда в специальном разделе, например, 1ssl) , которая также находится в сети . OpenSSL 1.1.0 (только) имеет эквивалентную функцию rehash
в исполняемом файле командной строки openssl
на некоторых системах. Так как у вас, вероятно, их нет, вы можете вручную запустить openssl x509 -hash
(или эквивалентную, но более точную -subject_hash
) на каждом файле cert и использовать эти функции плюс .0
для переименования или копирования файла(ов). Но SSLCACertificateFile
(а не ...Path
) или SSLCertificate{Chain,}File
проще.
(добавлено) В частности, чтобы использовать SSLCACertificateFile
, вы просто соединяете все необходимые CA-сертификаты, и, опционально, ненужные, в один файл. Так как данные в формате PEM по своей конструкции являются пригодными для печати/визуальными, это можно сделать путем вырезания и вставки в обычном текстовом редакторе, таком как Блокнот, в дополнение к таким специфическим инструментам, как cat
в Unix или копирование a+b+c
в Windows или >>outfile
для добавления в любой из них.
PS: Apache не использует хранилище сертификатов Windows, поэтому установка вещей в хранилище сертификатов Windows никак на него не повлияет.
PPS: Если у вас нет командной строки OpenSSL на Windows, есть хороший готовый пакет по адресу http://www.slproweb.com/products/Win32OpenSSL.html