cURL 60 ошибка при попытке получить доступ к файлу XML моего сайта - PullRequest
0 голосов
/ 01 октября 2019

Когда я использую "curl -v https://hostname/resource.xml", я получаю следующую ошибку:

About to connect() to hostname.com port 443 (#0)
Trying x.x.x.x... connected
Connected to hostname.com (x.x.x.x) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
 CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
Peer's certificate issuer is not recognized: 'CN=InCommon RSA Server CA,OU=InCommon,O=Internet2,L=Ann Arbor,ST=MI,C=US'
NSS error -8179
Closing connection #0
Peer certificate cannot be authenticated with known CA certificates
curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html

Однако, когда я пытаюсь:" curl -v https://google.com/" все работает простоотлично!

Сертификаты, которые проверяют сайты, находятся в / etc / ssl / certs

Я могу предположить, что это проблема с сертификатами SSL и проверкой, потому что когда я запускаю команду curl с-k это работает!

Я попытался выполнить следующие действия для устранения неполадок:

  1. Подтвердил, что на сервере указаны правильные дата / время
  2. обновил cacertСертификат .pem (источник: ошибка cURL 60: сертификат SSL: невозможно получить сертификат локального эмитента )
  3. Подтверждено, что конфигурация Apache правильна
  4. Попытка добавления сертификата SSL (website.crt) в / etc / pki / tls

Я работаю:

  • CentOS выпуск 6.10 (Final)
  • curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl / 7.19.7 NSS / 3.27.1 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2
  • PHP 7.1.32 (cli)

Это может быть вызвано неполной цепью SSLCertificateChain?

Любая помощь здесь приветствуется!

1 Ответ

0 голосов
/ 03 октября 2019

Похоже, что эмитент сертификата вашего веб-сайта является промежуточным сертификатом
CN=InCommon RSA Server CA,OU=InCommon,O=Internet2,L=Ann Arbor,ST=MI,C=US
, но он не отправляет полную цепочку, то есть он только отправляет сертификат веб-сайта без этого промежуточного сертификата. У вас есть 2 варианта:

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

    В основном вам необходимо изменить файл httpd.conf вашей установки Apache, в частности настройки виртуального хостадля вашего веб-сайта и укажите SSLCertificateChainFile для файла PEM (crt), который содержит промежуточный сертификат (CN = InCommon RSA Server CA, OU = InCommon, O = Internet2, L = Ann Arbor, ST =MI, C = US)

    Вы можете найти промежуточный сертификат, который вам не хватает, в Интернете, например, здесь , и сохранить этот контент в файл (например, incommon_rsa.crt). Вот что нужно сохранить в файле:
-----BEGIN CERTIFICATE-----
MIIF+TCCA+GgAwIBAgIQRyDQ+oVGGn4XoWQCkYRjdDANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQx
MDA2MDAwMDAwWhcNMjQxMDA1MjM1OTU5WjB2MQswCQYDVQQGEwJVUzELMAkGA1UE
CBMCTUkxEjAQBgNVBAcTCUFubiBBcmJvcjESMBAGA1UEChMJSW50ZXJuZXQyMREw
DwYDVQQLEwhJbkNvbW1vbjEfMB0GA1UEAxMWSW5Db21tb24gUlNBIFNlcnZlciBD
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJwb8bsvf2MYFVFRVA+e
xU5NEFj6MJsXKZDmMwysE1N8VJG06thum4ltuzM+j9INpun5uukNDBqeso7JcC7v
HgV9lestjaKpTbOc5/MZNrun8XzmCB5hJ0R6lvSoNNviQsil2zfVtefkQnI/tBPP
iwckRR6MkYNGuQmm/BijBgLsNI0yZpUn6uGX6Ns1oytW61fo8BBZ321wDGZq0GTl
qKOYMa0dYtX6kuOaQ80tNfvZnjNbRX3EhigsZhLI2w8ZMA0/6fDqSl5AB8f2IHpT
eIFken5FahZv9JNYyWL7KSd9oX8hzudPR9aKVuDjZvjs3YncJowZaDuNi+L7RyML
fzcCAwEAAaOCAW4wggFqMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bL
MB0GA1UdDgQWBBQeBaN3j2yW4luHS6a0hqxxAAznODAOBgNVHQ8BAf8EBAMCAYYw
EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH
AwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgGBmeBDAECAjBQBgNVHR8ESTBHMEWgQ6BB
hj9odHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQ2VydGlmaWNh
dGlvbkF1dGhvcml0eS5jcmwwdgYIKwYBBQUHAQEEajBoMD8GCCsGAQUFBzAChjNo
dHRwOi8vY3J0LnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQWRkVHJ1c3RDQS5j
cnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZI
hvcNAQEMBQADggIBAC0RBjjW29dYaK+qOGcXjeIT16MUJNkGE+vrkS/fT2ctyNMU
11ZlUp5uH5gIjppIG8GLWZqjV5vbhvhZQPwZsHURKsISNrqOcooGTie3jVgU0W+0
+Wj8mN2knCVANt69F2YrA394gbGAdJ5fOrQmL2pIhDY0jqco74fzYefbZ/VS29fR
5jBxu4uj1P+5ZImem4Gbj1e4ZEzVBhmO55GFfBjRidj26h1oFBHZ7heDH1Bjzw72
hipu47Gkyfr2NEx3KoCGMLCj3Btx7ASn5Ji8FoU+hCazwOU1VX55mKPU1I2250Lo
RCASN18JyfsD5PVldJbtyrmz9gn/TKbRXTr80U2q5JhyvjhLf4lOJo/UzL5WCXED
Smyj4jWG3R7Z8TED9xNNCxGBMXnMete+3PvzdhssvbORDwBZByogQ9xL2LUZFI/i
eoQp0UM/L8zfP527vWjEzuDN5xwxMnhi+vCToh7J159o5ah29mP+aJnvujbXEnGa
nrNxHzu+AGOePV8hwrGGG7hOIcPDQwkuYwzN/xT29iLp/cqf9ZhEtkGcQcIImH3b
oJ8ifsCnSbu0GB9L06Yqh7lcyvKDTEADslIaeSEINxhO2Y1fmcYFX/Fqrrp1WnhH
OjplXuXE0OPa0utaKC25Aplgom88L2Z8mEWcyfoB7zKOfD759AN7JKZWCYwk
-----END CERTIFICATE-----
Добавление промежуточного сертификата в список сертификатов системного доверенного ЦС ( менее предпочтительный метод , промежуточные сертификаты должны отправляться клиентами, а не неявно доверенными, путем добавления его в список ЦС, которым доверяют системныеcerts).

Опять же, сохраните промежуточный файл сертификата с указанным выше содержимым, а затем установите его в свой список доверенных сертификатов CA, используя для этого инструменты CentOS, как описано здесь .
...