Как установить отсутствующий промежуточный сертификат SSL на стороне клиента всей системы, чтобы его мог использовать инструмент командной строки, такой как Juniper ncsvc?

Как установить отсутствующий промежуточный сертификат SSL на стороне клиента всей системы, чтобы его мог использовать инструмент командной строки, такой как Juniper ncsvc?

У меня возникли проблемы с клиентом Juniper ncsvc CLI VPN, который раньше работал, но недавно сломался. Подозреваю, что это из-за проблемы с сертификатом HTTPS SSL:

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)

Иду вhttps://cryptoreport.thawte.com/checker/и набрав vpn.company.com => "Сертификат установлен неправильно. У вас 1 ошибка, отсутствует промежуточный сертификат: Thawte SSL CA | Загрузить сертификат". Firefox 41 (но не Chromium 45) также жалуется наhttps://vpn.company.com

Поэтому я предположил, что, вероятно, можно как-то вручную установить этот отсутствующий промежуточный сертификат на стороне клиента (не на сервере, я это не контролирую; жду ответа от внутреннего ИТ-отдела...). cryptoreport.thawte.com удобно предложил его для загрузки, и я узнал:

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

Однако Firefox все еще не доволен, но я извлек урок изhttps://askubuntu.com/questions/244582/add-certificate-authorities-system-wide-on-firefoxчто это нормально, потому что "Firefox не имеет "центрального" расположения, где он ищет сертификаты. Он просто смотрит в текущий профиль. Вот почему изменение /usr/share/ca-certificates или других подобных каталогов не будет работать с Firefox". - отлично. Поэтому я вручную добавил Thawte_SSL_CA.crt в Firefox. Все еще не доволен, говоря: Сбой безопасного соединения. Произошла ошибка во время подключения к vpn.company.com. Издатель сертификата однорангового узла был помечен пользователем как недоверенный. (Код ошибки: sec_error_untrusted_issuer). Страница, которую вы пытаетесь просмотреть, не может быть отображена, поскольку не удалось проверить подлинность полученных данных. Пожалуйста, свяжитесь с владельцами веб-сайта, чтобы сообщить им об этой проблеме.

И даже у Juniper ncsvc CLI VPN-клиента все еще та же проблема. Я не видел в этом конкретном инструменте опции, позволяющей игнорировать проверку SSL.

Неужели нет способа на стороне клиента обойти такой отсутствующий промежуточный сертификат SSL? Я просто хочу (узнать что-то здесь, и) чтобы чертов VPN работал! ;-) Единственное ли решение для оператора веб-сервера - правильно настроить эту сторону сервера?

решение1

Воспользуйтесь следующими инструкциями:

Нажмите «Пуск», затем выберите «Выполнить» и введите mmc.

Нажмите «Файл» и выберите «Добавить/удалить оснастку».

Выберите «Добавить», выберите «Сертификаты» в списке «Автономная оснастка», затем нажмите «Добавить».

Выберите Учетная запись компьютера и нажмите Далее.

Выберите Локальный компьютер и нажмите Готово.

Лучше вам проверить ссылку ниже, чтобы установить отсутствующий промежуточный SSL-сертификат:

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

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

Связанный контент