Como instalar um sistema de certificado SSL intermediário ausente em todo o lado do cliente para que uma ferramenta CLI como o Juniper ncsvc o utilize?

Como instalar um sistema de certificado SSL intermediário ausente em todo o lado do cliente para que uma ferramenta CLI como o Juniper ncsvc o utilize?

Estou lutando com o cliente VPN Juniper ncsvc CLI, que costumava funcionar para mim, mas quebrou recentemente, e suspeito que seja por causa de um problema de certificado SSL HTTPS:

cat ~/.juniper_networks/network_connect/ncsvc.log

20150930152023.821647 ncsvc[p32325.t32325] ncsvc.info New ncsvc log level set to 5 (nccommon.cpp:75)
20150930152023.821693 ncsvc[p32325.t32325] sysdeps.info restoring DNS settings... (sysdeps.cpp:975)
20150930152023.821703 ncsvc[p32325.t32325] sysdeps.error rename /etc/jnpr-nc-resolv.conf => /etc/resolv.conf failed wirh error 2 (sysdeps.cpp:978)
20150930152023.821710 ncsvc[p32325.t32325] sysdeps.error rename /etc/jnpr-nc-hosts.bak => /etc/hosts failed wirh error 2 (sysdeps.cpp:982)
20150930152023.824362 ncsvc[p32325.t32325] ncsvc.info Connecting to vpn.company.com:443 (ncsvc.cpp:500)
20150930152023.844579 ncsvc[p32325.t32325] dsclient.para DSClient::authenticate(): user:..., password:..., cert:0, realm:... (dsclient.cpp:284)
20150930152023.848116 ncsvc[p32325.t32325] DSInet.info IVE host vpn.company.com resolved to 212.203.116.107, port 443 (dsinet.cpp:311)
20150930152023.848241 ncsvc[p32325.t32325] http_connection.para Starting a timed connect with SSL session 0x933cc90, proxy (null):0, and timeout 30 (http_connection.cpp:236)
20150930152023.848251 ncsvc[p32325.t32325] http_connection.para Entering state_start_connection (http_connection.cpp:351)
20150930152023.848258 ncsvc[p32325.t32325] http_connection.para Remote Address: ip=212.203.116.107, port=443, familiy=2 (http_connection.cpp:799)
20150930152023.848271 ncsvc[p32325.t32325] http_connection.para Remote Server=vpn.company.com (http_connection.cpp:801)
20150930152023.848277 ncsvc[p32325.t32325] http_connection.para Local Address: ip=0.0.0.0, port=0, familiy=2 (http_connection.cpp:806)
20150930152023.848282 ncsvc[p32325.t32325] http_connection.para Proxy Address: ip=(null), port=0, familiy=0 (http_connection.cpp:811)
20150930152023.864122 ncsvc[p32325.t32325] http_connection.para Entering state_continue_connection (http_connection.cpp:368)
20150930152023.864188 ncsvc[p32325.t32325] http_connection.para Entering state_ssl_connect (http_connection.cpp:538)
20150930152023.880107 ncsvc[p32325.t32325] dsssl.error SSL_connect failed. Error 5 (DSSSLSock.cpp:1619)
20150930152023.880153 ncsvc[p32325.t32325] http_connection.para Returning DSHTTP_ERROR from state_ssl_connect (http_connection.cpp:553)
20150930152023.880160 ncsvc[p32325.t32325] http_connection.para do_connect error: state 5, err 5 (http_connection.cpp:341)
20150930152023.880215 ncsvc[p32325.t32325] DSInet.error failed to connect to (vpn.company.com) error 5 (dsinet.cpp:383)
20150930152023.880229 ncsvc[p32325.t32325] dsclient.error unable to open URL: (https://vpn.company.com/launcher) with error -7 (dsclient.cpp:299)
20150930152023.880238 ncsvc[p32325.t32325] ncapp.error Failed to authenticate with IVE. Error 2 (ncsvc.cpp:231)
20150930152023.880261 ncsvc[p32325.t32325] dsncuiapi.para DsNcUiApi::~DsNcUiApi (dsncuiapi.cpp:83)

Vouhttps://cryptoreport.thawte.com/checker/e digitando vpn.company.com => "O certificado não está instalado corretamente. Você tem 1 erro, Certificado intermediário ausente: Thawte SSL CA | Baixar certificado". O Firefox 41 (mas não o Chromium 45) reclama da mesma formahttps://vpn.company.com

Então, imaginei que provavelmente seria possível instalar manualmente esse certificado intermediário ausente no lado do cliente de alguma forma (não no servidor, não controlo isso; aguardando resposta da TI interna ...). cryptoreport.thawte.com ofereceu-o convenientemente para download, então aprendi:

cd Downloads
mv Thawte\ SSL\ CA.txt Thawte_SSL_CA.crt
file Thawte_SSL_CA.crt
openssl x509 -in Thawte_SSL_CA.crt -text

sudo cp Thawte_SSL_CA.crt /usr/share/ca-certificates/
sudo chmod w+r /usr/share/ca-certificates/Thawte_SSL_CA.crt
sudo dpkg-reconfigure ca-certificates
sudo update-ca-certificates

No entanto, o Firefox ainda não está satisfeito, mas aprendi comhttps://askubuntu.com/questions/244582/add-certificate-authorities-system-wide-on-firefoxque isso é normal, porque "o Firefox não tem um local 'central' onde procura certificados. Ele apenas procura o perfil atual. É por isso que modificar /usr/share/ca-certificates ou outros diretórios semelhantes não funcionará com Raposa de fogo." - multar. Então adicionei manualmente esse Thawte_SSL_CA.crt ao Firefox. Ainda não estou satisfeito, dizendo: Falha na conexão segura. Ocorreu um erro durante uma conexão com vpn.company.com. O emissor do certificado do peer foi marcado como não confiável pelo usuário. (Código de erro: sec_error_untrusted_issuer). A página que você está tentando visualizar não pode ser exibida porque não foi possível verificar a autenticidade dos dados recebidos. Entre em contato com os proprietários do site para informá-los sobre esse problema.

E até mesmo o cliente VPN Juniper ncsvc CLI ainda tem o mesmo problema. Não vi uma opção nessa ferramenta específica para ignorar a validação SSL.

Não há como o cliente contornar esse certificado SSL intermediário ausente? Eu só quero (aprender algo aqui e) que a maldita VPN funcione! ;-) A única solução para o operador do servidor web é configurar corretamente este lado do servidor?

Responder1

Use as seguintes instruções:

Clique em Iniciar, selecione Executar e digite mmc.

Clique em Arquivo e selecione Adicionar/Remover Snap in.

Escolha Adicionar, selecione Certificados na lista Snap-in autônomo e clique em Adicionar.

Selecione Conta de computador e clique em Avançar.

Selecione Computador Local e clique em Concluir.

Melhor você conferir o link abaixo para instalar o certificado SSL intermediário ausente:

https://www.tbs-certificates.co.uk/FAQ/en/174.html

https://www.instantssl.com/ssl.html

informação relacionada