Корневая проблема сертификата о Ubuntu 16.04

Я настраиваю новый сервер веб-приложения под управлением Ubuntu 16.04. Единственная вещь, "необычная", я сделал, php 5.6 установки вместо php7. Php5.6 однако требует действительного корневого сертификата, и я получаю ошибки во множестве приложений та забота об этом. Завихрение, крон, и т.д.

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

https://github.com/composer/composer/issues/3346#issuecomment-76593763

https://stackoverflow.com/questions/35821245/github-server-certificate-verification-failed/35824116#35824116

Как я устанавливаю корневой сертификат?

Все еще никакая удача. Задание крона, которое я выполняю все еще, генерирует:

curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

Больше деталей здесь: http://curl.haxx.se/docs/sslcerts.html

завихрение выполняет проверку сертификата SSL по умолчанию, с помощью "пакета" открытых ключей Центра сертификации (CA) (сертификаты CA). Если файл пакета по умолчанию не соответствует, можно указать альтернативный файл с помощью - cacert опция.

Если этот сервер HTTPS использует сертификат, подписанный CA, представленным в пакете, проверка сертификата, вероятно, перестала работать из-за проблемы с сертификатом (это могло бы истечь, или имя не могло бы соответствовать доменному имени в URL).

Если требуется выключить проверку завихрения сертификата, используйте-k (или - небезопасный) опция.

1
задан 25 July 2019 в 08:11

1 ответ

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

Шаги ниже, я использую для поиска и устранения неисправностей сертификата веб-сервера.

  • Проверьте, находится ли имя сервера, которое Вы ожидаете, в/CN опции в предмете:

(SERVER_COMMON_NAME является веб-сервером, с кем Вы хотите связаться),

 echo | openssl s_client -servername ${SERVER_COMMON_NAME} \
    -connect ${SERVER_COMMON_NAME}:443 2>/dev/null | \
    openssl x509 -noout -subject

Проверьте, является ли CA тем, Вы ожидаете (поставщик cerficate):

echo | openssl s_client -servername ${SERVER_COMMON_NAME} \
            -connect ${SERVER_COMMON_NAME}:443 2>/dev/null | \
        openssl x509 -noout -issuer

Проверьте/CN поле в строку выпускающего.

  • Проверьте даты сертификата
echo | openssl s_client -servername ${SERVER_COMMON_NAME} \
        -connect ${SERVER_COMMON_NAME}:443 2> /dev/null | \
        openssl x509 -noout -dates

Проверьте результаты 'notAfter' и 'notBefore'.

  • Если вышеупомянутые хорошие взгляды, то протестируйте с завихрением И specifing корневой файл сертификата CA:

    завихрение - cacert certs/the_ca.cert.pem-I https://$ {SERVER_COMMON_NAME}:443

Если - cacert работы опции затем проверяют, известен ли корневой CA файл в масштабе всей системы.

Ommit - cacert. Если завихрение дает ошибку, то ca-root-file НЕ установлен в системном каталоге сертификатов CA.

1
ответ дан 7 December 2019 в 15:36

Другие вопросы по тегам:

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