Удалить запомненные пароли в криптопро linux
Работа с электронной подписью (ЭЦП) в Linux (Debian / Ubuntu)
Электронно-цифровая подпись (ЭЦП) давно уже стала неотъемлемой частью нашей жизни, позволяя удаленно взаимодействовать с органами власти, сдавать отчетность, участвовать в системах электронного документооборота (ЭДО). Все это стало особенно актуально в последнее время, когда сложная эпидемиологическая обстановка внесла серьезные коррективы в рабочий процесс, сделав упор на дистанционные технологии. Особый интерес работа с ЭЦП вызывает у пользователей Linux, действительно, данная тема пока не нашла широкого отражения, поэтому постараемся восполнить этот пробел.
Начнем с того, что в техническом плане представляет электронно-цифровая подпись, а говоря об ЭДО и взаимодействии с государственными органами под этим термином мы будем иметь ввиду усиленную квалифицированную электронную подпись, которая выдается аккредитованным удостоверяющим центром и приравнивается к "живой" подписи.
ЭЦП состоит из двух частей: закрытого и открытого ключей. Закрытый ключ (часто просто "ключ") является секретным, его утрата ведет к полной компрометации подписи, так как завладевшее им лицо имеет возможность подписывать любые документы от имени владельца ЭЦП. Открытый ключ, вместе с некоторыми сведениями о владельце ключа оформляется в виде сертификата. Он не является секретным и используется для аутентификации владельца ЭЦП на многих ресурсах, а также для проверки подписи, сделанной закрытым ключом.
Среди обычных пользователей ЭЦП называется "сертификатом", но если вы являетесь специалистом, то должны различать и понимать разницу между составляющими частями ЭЦП и не путать закрытый и открытый ключ (сертификат). Сертификаты хранятся в системном хранилище ОС, а вот для хранения закрытых ключей есть варианты:
- Токен - аппаратное устройство для хранения ключей, чаще всего без возможности их экспорта, является наиболее безопасным способом хранения, угрозу представляет только физическая утеря ключа.
- Съемный носитель - обычно флеш-карта на которой расположен контейнер закрытого ключа, менее безопасный способ, так как ключ может быть легко скопирован физически.
- Реестр или жесткий диск - самый небезопасный способ, но в тоже время самый удобный, особенно когда нужно работать с большим количеством ЭЦП, вполне приемлем на доверенных устройствах, но требует более серьезного подхода в разграничении прав доступа.
При этом нельзя сказать, что последние два способа представляют угрозу безопасности, при должном подходе по разграничению доступа и установке нестандартного пароля на контейнер закрытого ключа они также вполне безопасны.
Второй вопрос - браузеры. Так повелось, что основная разработка средств электронной подписи ориентируется на браузеры на основе WebKit, поэтому мы рекомендуем использовать для работы Google Chrome, для используемого по умолчанию Firefox мы так и не смогли нормально настроить работу с отечественной криптографией. Также можно использовать Яндекс.Браузер или Спутник, хотя последний может нестабильно работать в последних выпусках Linux, например, в Xubuntu 20.04.
На этом, пожалуй, закончим вводную часть и перейдем к практическим примерам.
Госуслуги
Основной по своей значимости портал для взаимодействия с государственными органами. Для входа на Госуслуги в Linux можно использовать только аппаратные ключи (токены), криптопровайдеры не поддерживаются. Поэтому если вам нужны только Госуслуги, то Крипто-Про вам устанавливать не нужно. Для работы с Госуслугами вам потребуется IFCPlugin, который можно загрузить со следующей страницы, на нее же вы будете перенаправлены автоматически при попытке входа с помощью электронной подписи без установленного плагина.
Система корректно распознает текущую ОС и автоматически предлагает к скачиванию нужную версию плагина в виде DEB-пакета. Но не будем спешить с его установкой, для работы с токенами нам потребуется установить дополнительные библиотеки, в частности pcscd:
Если вы используете токены, то мы рекомендуем установить данную библиотеку вне зависимости от того, будете ли вы использовать Госуслуги или нет, она вам потребуется для работы с аппаратным ключом.
Затем откройте терминал в директории со скачанным плагином, повысьте права до суперпользователя и установите его командой:
Перезапустите браузер и снова попробуйте войти на портал Госуслуг, в этот раз все должно увенчаться успехом.
Установка Крипто-Про
Крипто-Про самый распространенный и популярный отечественный криптопровайдер. Это коммерческое ПО и для установки вам понадобится серийный номер, без него будет активирована триальная версия на три месяца. Обычно лицензия на Крипто-Про выдается вместе с ЭЦП, либо использующим его ПО (например, система сдачи отчетности), поэтому если вы затрудняетесь найти лицензию, то обратитесь к своему поставщику ЭЦП.
Теперь пару слов о ключах, если они располагаются на токене или флеш-карте, то ничего делать не надо, а вот если они находятся в реестре, то их нужно скопировать на переносной носитель (флешку). Для этого откройте Крипто-Про и перейдите на вкладку Сервис, в разделе Контейнер закрытого ключа нажмите Скопировать и в открывшемся окне выберите нужный контейнер из реестра.
Затем укажите новый носитель для закрытого ключа, в этом качестве можно использовать любую флеш-карту, в т.ч. с данными, также рекомендуем установить на контейнер ключа надежный пароль.
На этом подготовительные моменты закончились и перейдем непосредственно к установке Крипто-Про в среде Linux. Прежде всего нам потребуется получить дистрибутив, это не такая простая задача, как кажется на первый взгляд, проще всего это сделать с главной страницы официального сайта, нажав на ссылку в правой колонке.
В этом случае вам не потребуется полноценной регистрации, достаточно будет заполнить несколько полей, сайт корректно определяет ОС клиента и сразу предлагает скачать нужный пакет, обратите внимание, что Крипто-Про для Linux поддерживает только 64-разрядные системы.
Распакуйте полученный архив в любое удобное место и перейдите в терминал, этом можно сделать, кликнув правой кнопкой мыши в любом свободном месте и выбрав Открыть терминал.
И запустим установку Крипто-Про командой:
Продукт имеет текстовый установщик, который последовательно проведет вас по всем этапам. Набор установки по умолчанию следует дополнить пунктом Поддержка токенов и смарт-карт, также у вас должна быть установлена библиотека pcscd.
При отсутствии лицензионного ключа этап его ввода можно пропустить, впоследствии, для активации лицензии потребуется запустить программу установки еще раз.
После успешной установки запустите графическое приложение Инструменты КриптоПро, при старте оно автоматически находит и отображает все доступные контейнеры, и вы сразу можете выполнить необходимые действия, например, установить сертификат в системное хранилище ОС.
Альтернативой хранения ключей на флешке может быть размещение контейнеров на жестком диске, для этого нажмите Скопировать контейнер и выберите в качестве носителя Directory:
На этом установку Крипто-Про можно считать законченной.
Установка КриптоПро ЭЦП Browser plug-in
Но одного криптопровайдера нам будет недостаточно, для работы с ЭЦП на различных государственных порталах нам потребуется плагин для поддержки со стороны браузера, его можно скачать на следующей странице. Распакуем полученный архив в удобное место, он содержит по три пакета для DEB и RPM-систем. Для установки выполним в терминале с правами суперпользователя:
Затем перезапустим браузер и проверим работу плагина. Для этого нажмите на значок плагина на панели браузера и выберите в выпадающем меню Проверить работу плагина, если все сделано правильно вы увидите следующую страницу:
Теперь вы можете использовать Крипто-Про для входа по ЭЦП на сайты, поддерживающие работу с данным криптопровадером.
При генерации запросов на сертификат и ключей в программе "АРМ генерации ключей", выходит окошко, где эта программа (а точнее Крипто Про) предлагает ввести пароль (рис. 8). Предлагает, но не заставляет же. Если поля оставить пустыми, то никакой пароль установлен не будет. Но пользователи вероятно думают по другому и, конечно же, заполняют эти поля. Всё бы ничего, но потом они благополучно забывают какой пароль они вводили при генерации, и когда первый раз приходится подписывать что-то, то человек впадает в ступор. Потом, конечно же, следует звонок в казначейство с просьбой помочь.
Сегодня, в этой статье, я расскажу как можно удалить или изменить этот пароль. Существует два варианта удаления пароля. Первый - когда пользователь помнит старый пароль, второй - когда не помнит. Начнем с первого. Как я уже упомянул в начале статьи, за пароль на ключевой контейнер отвечает программа Крипто Про. Давайте запустим её, зайдя в панель управления компьютером (рис. 1):
Чтобы у вас открылось такое же окно как у меня, в правом верхнем углу окна выберите режим просмотра "Мелкие значки". Запускаем Крипто Про, открывается окно (рис. 2):
Нажимаем на вкладку "Сервис", чтобы попасть в следующее окошко (рис. 3):
Внизу окна есть кнопка с надписью "Изменить пароль". Нажмем на нее и попадем в следующее окно (рис. 4):
Тут нам предлагают выбрать ключевой контейнер по кнопке "Обзор". Предварительно не забудьте вставить в компьютер флешку, или другой носитель в вашими ключами. При нажатии на кнопку, откроется следующее окно (рис. 5):
Выбираем нужный нам ключевой носитель и жмем "ОК". Откроется следующее окно (рис. 6):
Убеждаемся, что у нас действительно выбран нужный нам контейнер закрытого ключа, и жмем кнопку "Готово", после чего откроется окно ввода пароля (рис. 7):
Сюда надо ввести пароль, который вы вводили при генерации ключей и запроса на сертификат в программе "АРМ генерации ключей". Подразумевается, что вы его помните :). Вводим, жмем "ОК", галочку "Запомнить пароль" ставить не надо, и попадаем в окно ввода нового пароля (рис. 8):
Тут пароль можно не только изменить, но и удалить его, если оставить поля пустыми. Если же вы хотите изменить пароль, то придумайте и введите его два раза.
Со случаем, когда пользователь помнит старый пароль на контейнер, мы разобрались. Давайте попробуем удалить пароль с контейнера, когда он благополучно забыт. Тут нам поможет утилита csptest.exe , которая входит в комплект установки программы Крипто Про начиная с версии 3.6. Если у вас установлена эта программа, значит утилита эта у вас есть и находится она по пути установки программы, т. е. C:\Program Files (x86)\Crypto Pro\CSP (у меня 64-разрядная ОС, если у вас 32 разрядная, то (х86) в пути будет отсутствовать). Её нам необходимо запустить из командной строки.
Чтобы открыть командную строку в Windows 7, надо через проводник добраться до нужной папки, нажать клавишу "Shift" на клавиатуре, и удерживая её кликнуть правой кнопкой мышки по нужной папке. Всё проиллюстрировано на картинке ниже (рис. 9):
В появившемся контекстном меню, надо выбрать "Открыть око команд" уже левой кнопкой мышки. В окне команд надо сначала ввести следующую команду: [csptest -keyset -enum -fqcn -verifycontext] без квадратных скобок, конечно же. Эта команда покажет нам все доступные контейнеры закрытых ключей в виде: [\\.\имя носителя\имя контейнера] . Когда мы узнаем как называется наш контейнер закрытых ключей, необходимо ввести еще одну команду: [csptest -passwd -showsaved -container "имя контейнера"] . Опять без квадратных скобок. В кавычках надо ввести имя вашего контейнера закрытых ключей, которое вы узнали на предыдущем шаге. Кавычки вводить ОБЯЗАТЕЛЬНО. Эта команда покажет нам сохраненный пароль, узнав его, мы сможем воспользоваться первым методом для удаления или изменения пароля.
Все вышеуказанные действия мною были проделны, о чем свидетельствует рисунок 10:
Сразу хочу отметить, что у меня не получилось "узнать" пароль используя этот метод (красная строчка на рис. 10). Но я думаю, что это связано с тем, что контейнер, который я указывал во второй команде, был получен путем копирования с носителя на носитель с помощью пункта меню программы Крипто Про "Скопировать" (рис. 3). Генерация закрытых ключей проводилась на другой носитель, не доступный мне более. Но метод рабочий.
Если у вас тоже не получится удалить пароль таким образом, то остается единственный путь - отзывать текущий сертификат и генерировать новые ключи и новый запрос на сертификат. А если вы будете серьезнее относиться к парольной защите, то "забываться" пароли не будут. На этом все. Удачи!
И напоследок. Если вам понравилась эта статья и вы почерпнули из нее что-то новое для себя, то вы всегда можете выразить свою благодарность в денежном выражении. Сумма может быть любой. Это вас ни к чему не обязывает, все добровольно. Если вы всё же решили поддержать мой сайт, то нажмите на кнопку "Поблагодарить", которую вы можете видеть ниже. Вы будете перенаправлены на страницу моего сайта, где можно будет перечислить любую денежную сумму мне на кошелек. В этом случае вас ждет подарок. После успешного перевода денег, вы сможете его скачать.
Зачастую пользователи не могут вспомнить пароль (пинкод) от контейнера ЭЦП, что неудивительно меняется он раз в год при плановой смене ключа ЭЦП после чего ставится галочка "запомнить пароль" и пароль больше никогда не вводится.Сохраненный пароль можно посмотреть с помощью консольной утилиты csptest, входящей в состав КриптоПро CSP.
Утилита находится в папке с установленным КриптоПро (по умолчанию C:\Program Files\Crypto Pro\CSP\).
Переходим в директорию с программой
Смотрим имена доступных контейнеров закрытого ключа ЭЦП:
команда выводит список доступных контейнеров вида: \\.\<имя считывателя>\<имя контейнера>
После этого выводим сохраненный пароль для нужного контейнера:
PS: Данный способ подходит для КриптоПро 3.6 и выше. В КриптоПро 3.0 у утилиты csptest отсутствует опция -showsaved.
PPS: Если этот метод не помогает и у вас аппаратные контейнеры (токены), можно попробовать ввести пароль по умолчанию. Для rutoken это 12345678, для eToken 1234567890, для JaCarta PKI/ГОСТ 11111111 (1234567890 если включена опция обратная совместимость).
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
copy "C:\Program Files\Crypto Pro\CSP\csptest.exe" >nul
chcp 1251
if exist %computername%.txt del /f /q %computername%.txt
if exist temp.txt del /f /q temp.txt
set NameK=""
for /f "usebackq tokens=3,4* delims=\" %%a in (`csptest -keyset -enum_cont -fqcn -verifycontext` ) do (
set NameK=%%a
;csptest -passwd -showsaved -container "!NameK!" >> temp.txt
)
del /f /q csptest.exe
set/a $ai=-1
set/a $bi=2
for /f "usebackq delims=" %%a in ("temp.txt") do @(set "$a=%%a"
if "!$a:
,14!"=="AcquireContext" echo:!$a! >> %computername%.txt
if "!$a:
,8!"=="An error" echo:Увы, ключевой носитель отсутствует или пароль не был сохранен. >> %computername%.txt & echo: >> %computername%.txt
if "!$a:
Криптопровайдер КриптоПро CSP 3.0 является дальнейшим развитием СКЗИ (Средства Криптографической Защиты Информации) КриптоПро CSP, разработанного ООО "Крипто-Про", значительно расширяющим область применения продукта.
gyurza2000, задал вопрос, я ответил не как посчитал, что возможно поможет, а так как это рекомендовано разработчиком КриптоПро.
Lesnoj_Inok Иногда прежде чем высказывать бредовые мысли, загляните в мануалы по проблемме, и на вас возможно не будут смотреть как на дилетанта.
Вы пробывали проделать, или так от балды(по наитию), КриптоПро открывали, читали, что находится на вкладке сервис?
Как по вашему виндовс определяет, где находится контейнер и это именно тот, который связан с сертификатом открытого ключа?
Может она экстрасенс? Или все-таки все действия которые необходимо выполнять в нужный момент времени(вести "диалог" с пользователем, перефирией) пишет в реестр.
Ну и на дессерт для Вас с офсайта в формате вопрос-ответ(выборочно, чтоб не напрягать "мусором"):
Quote:
Теперь КриптоПро ругается на носитель
Через Просмотреть сертификаты в контейнере контейнер виден?
Переустановить сертификат с привязкой к контейнеру пробовали?(КриптоПро CSP - Сервис-Установить личный сертификат)
Ответ:
Пароли на контейнер помните?
Сервис-Удалить запомненные пароли Пользователя
РАБОТАЕЕЕТ. : ))
Огромное спасибо!
Я уже хотел ковырять флешку в Disk Probe.
Правильно ли я понимаю, что если на контейнер не установлен пароль, то скопировать контейнер можно даже эксплорером?
Если контейнер на дискете/флешке - не имеет значения есть на нем пароль или нет. Скопировать вручную можно. Вопрос куда. Только на дискету/флешку.
и т.д.
Но программы которые там используются требуют наличие установленной программы КриптоПро не ниже 3 версии.
Но программы которые там используются требуют наличие установленной программы КриптоПро не ниже 3 версии.
в организации имеется CryptoPRO 3.0
под ОС Win XP работает более менее сносно
пытаюсь поставить под ОС Win 7 Pro SP1 - ОС улетает в нокаут вплоть до переустановки.
Может необходима более новая версия CryptoPRO?
есть установленная программа крипто про 3.6. Есть USB ключ.
Пин-код от ключа сохранен в самой крипто-про. Бумажку где был написан пароль - потеряли - как можно этот пароль вытащить из программы?
Читайте также: