4

Я пробовал разные способы установки сертификата, но кажется, что Linux его не видит, или что-то еще не так.

Я получил .pfx чтобы иметь возможность подключиться к другому серверу через VPN (необходимо использовать Cisco AnyConnect). Я попытался преобразовать его в .pem , затем добавить этот файл в /usr/share/ca-certs (с созданием нового каталога внутри или просто поместить его напрямую), затем запустить `update-ca-Certificates. Я всегда получаю такой ответ:

Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....

Затем попытка подключения с использованием Cisco AnyConnect выдаст мне эту ошибку:'Certificate validation error

Единственный способ, которым мне удалось импортировать сертификат, был через Firefox. Я импортировал это в Your Certificates .

Затем, снова пытаясь соединиться с помощью Cisco AnyConnect, это дало бы мне эту ошибку:

The AnyConnect package on the secure gateway could not be located. You may be experiencing network connectivity issues. Please try connecting again.

Затем я открыл импортированный сертификат в Firefox и увидел это сообщение:

could not verify this certificate because the issuer is not trusted .

Поэтому, зайдя в органы власти, я нашел тот, который выдал мне этот сертификат и отредактировал, чтобы ему доверяли, отметив все опции. Теперь он показывает, что он был проверен на наличие сертификата клиента ssl, сертификата подписывающей электронной почты, центра сертификации SSL, сертификата ответчика статуса.

Но, тем не менее, попытка подключения с использованием cisco anyconnect выдает мне эту ошибку за то, что не удалось найти безопасный шлюз.

У меня нет никаких идей, что еще я мог сделать, чтобы решить эту проблему.

Я также написал еще один связанный вопрос здесь. Это больше о правильной настройке vpn, а о правильной установке сертификата.

Ссылка на связанный вопрос: https://askubuntu.com/questions/484096/setting-up-vpn-connection-with-cisco-anyconnect-the-anyconnect-package-on-the

PS Я использую Ubuntu 14.04

1 ответ1

5

Явно вводящая в заблуждение ошибка The AnyConnect package on the secure gateway could not be located... означает, что AnyConnect фактически использует сертификат, который вы хотели использовать.

Если ваша цель состоит в том, чтобы VPN-соединение работало должным образом, это не проблема с правильной установкой вашего сертификата для использования AnyConnect.

Как сделать так, чтобы VPN-соединение действительно работало в этом случае , ниже, в ответе на ваш первоначальный вопрос.


Ответ на ваш вопрос:

AnyConnect проверяет различные местоположения для файлов сертификата, включая те, которые используются веб-браузерами.

Что усложняет проблему, так это то, что существуют различные типы файлов сертификатов для проверки, и все должны идти в каталоги, предназначенные для их вида для AnyConnect, чтобы увидеть их.

Чтобы вручную установить сертификат в месте, где AnyConnect ожидает его найти

в вашем случае сделайте это:

openssl pkcs12 -in source.pfx -out exported.pem -nokeys
openssl pkcs12 -in source.pfx -out exported.key -nocerts

Используйте одно и то же имя, начиная с файлов .pem и .key .

Он попросит вас передать файл .pfx для получения файлов .pem и .key .

Он попросит вас установить пропуск для файла .key . Должна быть подсказка повторения прохода и никаких ошибок. AnyConnect запросит этот проход после нажатия кнопки подключения, но перед тем, как отобразить поля входа / прохода для аутентификации соединения.

Либо в вашем домашнем каталоге пользователя, либо /opt создайте эти каталоги:

.cisco/certificates/client
.cisco/certificates/client/private

Вы должны создать их вручную. Установщик AnyConnect создает только каталог /opt/.cisco/certificates/ca .

Поместите файл .pem в первый созданный вручную каталог, а файл .key во второй.

Теперь AnyConnect должен иметь возможность использовать их, как ожидается, при условии, что все каталоги и файлы имеют правильные права доступа.

Эти каталоги упоминаются где-то в документации Cisco (создайте хранилище сертификатов PEM для Mac и Linux).

Не удивляйтесь, увидев ту же ошибку. The AnyConnect package on the secure gateway could not be located... Читай ниже.


Как заставить VPN-соединение действительно работать так, как вы хотите:

В моем случае до сих пор работало только использование OpenConnect с теми же ключевыми файлами:

Создайте .pem и .key как описано выше,

сделать шаги 4 и 5 с этого сайта

которые:

apt-get install network-manager-openconnect-gnome

откройте Netwok Connections, перейдите на вкладку VPN, нажмите новый

выберите Cisco AnyConnect Совместимый VPN (openconnect)

Шлюз: [ vpn.yourcompany.com ]

Сертификат пользователя: [выберите ваш exported.pem]

Закрытый ключ: [выберите свой экспортированный ключ ]

а теперь попробуйте подключиться

(через апплет сетевого подключения, видимый рядом с часами на экране должен работать просто отлично)

у меня сработало на xubuntu 14.04


Почему AnyConnnect не работает, а OpenConnect работает?

из /var/log/syslog Я обнаружил, что AnyConnect пытается загрузить что-то с сервера на другой стороне, но несколько раз получает 404 error и, таким образом, терпит неудачу:

(...) acvpnui (...) Description: CTRANSPORT_ERROR_HTTP_RETURNED_ERROR:The HTTP server returned an error code (>= 400) HTTP status code received 404

Это сообщение об ошибке означает, что AnyConnect пытается получить что-то от сервера на другой стороне, после успешной аутентификации, и отключается, потому что файл (очевидно, необходимый для его работы) недоступен.

Похоже, OpenConnect не нуждается в этом файле.

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