Войдите в WebPage, используя Сертификат с Java - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть веб-страница, которая требует SSL-сертификат, затем использует SSL-сертификаты для автозаполнения имени пользователя, затем ждет, пока пользователь введет пароль пользователя, и нажмет кнопку для перехода к самому приложению.

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

Я думал о 1 - отправканачальный запрос GET для сбора идентификатора сеанса, 2 - отправьте запрос POST, передав сертификат, имя пользователя и пароль 3 - откройте запрошенную защищенную веб-страницу в браузере.

Я знаю, как использовать соединение HttpsURLConnection для выполненияпервые 2 шага, однако я не уверен, имеет ли смысл этот рабочий процесс, поскольку я не знаю, как выполнить шаг 3 после проверки подлинности.

Это правильный способ сделать это?

Спасибо всем за помощь.

1 Ответ

0 голосов
/ 10 января 2019

Привет всем, кто только что написал это решение для тех, у кого похожая проблема, так как, возможно, им придется меньше бороться.

У нас есть облачное решение, для которого требуется имя пользователя + пароль + сертификат SSL для входа.Я хотел, чтобы у меня была возможность открыть определенную страницу в окне браузера, передав параметр без необходимости входа в систему и выбора сертификата из списка доступных сертификатов.

Так что мой первоначальный подход не работал, так какЯ надеялся, поэтому я начал смотреть на использование Selenium для открытия параметров передачи веб-страницы.Он работал нормально, и я настроил программу, чтобы при первом запуске программы запрашивать имя пользователя и пароль, и сохранять их в зашифрованном файле в профиле пользователя Windows.

Единственное препятствие, которое у меня оставалось, - это автоматический выборсертификат из списка доступных сертификатов, который представлен браузером.Есть много разных сообщений об этой проблеме, и большинство из них не являются действительно масштабируемыми, пока я не нашел одно решение: Chrome предлагает возможность установить одну конкретную политику, которая называется "AutoSelectCertificateForUrls", которая позволяет указывать один сертификат для определенного URLэто автоматически выбирается.Поэтому я настроил установщик для установки этого параметра (должен быть установлен в реестре Windows), и это помогло.Каждый пользователь Windows будет хранить свой сертификат в хранилище сертификатов текущего пользователя, а его / ее учетные данные сохраняются для каждого пользователя в профиле пользователя Windows.

Единственное ограничение заключается в том, что в настоящее время вы можете указать толькоКомпания-эмитент сертификата (поэтому, если у вас есть несколько сертификатов от одной компании, будет работать только первый сертификат), но, очевидно, команда Chromium работает над возможностью фильтрации по «Предмету» (этот вопрос также помог мне в этом: Фильтр Chrome AutoSelectCertificateForUrls по теме . Надеюсь, это поможет другим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...