CURL segfaults при підключенні веб-програми https, але wget може підключитися


0

Я налаштував сервер за допомогою Jetty та SSL. Я використовую самопідписаний серверний сертифікат для клієнта та сервера. Це все добре працює, коли я намагаюся вдарити його за допомогою wget. Моя проблема виникає, коли я намагаюся вдарити її за допомогою curl:

$ curl -k --cert ./mycert-001.pem --key ./mykey-001.pem https://****:9994/rest/list --verbose
* About to connect() to server port 9994 (#0)
*   Trying ****...
* Connected to server(****) port 9994 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* NSS: client certificate from file
*       subject: CN=foo,OU=bar,O=baz,L=Default City,C=US
*       start date: Nov 29 18:50:58 2016 GMT
*       expire date: Nov 29 18:50:58 2019 GMT
*       common name: foo
*       issuer: CN=foo,OU=bar,O=baz,L=Default City,C=US
Segmentation fault

Потім, коли я намагаюся з wget:

$ wget --certificate=mycert-001.pem --private-key=mykey-001.pem --no-check-certificate --auth-no-challenge https://****:9994/rest/list
--2017-04-14 15:50:20--  https://****:9994/rest/list
Resolving **** (****)... *****
Connecting to ***** (****)|****|:9994... connected.
WARNING: cannot verify ****'s certificate, issued by ‘/C=US/ST=FOO/L=Default/O=FOO/OU=FOO/CN=FOO’:
  Self-signed certificate encountered.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: ‘list.5’

    [ <=>                                                  ] 58          --.-K/s   in 0s

2017-04-14 15:50:20 (3.47 MB/s) - ‘list.5’ saved [58]

Я пропускаю варіант на завитках, щоб змусити це працювати?

Відповіді:


0

Основна програма, як, наприклад, curlніколи не повинна руйнуватись як очікувана поведінка. Ви потрапили на помилку .

Що можна спробувати (зараз це питання усунення несправностей):

  • Спробуйте оновити пакунки дистрибутива (apt update && apt повне оновлення або еквівалент distro, оскільки ви не сказали, який дистрибутив / версію ви використовуєте)
  • Спробуйте оновити дистрибутив до новішої версії
  • Шукайте альтернативні пакети, curlскладені з іншої бібліотеки TLS, ніж NSS (можливо, OpenSSL, PolarSSL або GnuTLS)
  • Складіть нову версію curlсебе
  • Шукайте зображення контейнера з новою ОС або захопіть Flatpak з іншою версією curl або складено з іншої бібліотеки TLS

... тощо.


Забув оновити це: я закінчив компілювати curl з OpenSSL, як ви запропонували, і він закінчився. Дякую.
над
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.