как узнать какой сертификат на токене
Как узнать какой сертификат на токене
С чего начать работу с Рутокен в Windows?
Установите комплект «Драйверы Рутокен для Windows». Загрузите его с сайта Рутокен:
Как проверить, что Рутокен работает?
Запустите Панель управления Рутокен, в раскрывающемся списке Подключенные Рутокен выберите название подключенного устройства, нажмите Ввести PIN-код и укажите PIN-код Пользователя. Если эти действия выполняются без ошибок, то Рутокен работает.
Как узнать модель, подключенного к компьютеру устройства Рутокен?
Запустите Панель управления Рутокен и выберите необходимое устройство. Нажмите Информация. В поле Модель указано название модели устройства Рутокен.
Что такое PIN-код Пользователя? Какой PIN-код Пользова теля установлен по умолчанию?
Это пароль, который используется для доступа к основным функциям Рутокена. PIN-код Пользователя, установленный по умолчанию, 12345678.
Что такое PIN-код Администратора? Какой PIN-код Администратора установлен по умолчанию?
Это пароль, который используется для доступа к административным функциям устройства Рутокен. PIN-код Администратора, установленный по умолчанию, 87654321.
Как изменить PIN-код Пользователя?
Запустите Панель управления Рутокен, выберите название устройства и введите PIN-код Пользователя. В секции Управление PIN-кодами нажмите Изменить, два раза введите новый PIN-код Пользователя и нажмите ОК.
Как изменить PIN-код Администратора?
Запустите Панель управления Рутокен, выберите название устройства, установите переключатель в положение Администратор и введите PIN-код Администратора.
В секции Управление PIN-кодами нажмите Изменить, два раза введите новый PIN-код Администратора и нажмите ОК.
Как посмотреть действителен ли сертификат, сохраненный на устройстве Рутокен?
Запустите Панель управления Рутокен, перейдите на вкладку Сертификаты и щелкните по строке с необходимым сертификатом. Если сертификат действительный, то в верхней части окна отобразится зеленая галочка и статус «Сертификат действителен«. Срок действия сертификата указан в таблице сертификатов в столбце Истекает.
Криптографические токены PKCS#11: просмотр и экспорт сертификатов, проверка их валидности
В комментариях к статье «Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509» было пожелание от пользователя Pas иметь не только «парсинг сертификатов», но и получать «цепочки корневых сертификатов и проводить PKI-валидацию, хотя бы для сертификатов на токенах с неизвлекаемым ключом». О получении цепочки сертификатов рассказывалось в одной из предыдущих статей. Правда там речь шла о сертификатах, хранящихся в файлах, но мы обещали добавить механизмы для работы с сертификатами, хранящимися на токенах PKCS#11. И вот что в итоге получилось.
Утилита разбора и просмотра написана на Tcl/Tk и, чтобы в нее добавить просмотр сертификатов на токенах/смарткартах PKCS#11, а также проверку валидности сертификатов потребовалось решить несколько задач:
Доступ к токену PKCS#11
Для доступа к токену и сертификатам, хранящимя на нем, воспользуемся пакетом TclPKCS11. Пакет распространяется как в бинарниках, так и в исходниках. Исходные коды пригодятся позднее, когда мы будем добавлять в пакет поддержку токенов с российской криптографией. Загрузить пакет TclPKCS11 можно двумя способами, либо командой tcl вида:
Либо загрузить просто как пакет pki::pkcs11, предварительно положив библиотеку tclpkcs11 и файл pkgIndex.tcl в удобный вам каталог (в нашем случае это подкаталог pkcs11 текущего каталога) и добавив его в путь auto_path:
Поскольку нас интересуют токены прежде всего с поддержкой российской криптографии, то из пакета TclPKCS11 мы будем задействовать следующие функции:
Сразу оговоримся, что функции login и logout здесь рассматриваться не будут. Это связано с тем, что в рамках этой статьи мы будем иметь дело только с сертификатами, а они являются публичными объектами токена. Для доступа к публичным объектам нет необходимости авторизовываться через PIN-код на токене.
Первая функция ::pki::pkcs11::loadmodule предназначена для загрузки библиотеки PKCS#11, которая поддерживает токен/смарткарту, на котором находятся сертификаты. Библиотека может быть получена либо при приобретении токена, либо загружена из Интернета или она была предустановлена на компьютере. В любом случае надо знать какая библиотека поддерживает ваш токен. Функция loadmodule возвращает указатель (handle) на загруженную библиотеку:
Соответственно есть функция выгрузки загруженной библиотеки:
После того как была загружена библиотека и у нас есть ее handle можно получить список слотов, поддерживаемых этой библиотекой:
В данном примере список содержит 15 (пятнадцать от 0 до 14) элементов. Именно столько слотов может поддерживать библиотека токенов семейства RuToken. В свою очередь каждый элемент списка сам является списком из трех элементов:
Первый элемент списка – это номер слота. Второй элемент списка это метка, находящегося в слоте токена (32 байта). Если слот пуст, то второй элемент содержит 32 пробела. И последний, третий элемент списка содержит флаги. Мы не будем рассматривать все множество флагов. Нас интересует в этих флагах только наличие флага TOKEN_PRESENT. Именно этот флаг говорит о том, что в слоте находится токен, а на токене могут находиться интересующие нас сертификаты. Флаги очень полезная вещь, они описывают состояние токена, состояние PIN –кодов и т.д. На основание значения флагов проводится управление токенами PKCS#11:
Теперь ничто не мешает написать процедуру slots_with_token, которая будет возвращать список слотов с метками находящихся в них токенов:
Если выполнить этот скрипт, предварительно сохранив его в файле slots_with_token.tcl, то в результате получим:
Из 15 доступных слотов для данной библиотеки задействовано только два, нулевой и первый.
Теперь ничего не мешает получить список сертификатов, находящихся на том или ином токене:
Каждый элемент списка содержит сведения об одном сертификате. Для получения сведений из сертификата используется функция ::pki::pkcs11::listcerts использует в свою очередь функцию ::pki::x509::parse_cert из пакета pki. Но функция ::pki::pkcs11::listcerts дополняет этот список данные, присущими протоколу PKCS#11, а именно:
А теперь, когда мы имеем распарсенные сертификаты, мы спокойно отображаем в combobox список их меток:
Как распарсить ГОСТ-овые публичные ключи мы рассматривали в предыдущей статье.
Два слова об экспорте сертификата. Сертификаты экспортируются как в PEM-кодировке, так и DER-кодировке (кнопки DER, PEM-формат). Для преобразования в PEM-формат в пакете pki имеется удобная функция pki::_encode_pem:
Выбрав метку септификата в combobox, мы получаем доступ к телу сертификата:
Дальнейший механизм разбора сертификата и его отображения был ранее рассмотрен здесь.
Проверка срока действия сертификата
При разборе сертифмката в переменных ::notbefore и ::notafter хранится дата, с которой сертификат может использоваться в криптографических операциях (подписать, зашифровать и т.д.), и дата окончания срока действия сертификата. Процедура проверки срока действия сертификата имеет вид:
Возвращаемый список содержит два элемента. Первый элемент может содержать либо 0 (ноль) либо 1 (один). Значение «1» указывает на то, что сертификат действует, а 0 – на то, что сертификат не действует. Причина по которой не действует сертификат раскрывается во втором элементе. Этот элемент может содержать одно из трех значений:
Проверка валидности сертификата по СОС/CRL
Первым шагом необходимо получить СОС, затем его распарсить и проверить по нему сертификат.
Список точек выдачи СОС/CRL находится в расширении сертификата с oid-ом 2.5.29.31 (id-ce-cRLDistributionPoints):
Собственно загрузка файла с СОС/CRL ведется следующим образом:
Собственно для загрузки СОС/CRL используется процедура readca:
В переменной dir хранится путь к каталогу, в котором будет сохранен СОС/CRL, а в переменной url – ранее полученный список точек распространения CRL.
При получении СОС/CRL неожиданно пришлось столкнуться с тем, что для некоторых сертификатов этот список приходиться получать по протоколу https (tls) в анонимном режиме. Честно говоря, это удивительно: список CRL это публичный документ и его целостность защищена электронной подписью и иметь доступ к нему по анонимному https на мой взгляд перебор. Но делать нечего, приходится подключать пакет tls – package require tls.
Если СОС/CRL загрузить не удалось, то валидность сертификата проверена быть не может, если только в сертификате не указана точка доступа с сервису OCSP. Но об этом речь пойдет в одной из следующих статей.
Итак, сертификат для проверки есть, список СОС/CRL есть, осталось проверить по нему сертификт. К сожалению, в пакете pki отсутствуют соответствующие функции. Поэтому пришлось написать процедуру для проверки валидности сертификата (его неотозванности) по списку отозванных сертификатов
Параметрами этой функции являются список отозванных сертификатов (crl), серийный номер проверяемого сертификата (sernum) и его издатель (issuer).
Список отозванных сертификатов (crl) загружается следующим образом:
Серийный номер проверяемого сертификата (sernum) и его издатель (issuer) берутся из распарсенного сертификата и сохраненные в переменных ::sncert и ::issuercert.
Все процедуры можно найти в исходном коде. Исходный код утилиты и ее дистрибутивы для платформ Linux, OS X (macOS) и MS Windows можно найти здесь
В утилите также сохранена возможность просмотра и проверки сертификатов, хранящихся в файле:
Кстати, просматриваемые сертификаты из файлов, также можно экспортировать, как и хранящиеся на токене. Это позволяет легко конвертировать файлы с сертификатами из DER-формата в PEM и наоборот.
Теперь у нас есть единый просмоторщик для сертификатов хранящихся как в файлах, так и на токенах/смаркартах PKCS#11.
Да, упустил главное, для проверки валидности сертификата надо нажать кнопку «Дополнительно» («Additionaly») и выбрать пункт меню «Валидность по СОС/CRL» («Validaty by CRL») или нажать правую кнопку мыши и при нахождении курсора на основном информационном поле и также выбрать пункт меню «Валидность по СОС/CRL» («Validaty by CRL»):
На данном скриншоте показан просморт и проверка валидности сертификатов, находящихся в облачном токене.
В заключении отметим следующее. В своих комментариях к статье пользователь Pas очень правильно заметил про токены PKCS#11, что они «сами все умеют считать». Да, токены фактически являются криптографическими компьютерами. И в следующих статьях мы поговорим не только о том как проверяются сертификаты по OCSP-протоколу, но и о том как задействовать криптографические механизмы (речь идет, конечно, о ГОСТ-криптографии) токенов/смартарт для вычисления хэша (ГОСТ Р 34-10-94/2012), формирования и проверки подписи и т.п.
Как проверить ЭЦП на Рутокен
Традиционно срок действия электронной цифровой подписи (ЭЦП) составляет 12-15 месяцев. Связано это с потенциальным ростом риска ее компроментации и возможности завладения ЭП злоумышленниками или третьими лицами.
После истечения периода действия ею невозможно пользоваться при обмене документами, взаимодействии с государственными органами, поэтому важно своевременно обновлять или перевыпускать ЭЦП.
Определенным неудобством остается невозможность проверки срока действия ЭЦП в автоматическом режиме. Если последний будет упущен, то не выйдет обновить подпись в упрощенном формате, когда можно выполнить генерацию в удаленном формате без обязательного визита в удостоверяющий центр, что приведет к финансовым и временным затратам.
Как проверить срок действия ЭЦП
Проконтролировать дату истечения цифровой подписи можно несколькими способами:
При использовании браузера Internet Explorer выполните следующие действия:
Теперь достаточно на вкладке «Личные» найти сертификат, где будет указан срок его действия.
При использовании ПО КриптоПро для проверки срока действия ЭЦП придерживайтесь следующего алгоритма:
Затем достаточно нажать сначала «ОК», а потом «Далее». На мониторе откроется информация о конкретном сертификате с указанием срока действия.
При использовании носителя Рутокен ЭЦП 2.0 проверить срок действия сертификата можно следующим образом:
Затем откроется окошко, где в нижней части будет указан срок действия ЭЦП.
Получаем подпись в ФНС: как выбрать носитель
Чтобы бесплатно получить подпись в ФНС, индивидуальный предприниматель, юридическое лицо или нотариус должны приобрести специальный токен. Токен — это носитель электронной подписи, он служит для хранения ключа ЭП и его использования.
В этой статье мы разберёмся в том, какие носители существуют, в чём разница между ними и расскажем, как с ними работать и какие ошибки могут возникнуть во время их эксплуатации.
Какие носители бывают
Все токены внешне напоминают флешку и выполняют её функции — выступают в качестве носителя. Однако, в отличие от обычной флешки, токены являются защищёнными носителями: на них устанавливается пароль и в них встроены криптографические алгоритмы. Это сделано для того, чтобы максимально обезопасить хранимую на них электронную подпись от компрометации, то есть доступа постороннего лица к защищённой информации.
Мы лишь вскользь упомянем о том, что хранить электронную подпись можно и на компьютере, но это небезопасно. В то же время, с 1 января 2022 года, получить подпись для юридических лиц, индивидуальных предпринимателей и нотариусов можно будет только в удостоверяющем центре ФНС. И получатель должен иметь при себе токен, на который и будет загружен ключ.
К носителям выставлены определённые требования: они должны быть сертифицированы и соответствовать формату USB Type-A. К этому типу можно отнести следующие токены:
В чём разница
Носители различают по следующим критериям: производитель, внешний вид, аппаратная криптография, объём защищённой памяти, цена, дополнительные опции, поддержка тех или иных операционных систем и необходимое программное обеспечение для работы.
Токены могут различаться также и по максимальному количеству электронных подписей, которые можно на них установить. Например, если размер носителя 64 Кб, то на него можно установить до 8 электронных подписей.
Объём защищённой памяти варьируется от 32 до 128 Kb, в зависимости от производителя. Некоторые модели могут содержать дополнительную flash-память для автоматического запуска необходимого программного обеспечения. Большинство токенов поддерживает множество версий Windows, а также Mac OS X и GNU/Linux.
Несмотря на все отличия, носители служат одной цели. Мы рекомендуем при выборе токена обращать внимание на то, подходит лишь ваша операционная система или нет для работы с данным носителем. При необходимости можно покупать карту с дополнительными опциями.
Как работать с носителями
Порядок получения электронной подписи на токен выглядит следующим образом:
Чтобы полноценно работать с установленной на токен электронной подписью, нужно выполнить ещё несколько действий. Главное — на компьютер нужно установить криптопровайдер « КриптоПро CSP », это требование налоговой. Остальное зависит от выбранного носителя: нужно будет установить драйвер для работы с токеном.
Порядок работы с носителями очень прост: в случае с Рутокеном, который является самым распространённым российским носителем, достаточно установить драйвер и воткнуть сам токен в гнездо USB. Настройка носителя осуществляется в специальной панели управления, которая устанавливается вместе с драйвером.
После выполненных действий электронную подпись можно будет использовать по назначению: подписывать электронные документы, работать с государственными порталами и участвовать в закупках.
Какие могут возникнуть ошибки
Во время работы с токеном могут возникать ошибки, которые может исправить либо сам пользователь, либо организация, выдавшая носитель. Рассмотрим основные ошибки, которые возникают при работе с Рутокеном.
Носитель ключа электронной подписи нужно хранить в недоступном для посторонних лиц месте, чтобы избежать компрометации. Использовать его нужно чётко в соответствии с прилагаемой инструкцией, а при возникновении проблем — пользоваться вышеуказанными методами их решения или обращаться в службу поддержки.
Как найти на компьютере сертификат ЭЦП
Электронную цифровую подпись владелец может использовать на различных компьютерах одновременно, но для начала её необходимо предварительно перенести (скопировать).
Для этого важно сначала найти сертификат как самой ЭЦП, так и аккредитованного УЦ, который ее сгенерировал и выдал. В нем сохранены:
Где на жестком диске находится сертификат
Необходимые для копирования файлы могут находиться в следующих местах:
Еще одна копия файлов сертификата находится непосредственно в папке Windows в зашифрованном виде, поэтому получить к ней доступ или скопировать невозможно из-за отсутствия прав.
Как посмотреть сертификат
Просмотреть перечень сертификатов, скопировать их, удалить можно с использованием следующих инструментов;
При использовании браузера Internet Explorer выполните следующие действия:
После этого появится окошко, где будет перечислен весь перечень установленных на компьютере открытых сертификатов. Дополнительно будет указан список сторонних поставщиков ПО.
Преимущество использования браузера Internet Explorer — в возможности просмотра списка ключей, даже если нет прав администратора. Недостатком же будет невозможность удаления устаревших или ненужных уже сертификатов с жесткого диска компьютера.
При использовании панели управления OS Windows для просмотра открытых сертификатов, установленных на компьютере, выполните следующие действия с правами администратора:
Для просмотра перечня установленных ранее сертификатов на ПК с помощью приложения «КриптоПРО» достаточно выбрать раздел «Сертификаты». Использование данного ПО позволит при наличии прав администратора не только просматривать, но и копировать открытые сертификаты, удалять их.
В OS Windows есть стандартный менеджер Certmgr для работы с установленными ранее сертификатами. С его помощью можно увидеть информацию об открытых ключах, данные об УЦ. Для использования менеджера выполните следующие действия:
В итоге откроется окно со списком проверочных ключей. Специфика менеджера — в необходимости запуска с правами администратора. Важный минус сервиса — в некорректности отображения ЭЦП, что важно учитывать при просмотре.
В интернете можно скачать и другие программы для просмотра и работы с открытыми сертификатами операционной системы. Использовать их не рекомендовано из-за отсутствия гарантии безопасности и защиты от утечки данных на сторонние серверы. Сегодня Минкомсвязи РФ сертифицировано только приложение «КриптоПРО», и возможно использование встроенных инструментов операционной системы.
Где оформить сертификат и ЭЦП
Если для ведения электронного документооборота, работы на государственных порталах, сдачи отчетности или раскрытия информации вам необходима электронная цифровая подпись, то оформите ее в УЦ «Астрал-М». Наш удостоверяющий центр имеет аккредитацию Минкомсвязи на оформление ЭЦП и предлагает каждому клиенту:
Для приобретения электронной цифровой подписи оставьте заявку на сайте или свяжитесь с сотрудниками по телефону. После согласования тарифного плана вам будет направлен перечень необходимых документов и счет на оплату оформления ЭЦП. На выполнение всех действий уйдет 1—2 рабочих дня, но при желании возможно открытие подписи в ускоренном формате.