cURL segfaults ao conectar o aplicativo da web https, mas o wget pode se conectar

0

Eu configurei um servidor usando Jetty e SSL. Eu estou usando um certificado de servidor auto-assinado para o cliente e servidor. Isso tudo funciona bem quando eu tento acertar com wget. Meu problema surge quando estou tentando acertar usando 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

Então, quando eu tento com o 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]

Eu estou perdendo uma opção para fazer isso funcionar?

    
por nad 14.04.2017 / 21:53

1 resposta

0

Um programa básico como curl nunca deve travar como o comportamento esperado. Você atingiu um bug .

Coisas que você pode experimentar (agora é uma questão de solução de problemas):

  • Tente atualizar seus pacotes de distribuição (atualizar e atualizar sua extensão, ou sua distro equivalente, já que você não disse qual distro / versão está usando)
  • Tente atualizar sua distro para uma versão mais recente
  • Procure pacotes alternativos que tenham curl compilado em relação a uma biblioteca TLS diferente da NSS (talvez OpenSSL, PolarSSL ou GnuTLS)
  • Compile uma nova versão de curl yourself
  • Procure uma imagem do contêiner de um sistema operacional mais recente ou pegue um Flatpak com uma versão diferente do curl ou compilado com uma biblioteca TLS diferente

... etc.

    
por 14.04.2017 / 22:01

Tags