Centos 7,6
Скручиваемость 7,29
Мое приложение должно выполнять запросы Curl, которые исходят от пользовательских запросов, но некоторые URL-адреса возвращают curl: (60) Peer's Certificate issuer is not recognized.
Пока что у меня есть:
Скачанный последний пакет cacert sudo curl -k https://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt
.
Проверено, чтобы увидеть последний установленный пакет:sudo vi /etc/pki/tls/certs/ca-bundle.crt
#
# Bundle of CA Root Certificates
#
# Certificate data from Mozilla as of: Wed Jan 23 04:12:09 2019 GMT
#
...
Запустил несколько тестовых HTTPS-URL, таких как superuser.com, которые без проблем закручиваются.
curl -v https://superuser.com/questions/1091521/centos-7-wont-accept-any-ssl-certificates
About to connect() to superuser.com port 443 (#0)
Trying 151.101.1.69...
Connected to superuser.com (151.101.1.69) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Server certificate:
subject: CN=*.stackexchange.com,O="Stack Exchange, Inc.",L=New York,ST=NY,C=US
start date: Oct 05 00:00:00 2018 GMT
expire date: Aug 14 12:00:00 2019 GMT
common name: *.stackexchange.com
issuer: CN=DigiCert SHA2 High Assurance Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US
GET /questions/1091521/centos-7-wont-accept-any-ssl-certificates HTTP/1.1
User-Agent: curl/7.29.0
Host: superuser.com
Accept: */*
HTTP/1.1 200 OK
...
Затем я тестирую пару URL-адресов, которые также используют HTTPS, но возвращают curl: (60) Peer's Certificate issuer is not recognized.
ошибка.
curl -v https://www.movistar.com
About to connect() to www.movistar.com port 443 (#0)
Trying 194.224.110.42...
Connected to www.movistar.com (194.224.110.42) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
Server certificate:
subject: CN=www.movistar.com,O=Telefonica S.A.,L=Madrid,ST=Madrid,C=ES
start date: Jul 05 12:51:04 2018 GMT
expire date: Aug 29 09:01:02 2019 GMT
common name: www.movistar.com
issuer: CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa,C=BE
NSS error -8179 (SEC_ERROR_UNKNOWN_ISSUER)
Peer's Certificate issuer is not recognized.
Closing connection 0
curl: (60) Peer's Certificate issuer is not recognized.
More details here: http://curl.haxx.se/docs/sslcerts.html
а также
curl -v https://signup.lotro.com
About to connect() to signup.lotro.com port 443 (#0)
Trying 198.252.160.63...
Connected to signup.lotro.com (198.252.160.63) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
Server certificate:
subject: CN=*.lotro.com,OU=Standing Stone Games LLC,O=Standing Stone Games,L=Needham,ST=ma,C=US
start date: Mar 12 00:00:00 2018 GMT
expire date: Mar 20 12:00:00 2019 GMT
common name: *.lotro.com
issuer: CN=DigiCert SHA2 High Assurance Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US
NSS error -8179 (SEC_ERROR_UNKNOWN_ISSUER)
Peer's Certificate issuer is not recognized.
Closing connection 0
curl: (60) Peer's Certificate issuer is not recognized.
More details here: http://curl.haxx.se/docs/sslcerts.html
Единственный способ заставить эти URL работать, отключив проверку сертификата, например, curl -v --insecure https://signup.lotro.com
.
Принимая во внимание, что URL взяты из пользовательских запросов, как я могу заставить эти URL свернуться без получения этой ошибки и без использования аргумента --insecure
?
Примечание. В настоящее время я работаю на виртуальной виртуальной машине, но такая же проблема возникает и на моем VPS.
Примечание 2: Обратите внимание, что издатель для superuser.com
и signup.lotro.com
одинаков, но я могу только свернуть superuser.com.