' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'')//-->
Настоящее руководство является дополненным авторизованным переводом оригинальной документации. В этом документе описаны основные понятия и методика настройки текущей оригинальной версии расширения. Все положения этого документа также могут быть применены к текущей русской версии расширения.
ChromeIPass – расширение для браузеров семейства Chromium, позволяет оперировать данными учётных записей из менеджера паролей KeePass через плагин KeePassHttp.
Публичные версии расширения доступны в архиве Chrome Web Store (удалено из CWS в 2017 году). Авторские версии расширения доступны в виде исходного кода в репозитории проекта на GitHub.
Также доступна модифицированная русская версия этого расширения с аналогичным функционалом. Соответственные наименования пунктов меню и кнопок для этой версии указаны в скобках.
Перед использованием расширения желательно ознакомиться с Важной информацией.
Часть изображений в тексте можно переключить щелчком по ним на скриншоты для русской версии (и обратно). Для бо́льшего удобства изучения материала вы также можете переключить все скриншоты сразу. :)
Если ChromeIPass определяет на текущей просматриваемой веб-странице комбинацию полей для ввода имени пользователя и пароля, через KeePassHttp будут запрошены все учётные записи для этой страницы (определяется по URL сайта). Полученные учётные данные будут доступны для ввода несколькими способами. Описание этих способов приведено ниже.
Иконка ChromeIPass отмечена значком вопроса. Щелчок по иконке откроет всплывающее окно, в котором можно выбрать одну из нескольких учётных записей для заполнения.
Если на странице доступны несколько комбинаций имени пользователя и пароля, поля ввода будут заполнены данными из выбранной учётной записи (после фокуса на поле ввода имени пользователя или пароля) либо будет использоваться только первая комбинация.
Для всех комбинаций полей имени пользователя и пароля в поле ввода имени пользователя поддерживается автозавершение в соответствии с полученными учётными данными.
При щелчке по требуемой строчке выпадающего списка (или при потере фокуса полем имени пользователя) будет произведена проверка правильности введённого имени и будет выполнен автоматический ввод пароля для соответствующей учётной записи.
Эта функция активна по умолчанию и может быть отключена на странице настроек расширения ChromeIPass.
Для каждого текстового поля ввода ChromeIPass добавляет 4 пункта в контекстное меню. Даже если поле не определяется расширением как поле ввода имени пользователя или пароля, эти пункты будут доступны в контекстном меню.
При щелчке на Fill User + Pass ("Заполнить имя и пароль") или Fill Pass Only ("Заполнить только пароль") ChromeIPass проверяет, на каком из ранее определённых полей (имя пользователя и пароль) находится фокус. Если проверка неуспешна, запускается повторное переопределение только для поля в фокусе. Если фокус находится в нераспознанном парольном поле и выбрано Fill User + Pass ("Заполнить имя и пароль"), будет автоматически определено поле имени пользователя и заполнены данные учётной записи.
Fill User + Pass ("Заполнить имя и пароль") в контекстном меню работает только если ChromeIPass получил единственную пару имя+пароль для учётной записи. В противном случае будет выведено сообщение об ошибке, после чего вы можете использовать автозавершение или выбор во всплывающем окне.
Fill Pass Only ("Заполнить только пароль") также работает если ChromeIPass получил единственную пару имя+пароль либо если связанное поле имени пользователя уже содержит имя, относящееся к одной из полученных учётных записей.
Show Password Generator Icons ("Значок генератора паролей") перезапускает определение видимых парольных полей на странице и добавляет к каждому из них иконку в виде ключа для вызова генератора паролей.
Save credentials ("Сохранить учётную запись") позволяет оперативно внести изменения в учётную запись (или ввести новые данные) без их отправки путём подтверждения формы входа. Подробное описание процедуры сохранения дано в разделе 3.5.
ChromeIPass поддерживает две комбинации горячих клавиш, работающие в пределах страницы:
Ctrl+Shift+U – эта горячая клавиша соответствует пункту Fill User + Pass контекстного меню (см. п.3.1.3).
Ctrl+Shift+P – эта горячая клавиша соответствует пункту Fill Pass Only контекстного меню (см. п.3.1.3).
ChromeIPass содержит генератор паролей, получающий пароли непосредственно из самого KeePass. Эта функция может быть включена на странице настроек расширения.
Эта функция доступна только при использовании плагина KeePassHttp v1.4 или новее.
Функция доступна для каждого парольного поля, содержащего значок ключа в правой части поля. Щелчок по значку открывает панель генератора паролей:
Если значок не отображается, щёлкните на поле правой кнопкой мыши и выберите в контекстном меню chromeIPass > Show Password Generator icons ("chromeIPass > Значок генератора паролей").
После открытия панели сгенерированный пароль сохраняется в этом поле до перезагрузки страницы или до момента подтверждения ввода или до нажатия кнопки Generate ("Генерация"). Даже если вы закроете диалог генератора и щёлкните по другому значку генератора в другом поле, отображаемый пароль не изменяется.
Если страница содержит более* одного поля ввода пароля и вы открываете диалог на первом из них, будет доступна опция заполнения следующего поля. Если оба парольных поля на странице успешно заполнены, эта опция также будет отмечена. В противном случае галочка с этой опции будет снята.
* Например, если вы регистрируете новую учётную запись на каком‑либо сайте, страница регистрации может содержать дополнительное проверочное поле для подтверждения вновь созданного пароля.
Если парольное поле имеет ограничение по длине вводимого текста, ChromeIPass определит это и автоматически обрежет сгенерированный пароль. Об этом изменении вы будете проинформированы и укороченный пароль будет скопирован в буфер обмена.
Поскольку ChromeIPass имеет некоторые ограничения по запоминанию учётных записей, созданный новый пароль всегда будет копироваться в буфер обмена.
ChromeIPass посылает запрос в KeePass, который генерирует пароль в соответствии с настройками встроенного профиля для автогенерации паролей. Для изменения длины и способа композиции генерируемых паролей откройте в KeePass настройки генерации паролей. Перейдите в Keepass > Tools > Generate Password..., откроется следующий диалог:
Автоопределение полей ввода учётной записи вызывается только один раз и только после завершения загрузки страницы.
Существуют известные ограничения, когда функция автоопределения не может найти на странице комбинацию полей ввода имени пользователя и пароля. Подробнее об этом смотрите в разделе Ограничения и известные проблемы > Автоопределение полей ввода.
Если комбинация полей логин + пароль не определилась, можно щёлкнуть по значку ChromeIPass на панели и нажать кнопку "Redetect credential fields" ("Переопределить поля ввода учётной записи").
Кроме того, можно также использовать горячие клавиши (как описано в п.3.1.3) для запуска переопределения полей, установив фокус на нужном поле.
В некоторых случаях между полем ввода имени пользователя и полем ввода пароля имеются другие поля ввода. В этом случае ChromeIPass не может корректно определить комбинацию полей логин + пароль.
При необходимости можно задать требуемую комбинацию вручную для каждой отдельной страницы (сайта). Для этого щёлкните по значку ChromeIPass и нажмите кнопку "Choose own credential fields for this page" ("Указать поля ввода учётной записи"):
Изначально все нормальные текстовые поля будут подсвечены. Щёлкните по полю, которое вы хотите использовать для ввода имени пользователя или пропустите этот шаг, если поле имени пользователя не требуется. Затем выберите поле для ввода пароля и в завершение подтвердите свой выбор.
Также вы можете выбрать дополнительные поля, так называемые String Fields (Строковые поля). Их функциональность описана в разделе 3.7.
Когда вы откроете эту страницу в следующий раз, ChromeIPass будет использовать заданную вами комбинацию полей логин + пароль и больше не будет проводить автоопределение комбинации полей.
Кроме того, можно установить фокус на другое поле и использовать контекстное меню (3.1.3) или горячие клавиши (3.1.4), чтобы запустить автоопределение для текущего поля в фокусе.
Поскольку Google Chrome не предоставляет API для своего встроенного менеджера паролей, в ChromeIPass применяется собственный способ определения новых или обновления существующих учётных записей.
Если ChromeIPass находит комбинацию полей логин + пароль, производится попытка определить и соответствующую форму для них. Для этой формы регистрируется событие подтверждения, которое вызывается при отправке формы.
Для этой последовательности есть известные ограничения, описанные в разделе Ограничения и известные проблемы.
Если ChromeIPass обнаруживает несохранённую учётную запись, иконка расширения на панели начинает мигать красным. Иконка продолжает мигать до тех пор, пока вы не щёлкните по ней либо если вы игнорируете это мигание в течение двух последующих переходов между страницами (либо если загружается другой сайт).
Если вы щёлкните по иконке, она останется красной до тех пор, пока вы не добавите новую запись, либо не подтвердите обновление уже существующей, либо не откажетесь от зафиксированных изменений. Вам будет показан соответствующий URL и имя пользователя, а также имя базы данных, в которой изменения будут сохранены.
Если существует несколько учётных записей, подходящих под текущую страницу, и если вы обновить одну из них – нажмите кнопку Update ("Обновить"). Во всплывающем окне будет выдан список всех уже существующих учётных записей текущего сайта для выбора той, которую нужной обновить. Если введённое в форме имя пользователя совпадает с одним из уже существующих, соответствующая учётная запись будет выделена жирным шрифтом:
Новые учётные данные сохраняются в KeePass в отдельной группе, добавляемой плагином KeePassHttp.
KeePassHttp возвращает в ChromeIPass найденные учётные записи отсортированными по максимальному соответствию URL. ChromeIPass может попытаться выполнить автоматический вход с первой из полученных учётных записей при запросе HTTP Auth. Если попытка автовхода окажется неудачной, будет выведено штатное диалоговое окно..
Стандартный диалог запроса HTTP Auth показан на следующем скриншоте:
Эта функция активирована по умолчанию и может быть отключена в настройках.
Вы можете вводить дополнительные данные с помощью заданных строковых полей.
Элементы выпадающих списков будут заполнены видимыми значениями. Если вы откроете выпадающий список, вы можете увидеть все доступные значения. Видимое значение должно соответствовать одному из Строковых полей, сохраняемых в KeePass.
Изначальное конфигурирование ChromeIPass не требуется.
Если ваша база KeePass находится в заблокированном состоянии (или не открыта), расширение не сможет установить соединение с KeePassHttp, на значке расширения будет отображён красный крест и во всплывающем окне будет показано соответствующее сообщение:
Для устранения этой проблемы просто откройте (или разблокируйте) нужную базу KeePass, указав её мастер-пароль.
Если расширение не может установить авторизованное соединение с KeePassHttp, на значке расширения будет отображён красный крест и во всплывающем окне будет предложено отправить запрос на установку соединения:
Для дальнейшей конфигурации вы можете открыть страницу настроек, которая доступна по нажатию соответствующей кнопки во всплывающем окне, из контекстного меню на значке расширения (пункт Настройки) либо на вкладке chrome://extensions (в блоке самого расширения ChromeIPass также есть ссылка Параметры).
На вкладке General ("Общие настройки") вы можете включить/отключить отдельные ключевые функции, такие как Автозавершение, Генератор паролей или Автозаполнение для запросов HTTP Auth.
Эти изменения сохраняются немедленно.
В нижней части страницы общих Настроек ChromeIPass есть отдельный блок расширенных настроек, по умолчанию свёрнутый во избежание случайных ошибок. Для доступа к этим настройкам следует нажать красную кнопку Show this options ("Показать эти настройки"):
Особое внимание следует обратить на настройку соединения с KeePassHttp: если вы используете нестандартный порт или работаете с удалённой базой данных, следует задать корректные параметры соединения в расширенных настройках.
На вкладке Connected Databases ("Подключённые базы") показан текущий список баз данных, с которыми ChromeIPass может установить соединение в паре с KeePassHttp. Здесь вы также можете задать специфичные значки для каждой базы, чтобы визуально определять, с какой из баз установлено текущее соединение.
Отображаемая на панели браузера иконка зависит от конкретной активной и разблокированной базы KeePass, с которой установлено соединение.
Удаление базы из списка в ChromeIPass не удаляет ключ из KeePassHttp! Однако, KeePassHttp после этого больше не будет отправлять учётные данные и/или получать данные от расширения для текущей активной базы в KeePass.
В разделе 3.4 описана функция Choose own credential fields for this page ("Указать поля для ввода учётной записи"). Все сайты с полями ввода, которые были определены с помощью этой функции, отображаются на соответствующей вкладке настроек.
Вы можете только удалять такие настройки, т.к. ручная настройка полей не всегда бывает полезна. При необходимости процедуру переопределения полей ввода всегда можно повторить.
Если поля ввода учётных данных не определяются автоматически, вы можете установить фокус на одно из этих полей и нажать Ctrl+Shift+U или Ctrl+Shift+P для повторного переопределения этих полей и заполнения учётной записи. Также вы можете щёлкнуть по значку расширения на панели и нажать кнопку Redetect credential fields ("Переопределить поля ввода учётной записи").
Если ChromeIPass неправильно определил поля ввода учётной записи, укажите их самостоятельно вручную, нажав кнопку Choose own credential fields for this page ("Указать поля ввода учётной записи"), которая доступна во всех всплывающих окнах расширения.
Если ChromeIPass всегда запрашивает разблокировку базы данных и вам это не нужно – просто отключите эту опцию в настройках KeePassHttp.
Весьма желательно всегда проверять настройки KeePassHttp. Возможно, требуемая функция или решение какой-то проблемы уже есть и они могут заключаться в изменении настроек. Для получения более подробной информации ознакомьтесь с иллюстрированным руководством по настройкам KeePassHttp.
Такая поддержка изначально заложена в KeePass. Подробнее смотрите в руководстве по KeePassHttp.
Откройте настройки KeePassHttp и отключите опцию 1:
Откройте настройки KeePassHttp и переключите опцию 5:
В Google Chrome и других Chromium-браузерах не предоставляется API для взаимодействия со встроенным в браузер менеджером паролей. Поэтому в ChromeIPass реализован собственный способ проверки изменений учётных записей.
Для обнаруженной формы, содержащей комбинацию полей логин + пароль, ChromeIPass регистрирует событие, которое вызывается в момент отправки этой формы.
В момент отправки формы проверяется, есть ли изменения в отправляемых имени пользователя и пароле, и если они есть – вызывается диалог сохранения этих изменений.
Тем не менее, при этом возможны некоторые проблемы, которые не могут быть решены и которые приводят к невозможности распознавания изменений:
Проблему некорректного определения изменений при отправке формы можно решить принудительным вызовом процедуры сохранения. Для этого достаточно внести изменения в соответствующих полях ввода и до момента отправки обновлённых данным выбрать в контекстном меню пункт Save credentials ("Сохранить учётную запись").
Другая проблема состоит в том, что ChromeIPass не может полностью корректно отличить успешную и неуспешную попытки входа в аккаунт. Соответственно, диалог напоминания о сохранении изменений будет выводиться и для неуспешных попыток входа.
Во время определения полей ввода учётных данных детектируются только те поля, которые являются видимыми на момент вызова функции определения. Автоматически это происходит только один раз: после окончания загрузки страницы.
Новые поля ввода, создаваемые с помощью JavaScript или вызовов AJAX, не могут быть определены поскольку они становятся видимыми после вызова функции автоопределения.
К примеру, всплывающие окна подписки или входа в учётную запись, возможно, не смогут быть автоматически определены, так как они скрыты для пользователя на момент прохождения процедуры автоопределения.
В таких случаях. когда автоматически не определена комбинация полей логин + пароль, вы можете щёлкнуть по значку ChromeIPass на панели браузера и нажать кнопку "Redetect credential fields" ("Переопределить поля ввода учётной записи").
вы также можете установить фокус на видимое поле имени пользователя или пароля и нажать Ctrl+Shift+U. Это повторно запустит функцию определения для поля в фокусе.
Первое: прочитайте раздел 5. Полезные советы. Второе: проверьте настройки KeePassHttp – возможно, достаточно изменить некоторые опции.
Если вы хотите сообщить о проблеме в оригинальной версии, всегда указывайте следующую информацию:
Для сообщения об ошибках в русской версии ChromeIPass вы можете использовать комментарии в статьях по соответствующим русским релизам, не забывая указывать те же самые сведения о проблеме.
Если это не решило проблему, сообщите об ошибке.
Откройте вкладку с URL chrome://extensions (Расширения) и включите Режим разработчика, для доступа к фоновой странице расширения нажмите ссылку фоновая страница:
В открывшемся окне выберите вкладку Console:
Находясь на странице, на которой ChromeIPass работает некорректно, нажмите F12 или щёлкните правой кнопкой мыши и выберите пункт Просмотр кода элемента в контекстном меню. Затем выберите вкладку Console для открытия консоли для выполняемых скриптов:
Система передачи данных уязвима только в момент подключения базы паролей к ChromeIPass. В этот момент плагин KeePassHttp передаёт ключ шифрования в ChromeIPass, который потом сохраняется в безопасном хранилище аддона. Если злоумышленник перехватит трафик именно в этот момент, он будет иметь возможность извлечь из него ключ.
Все последующие соединения шифруются этим ключом и являются безопасными!
Автор исходного документа: Lukas Schulze, последнее обновление: апрель 2013. Русский перевод: BaRMaLeY, создан: ноябрь 2016, последнее обновление: январь 2025.
Оригинал документа (GitHub).