Curling uma URL https através de um proxy resulta em erro NSS 5938

3

Um parceiro B2B precisa fazer um retorno de chamada de uma máquina Redhat para um método de API em nosso servidor da Web (Centos7).

Adicionamos o endereço IP ao nosso firewall de software, mas nada estava acontecendo.

Eles informaram que receberam um SSL connect error com a mensagem de erro sendo: NSS error -5938

Eles nos enviaram a resposta de sua solicitação de onda:

# curl --verbose "https://web1.company.com/callback?param1=val1&param2=val2"
* About to connect() to proxy 127.0.0.1 port 8215 (#0)
*   Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 8215 (#0)
* Establish HTTP proxy tunnel to web1.company.com:443
> CONNECT web1.company.com:443 HTTP/1.1
> Host: web1.company.com:443
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
< Proxy-Connection: keep-alive
<
* Proxy replied OK to CONNECT request
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5938
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error
* NSS error -5938
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error
[1]+  Exit 35

Erro ref: link

Eu pesquisei as palavras-chave curl nss error 5938 na Web (incluindo stackexchange) e isso resultou principalmente em usuários que recomendam que o curl seja atualizado ou recompilado.

O parceiro B2B expressou que atualizar ou recompilar não é uma opção, pelo menos no futuro próximo.

Coisas que tentei

Eu tentei curl de duas outras máquinas (com openssl não nss):

  • Eles foram bem sucedidos

Pedi ao parceiro B2B para tentar forçar o uso de diferentes versões SSL / TLS:

curl --tlsv1
curl --tlsv1.0
curl --tlsv1.1
curl --tlsv1.2
curl --sslv2
curl --sslv3

Todos eles resultaram no mesmo erro.

Eu também investiguei a possibilidade de uma incompatibilidade de cifra (considerando que o cliente tinha nss e o servidor tinha openssl ), mas havia algumas sobreposições claras.

No meu desespero, eu também pedi a eles que tentassem uma cifra inccorreta:

curl --ciphers TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 

quando quis dizer ecdhe_rsa_aes_128_gcm_sha_256 , mas resultou no seguinte erro:

== Info: Unknown cipher in list: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
== Info: NSS error -5978
== Info: Closing connection #0
curl: (59) Unknown cipher in list: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Usando uma cifra correta ecdhe_rsa_aes_128_gcm_sha_256 resultou no mesmo erro 5938.

Observação : não sei se passar pelo proxy é um problema significativo ou não. Apenas afirmando a configuração como eu tenho atualmente.

Alguém tem alguma sugestão sobre o que eu posso tentar em seguida? Obrigado

    
por denormalizer 01.05.2018 / 02:59

0 respostas