Я настроил сервер, используя 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]

Я пропускаю опцию на curl, чтобы заставить это работать?

1 ответ1

0

Основная программа, такая как curl никогда не должна просто аварийно завершать работу, как ожидается. Вы попали в ошибку.

Что вы можете попробовать (теперь это вопрос устранения неполадок):

  • Попробуйте обновить ваши пакеты дистрибутивов (apt update && apt full-upgrade или ваш дистрибутивный эквивалент, поскольку вы не сказали, какой дистрибутив / версию вы используете)
  • Попробуйте обновить ваш дистрибутив до новой версии
  • Ищите альтернативные пакеты, в которых curl скомпилирован с использованием библиотеки TLS, отличной от NSS (возможно, OpenSSL, PolarSSL или GnuTLS)
  • Скомпилируйте новую версию curl самостоятельно
  • Найдите контейнерный образ новой ОС или возьмите Flatpak с другой версией curl или скомпилированный с другой библиотекой TLS

...так далее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .