PHP cURL не может установить файл закрытого ключа: 'C:\...\cacert.pem' типа PEMPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 PHP cURL не может установить файл закрытого ключа: 'C:\...\cacert.pem' типа PEM

Сообщение Anonymous »

Я пытаюсь запустить пример запроса PHP cURL API с веб-сервера Windows/IIS

Вот код: В моем php.ini есть строка:

Код: Выделить всё

curl.cainfo="C:\...\cacert.pem"
Но по какой-то причине мне пришлось добавить опцию CURLOPT_SSLCERT, потому что я получал:

Код: Выделить всё

OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
Я скачал файл cacert.pem отсюда, как написано в этой заметке

Но я возьми это:

Код: Выделить всё

cURL Error #:unable to set private key file: 'C:\...\cacert.pem' type PEM
cUrl verbose information:
*   Trying xxx.xxx.xxx.xxx...
* TCP_NODELAY set
* Connected to api.domain.ext (xxx.xxx.xxx.xxx) port 443 (#0)
* ALPN, offering http/1.1
* unable to set private key file: 'C:\...\cacert.pem' type PEM
* Closing connection 0
Я что-то упустил? Как я могу решить?
ОБНОВЛЕНИЕ

Я переместил cacert.pem в каталог php и удалил CURLOPT_SSLCERT< /strong>, и теперь соединение закрывается позже, но я снова получаю OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054:

Код: Выделить всё

* Hostname api.domain.ext was found in DNS cache
*   Trying xxx.xxx.xxx.xxx...
* TCP_NODELAY set
* Connected to api.domain.ext (xxx.xxx.xxx.xxx) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
CAfile: C:\Program Files (x86)\iis express\PHP\v7.0\cacert.pem
CApath: none
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: C=**; ST=********; L=********; O=********; CN=********
*  start date: Apr 12 03:17:12 2024 GMT
*  expire date: Apr 12 03:16:12 2025 GMT
*  subjectAltName: host "api.domain.ext" matched cert's "api.domain.ext"
*  issuer: C=**; O=********; CN=********
*  SSL certificate verify ok.
> POST /path HTTP/1.1
Host: api.domain.ext
Accept: */*
Accept-Encoding: deflate, gzip
Authorization: Basic ********:********
Message-Reference: SOME_STRING_VALUE
Message-Reference-Date: SOME_STRING_VALUE
content-type: application/json
Content-Length: 1602
Expect: 100-continue

* OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
* stopped the pause stream!
* Closing connection 0
Чтение этого API решения вызывает «Ошибка Curl: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054». Я также пробовал с другого сервера без чего-либо посередине, чтобы исключить проблемы с брандмауэрами, но то же самое

Подробнее здесь: https://stackoverflow.com/questions/790 ... m-type-pem
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»