Ошибка при инициализации криптографической сессии сертификат был отозван

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

Для начала нужно кликнуть правой клавишей мыши по значку установленной программы, расположенному в трее, чтобы перейти непосредственно в раздел «Настройки».

Далее переходим во вкладку «Криптосервер 3» и в открывшемся окне «Какие сертификаты проверять» выбираем «Только конечный сертификат»

В «Режим проверки» подставляем значение

А

отмечаем чекбокс «Не проверять»

Остальное я оставила как было. Естественно, для вступления изменений в силу нужно не забыть кликнуть по кнопке ОК. В моем случае это решило проблему дальнейшей работы с сайтом ПФР.

Перейти к содержанию

На чтение 1 мин Просмотров 2к. Опубликовано 07.10.2022

Для работы Пенсионного Фонда России требуется специальный плагин, который система предложит вам установить во время входа — Crypto + DE

Если быть точнее, вероятно вы даже сможете войти, а вот подписать документ с разрешением на использование — может быть проблемно, т.к. будет возникать ошибка:

Криптосервер 3 Ошибка при инициализации криптографической сессии.
Функция отзыва не смогла произвести проверку отзыва для сертификата. Невозможно проверить функцию отзыва, т.к. сервер отзыва сертификатов недоступен

— Ищет в правом нижнем углу значок Crypto + DE (зелененький) и кликаем правой кнопкой мышки
— Настройки
— Переходим на вкладку «Криптосервер 3»
— Вкладка «Какие сертификаты проверять» выбираем > «Только конечный сертификат»
— В режиме проверки выбираем «С помощью списка отзыва сертификатов с подключением по сети»
— В графе «Режим проверки квалифицированной ЭП» выбираем > «Не проверять»
— Нажимаем ОК и перезапускаем Crypto + DE
— Все должно работать 🙂

Лучшей Вашей благодарностью будет комментарий под этой записью, спасибо

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите левый Ctrl+Enter.

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов.

Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками

Содержание

  1. Где скачать Crypto+DE
  2. Ошибка
  3. Настройка CryptoDE для ЕГИССО
  4. Итог

Где скачать Crypto+DE

Скачать актуальную версию программы можно:

  • С официального сайта ПФР (ссылка)
  • Яндекс Диск (ссылка)

Ошибка

Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

сертификат по умолчанию не соответствует требованиям текущего режима КЭП

Настройка CryptoDE для ЕГИССО

Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

  1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
    Настройка CryptoDE
  2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
  3. Нас интересует вкладка «Криптосервер 3».
    • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
    • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
    • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

    Настройка CryptoDE

  4. Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.

Итог

На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

Администратор

Администратор

Поставщик информации

Задать вопрос

Остались вопросы? Помогу, чем смогу!

Форум КриптоПро
 » 
Устаревшие продукты
 » 
КриптоПро CSP 3.6
 » 
КриптоПро TLS + «Функция отзыва не смогла произвести проверку отзыва для сертификата»


Offline

D!m@n

 


#1
Оставлено
:

21 августа 2011 г. 13:54:07(UTC)

D!m@n

Статус: Активный участник

Группы: Участники

Зарегистрирован: 28.10.2008(UTC)
Сообщений: 40
Мужчина
Откуда: Москва

Добрый день!

Веб-служба WCF использует HTTPS с аутентификацией клиента по сертификату.
(решил запостить в этом разделе, т.к. сама проблема с Шарпеем и .NET’ом ИМХО никак не связана)

На стороне службы:
1. КриптоПро CSP 3.6 R2 со свежекупленной серверной лицензией
2. Sharpei
3. Самоподписанный криптопрошный сертификат (с закрытым ключом), сделанный с помощью csptest в хранилище «Личные» локального компьютера + он же в хранилище «Доверенные корневые центры сертификации» локального компьютера + корректно зарегистрирован с помощью netsh
4. Сертификат УЦ, выпустившего сертификат клиента — в хранилище «Доверенные корневые центры сертификации» локального компьютера
5. Установлен последний CRL от УЦ, выпустившего клиентский сертификат
6. Есть доступ через интернет к CRL Distribution Point, указанной в сертификате клиента; CRL браузером можно скачать

На клиенте:
1. КриптоПро CSP 3.6 R2 с обычной лицензией (не trial)
2. Sharpei
3. Сертификат клиента с EKU «1.3.6.1.5.5.7.3.2» (аутентификация клиента), выпущенный УЦ
4. Самоподписанный сертификат службы — в хранилище «Доверенные корневые центры сертификации» текущего пользователя
5. Сертификат УЦ, выпустившего клиентский сертификат — в хранилище «Доверенные корневые центры сертификации» текущего пользователя

Эксперимент №1:
Подключаемся клиентом веб-службы к endpoint веб-службы — сервер возвращает ошибку HTTP 403, на стороне клиента выбрасывается исключение, а в Event Log на стороне службы вот такое сообщение:
«КриптоПро TLS. Ошибка 0x80092012 при проверке сертификата клиента: Функция отзыва не смогла произвести проверку отзыва для сертификата.»

Эксперимент №2:
С клиента подключаемся браузером по https к metadata exchange endpoint (не требует аутентификации клиента) — все работает, страница открывается, IE доверяет веб-серверу и т.п.

Эксперимент №3:
Меняем в конфигах службы и клиента криптопрошные сертификаты на RSA-шные, строим аналогичную схему — все работает.

Эксперимент №4:
Специально написанным кодом с помощью X509Chain на машине веб-службы (из-под той же учетки) проверяем сертификат клиента => проверка успешна и в случае RevocationMode = X509RevocationMode.Online, и в случае RevocationMode = X509RevocationMode.Offline.
Т.е. доверие к сертификату клиента вроде как есть.

Скажите, пожалуйста, как победить ошибку 0x80092012 КриптоПро TLS?

Отредактировано пользователем 21 августа 2011 г. 13:56:39(UTC)
 | Причина: Не указана


Вверх

Offline

Максим Коллегин

 


#2
Оставлено
:

22 августа 2011 г. 7:07:34(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

Выложите настройки netsh http show sslcert из привязки службы?Для RSA издатели клиентских сертификатов те же? и настройки?
Включите аудит CAPI во время проверки сертификата клиента, какие сообщения?

Отредактировано пользователем 22 августа 2011 г. 7:10:39(UTC)
 | Причина: Не указана

Пользователь Максим Коллегин прикрепил следующие файлы:

Безымянный.png (103kb) загружен 511 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

D!m@n

 


#3
Оставлено
:

22 августа 2011 г. 14:18:08(UTC)

D!m@n

Статус: Активный участник

Группы: Участники

Зарегистрирован: 28.10.2008(UTC)
Сообщений: 40
Мужчина
Откуда: Москва

maxdm, огромное спасибо за оперативный ответ!

Вывод netsh http show sslcert

Код:


Привязки сертификатов SSL: 
------------------------- 

    IP:порт                 : 0.0.0.0:8089 
    Хэш сертификата        : a6ab972dd7b2441a1108f486db508d7a27692acb
    Код приложения          : {2b8a9136-fe43-4ac2-a3fb-9787ed6f6e90} 
    Имя хранилища сертификатов  : (null) 
    Проверять отзыв сертификата клиента    : Enabled
    Проверка отзыва с использованием только кэшированного сертификата клиента    : Disabled
    Проверка использования    : Enabled
    Время свежести отзыва : 0 
    Время ожидания извлечения URL-адреса   : 0 
    Идентификатор CTL          : (null) 
    Имя хранилища CTL  : (null) 
    Использование сопоставлений DS     : Disabled
    Согласование сертификата клиента    : Enabled

Из журнала CAPI2:

Код:


<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
	<System>
		<Provider Name="Microsoft-Windows-CAPI2" Guid="{5bbca4a8-b209-48dc-a8c7-b23d3e5216fb}"/>
		<EventID>53</EventID>
		<Version>0</Version>
		<Level>2</Level>
		<Task>53</Task>
		<Opcode>2</Opcode>
		<Keywords>0x4000000000000036</Keywords>
		<TimeCreated SystemTime="2011-08-22T05:50:20.239235500Z"/>
		<EventRecordID>1618</EventRecordID>
		<Correlation/>
		<Execution ProcessID="612" ThreadID="652"/>
		<Channel>Microsoft-Windows-CAPI2/Operational</Channel>
		<Computer>server.mydomain.ru</Computer>
		<Security UserID="S-1-5-18"/>
	</System>
	<UserData>
		<CryptRetrieveObjectByUrlWire>
			<URL scheme="http">http://correct.crl.address/crl.crl</URL>
			<Object type="CONTEXT_OID_CRL" constant="2"/>
			<Timeout>PT15S</Timeout>
			<Flags value="1" CRYPT_RETRIEVE_MULTIPLE_OBJECTS="true"/>
			<AdditionalInfo>
				<Action name="IsPendingNetworkRetrieval">
					<Error value="3A">Указанный сервер не может выполнить требуемую операцию.</Error>
				</Action>
			</AdditionalInfo>
			<EventAuxInfo ProcessName="lsass.exe"/>
			<CorrelationAuxInfo TaskId="{69CF87F7-0FCA-4C72-8BD8-9AC62834B73D}" SeqNumber="6"/>
			<Result value="3A">Указанный сервер не может выполнить требуемую операцию.</Result>
		</CryptRetrieveObjectByUrlWire>
	</UserData>
</Event>

И сразу за ним:

Код:


<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
	<System>
		<Provider Name="Microsoft-Windows-CAPI2" Guid="{5bbca4a8-b209-48dc-a8c7-b23d3e5216fb}"/>
		<EventID>41</EventID>
		<Version>0</Version>
		<Level>2</Level>
		<Task>41</Task>
		<Opcode>2</Opcode>
		<Keywords>0x4000000000000005</Keywords>
		<TimeCreated SystemTime="2011-08-22T06:13:42.154435600Z"/>
		<EventRecordID>1726</EventRecordID>
		<Correlation/>
		<Execution ProcessID="612" ThreadID="652"/>
		<Channel>Microsoft-Windows-CAPI2/Operational</Channel>
		<Computer>server.mydomain.ru</Computer>
		<Security UserID="S-1-5-18"/>
	</System>
	<UserData>
		<CertVerifyRevocation>
			<EventAuxInfo ProcessName="lsass.exe"/>
			<CorrelationAuxInfo TaskId="{1E2E976F-C3B0-4332-ABE5-F3AECDBA466B}" SeqNumber="7"/>
			<Result value="80092012">Функция отзыва не смогла произвести проверку отзыва для сертификата.</Result>
		</CertVerifyRevocation>
	</UserData>
</Event>

Т.е. получается, что все-таки не вытягивается CRL в онлайне? (как установить причину? ведь я могу скачать CRL через IE)
Можно ли как-то перевести проверку в режим оффлайн, чтобы она довольствовалась импортированным вручную CRL?

Что касается RSA-шных сертификатов, с которыми все получилось, то они все сделаны с помощью makecert и, конечно, имеют ряд отличий:
1. сертификат сервера имеет EKU 1.3.6.1.5.5.7.3.1
2. оба сертификата выпущены одним сертификатором
3. клиентский сертификат не имеет CRL Distribution Point

Отредактировано пользователем 22 августа 2011 г. 14:43:05(UTC)
 | Причина: Не указана


Вверх

Offline

D!m@n

 


#4
Оставлено
:

22 августа 2011 г. 14:34:07(UTC)

D!m@n

Статус: Активный участник

Группы: Участники

Зарегистрирован: 28.10.2008(UTC)
Сообщений: 40
Мужчина
Откуда: Москва

И еще добавлю:
если в netsh при регистрации сертификата службы включить опцию verifyclientcertrevocation=disable, то аутентификация проходит… но это не вариант вообще, т.к. проверка по CRL необходима.


Вверх

Offline

Максим Коллегин

 


#5
Оставлено
:

22 августа 2011 г. 15:48:16(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

Цитата:

Проверка отзыва с использованием только кэшированного сертификата клиента : Disabled

вот эту настройку нужно изменить.
CRL недоступен скорее всего из-за авторизации на прокси.

Отредактировано пользователем 22 августа 2011 г. 15:49:04(UTC)
 | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

D!m@n

 


#6
Оставлено
:

22 августа 2011 г. 16:51:42(UTC)

D!m@n

Статус: Активный участник

Группы: Участники

Зарегистрирован: 28.10.2008(UTC)
Сообщений: 40
Мужчина
Откуда: Москва

maxdm написал:

Цитата:

Проверка отзыва с использованием только кэшированного сертификата клиента : Disabled

вот эту настройку нужно изменить.
CRL недоступен скорее всего из-за авторизации на прокси.

Если не ошибаюсь, для этого в реестре в разделе sslbindinginfo данного порта надо поставить
DefaultSslCertCheckMode = 2?
http://msdn.microsoft.co…us/library/ms689452.aspx

Попробовал, перезагрузился, опция действительно установилась в Enabled.

В журнале CAPI2 больше нет попыток получить CRL через точку распространения, но ошибка «Функция отзыва не смогла произвести проверку отзыва для сертификата» сохраняется.

При этом CRL был импортирован вручную.

Отредактировано пользователем 22 августа 2011 г. 16:52:49(UTC)
 | Причина: Не указана


Вверх

Offline

D!m@n

 


#7
Оставлено
:

22 августа 2011 г. 17:00:48(UTC)

D!m@n

Статус: Активный участник

Группы: Участники

Зарегистрирован: 28.10.2008(UTC)
Сообщений: 40
Мужчина
Откуда: Москва

Уффф, кажись разобрался.
Похоже на то, что CRL нельзя устанавливать через правый клик»Установить список отзыва (CRL)»
Он, видимо, в этом случае только для текущего пользователя устанавливается, а не для Local Machine.
Если я правильно понял, надо использовать команду certutil с ключами -enterprise и -addstore.
Во всяком случае у меня после этого оффлайновая проверка CRL заработала (в т.ч. проверил с помощью certutil -verify).

maxdm, поправьте меня, пожалуйста, если я что-то понял не так.

И еще — огромное Вам спасибо за помощь!

P.S. Еще эксперимент провел:
вернул опцию DefaultSslCertCheckMode = 0, перезагрузился => успешно подключился по HTTPS.
Т.е. ИМХО проблема была именно в том, что CRL был некорректно импортирован.

Отредактировано пользователем 22 августа 2011 г. 17:14:13(UTC)
 | Причина: Не указана


Вверх

Offline

Максим Коллегин

 


#8
Оставлено
:

22 августа 2011 г. 17:09:07(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

Да, после установки нужно переместить CRL в хранилище компьютера или выбрать хранилище при установке.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

D!m@n

 


#9
Оставлено
:

22 августа 2011 г. 17:16:22(UTC)

D!m@n

Статус: Активный участник

Группы: Участники

Зарегистрирован: 28.10.2008(UTC)
Сообщений: 40
Мужчина
Откуда: Москва

maxdm написал:

Да, после установки нужно переместить CRL в хранилище компьютера или выбрать хранилище при установке.

Так при импорте через GUI он не предлагает выбрать, чье это хранилище — локального компьютера или текущего пользователя. Он предлагает выбрать только название хранилища…


Вверх

Offline

Максим Коллегин

 


#10
Оставлено
:

22 августа 2011 г. 18:04:09(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

там есть крыжик — показывать физические хранилища.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW

Пользователи, просматривающие эту тему

Guest

Форум КриптоПро
 » 
Устаревшие продукты
 » 
КриптоПро CSP 3.6
 » 
КриптоПро TLS + «Функция отзыва не смогла произвести проверку отзыва для сертификата»

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Перейти к содержанию

На чтение 1 мин Просмотров 3.4к. Опубликовано 08.12.2021

На днях попытался подключиться к своему домашнему серверу через VPN SSTP, подключение всегда работало идеально, но тут не смог подключиться и получил ошибку: «Невозможно проверить функцию отзыва, т.к. сервер отзыва сертификатов недоступен».

sstp недоступен

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

Отмена проверки сертификата на клиенте

Для отмены проверки, внесите изменения в реестр в ветку:

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesSstpsvcparameters

И в параметре типа DWORD с именем NoCertRevocationCheck, присвойте значение 1.

редактор реестра

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

vpn подключен

Надеюсь материал помог вам решить ошибку!

Администратор

Администратор

«Админы делятся на тех, кто не делает бэкапы, и тех, кто уже делает». Народная мудрость.

microsoft-windows:windows-server-2012-r2:remote-access:how-to-disable-certificate-revocation-check-on-sstp-windows-client

Как отключить проверку отзыва сертификата VPN-сервера на клиенте с ОС Windows при использовании SSTP VPN

Цитата из статьи TechNet Library — Configure RRAS with a Computer Authentication Certificate:

По умолчанию для VPN-подключений по протоколу SSTP клиенты должны проверить, что сертификат не отозван.
Для этого проверяется сервер, указанный в сертификате как сервер, на котором размещается список отзыва сертификатов (CRL).
Если с сервером, на котором размещается список отзыва сертификатов, не удается связаться, проверка завершается с ошибкой, а VPN-подключение отбрасывается. Чтобы предотвратить это, следует опубликовать список отзыва сертификатов на сервере, доступном через Интернет, или отменить обязательную проверку этого списка на клиенте.

Чтобы отменить проверку списка отзыва сертификатов, создайте параметр реестра типа DWORD с именем NoCertRevocationCheck в следующем расположении:

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesSstpsvcparameters

Присвойте параметру значение 1.

Имейте ввиду, что отключение проверки отзыва сертификата таким образом повлияет на все VPN-соединения на клиенткой системе, что понизит уровень безопасности клиентской системы в целом, поэтому использовать такой метод имеет смысл лишь в крайних случаях, например на период решения проблем с недоступным CRL


Автор первичной редакции:
Алексей Максимов
Время публикации: 28.04.2016 12:10

microsoft-windows/windows-server-2012-r2/remote-access/how-to-disable-certificate-revocation-check-on-sstp-windows-client.txt

· Последнее изменение: 28.04.2016 12:14 —

Алексей Максимов


Содержание

  1. ЕГИССО настройка рабочего места
  2. Программы для ЕГИССО
  3. Настройка рабочего места ЕГИССО
  4. Настройка браузера для ЕГИССО
  5. В заключение
  6. Настройка CryptoDE для ЕГИССО
  7. Где скачать Crypto+DE
  8. Ошибка
  9. Настройка CryptoDE для ЕГИССО

ЕГИССО настройка рабочего места

Каждый орган местного самоуправления и подведомственные им организации, которые осуществляют назначение мер социальной защиты должны предоставлять информацию о мерах социальной поддержки. В связи с этим вопрос как произвести настройку рабочего места ЕГИССО становиться всё более актуальным. В этой статье мы разберем какое ПО нужно использовать для организации защищенного соединения и как настроить компьютер под ЕГИССО

Программы для ЕГИССО

Начнем с загрузки всего необходимого нам для настройки рабочего места, чтобы потом на это не отвлекаться. И так, для работы с порталом ЕГИССО нам понадобятся:

  • В первую очередь операционная система Windows 7 или Windows 10. В случае с Windows 7 возможно ещё понадобиться дополнительно обновить браузер Internet Explorer до 11 версии;
  • Криптопровайдер КриптоПро CSP 4.0 R3. Скачать дистрибутив для установки можно с официального сайта КриптоПро (Обязательно требуется регистрация);
  • Прикладное программное обеспечение управления электронной подписью и шифрованием (ППО УЭПШ) Crypto+ DE 3.1;
  • Плагин для браузера КриптоПро ЭЦП Browser plug-in версии 2.0;
  • Плагин для работы с порталом государственных услуг IFCPlugin;
  • Корневой сертификат ЕГИССО;
  • Сертификат безопасности выданный на юридическое лицо. Его можно получить в авторизованном удостоверяющем центре.

На этом перечень нужных нам программ для работы с ЕГИССО окончен.

Настройка рабочего места ЕГИССО

Приступаем к установке и настройке программного обеспечения для организации работы в кабинете поставщика информации (КПИ).

Первым делом, должна быть произведена настройка КриптоПро для ЕГИССО. Скачиваем и устанавливаем КриптоПро CSP 4.0 R3. Хотелось бы подчеркнуть, рекомендуемая версия программы КриптоПро CSP 4.0.9944. С этой сборкой проблем во время работы обнаружено не было. Запускаем установочный файл и нажимаем «Установить (рекомендуется)», при этом пункт «Установить корневые сертификаты» должен быть отмечен.

После установки КриптоПро перезагружаем компьютер и устанавливаем корневой сертификат ЕГИССО. Кликаем два раза по ранее загруженному сертификату. Затем кликаем по кнопке «Установить сертификат…».

В мастере импорта сертификатов отмечаем пункт «Поместить все сертификаты в следующее хранилище» затем жмем кнопку «Обзор…».

В предоставленном списке выбираем «Доверенные корневые центры сертификации» и нажимаем «ОК».

Далее, если всё сделано верно, на экране появится окно с предупреждением о безопасности. Это окно носит уведомительных характер, подтверждаем установку сертификата ЕГИССО нажатием на кнопку «Да».

После подтверждения вы увидите сообщение о том, что импорт успешно выполнен. Установка сертификата ЕГИССО завершена.

Следующим шагом копируем контейнер закрытого ключа и устанавливаем сертификат организации выданный авторизованным удостоверяющим центром. Перед началом копирования подключите устройство на котором храниться контейнер с сертификатом.

После подключения устройства открываем КриптоПро CSP, переходим на вкладку «Сервис» и кликаем «Скопировать…».

В открывшимся окне нажимаем «Обзор…», затем выбираем контейнер для копирования.

Вводим пароль от контейнера (пароль по умолчанию обычно 12345678) и жмем «ОК». Ставить галочку «Запомнить пароль» не нужно, так как обращаться к данному контейнеры с этого компьютера вы больше не будете.

В следующем окне выбираем пункт «Реестр».

Устанавливаем пароль на создаваемый контейнер и опять жмем «ОК».

Следующее сообщение которое вы увидите, уведомляет об успешном копировании контейнера.

Возвращаемся во вкладку «Сервис». Теперь нам надо установить сертификат из контейнера. Для этого нажимаем «Просмотреть сертификаты в контейнере…».

Жмем «Обзор…» и выбираем контейнер который только что скопировали. Будьте внимательны, поле «Считыватель» должно содержать «Реестр». Чтобы не ошибиться можете отключить устройство с которого копировали контейнер.

Вводим пароль от контейнера и нажимаем «ОК». В этот раз лучше отметить поле «Запомнить пароль», чтоб не пришлось его больше заполнять при обращении к контейнеру через КриптоПро.

Проверяем данные по сертификату, что бы не ошибиться с выбором контейнера если их у вас несколько. И кликаем по кнопке «Установить».

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

Контейнер не содержит сертификата

Часть работы по настройке рабочего места ЕГИССО касающаяся КриптоПро CSP 4.0 R3 и установки сертификатов выполнена. Переходим к этапу установки плагина пользователя системы электронного правительства. Для этого запускаем установочный файл IFCPlugin и нажимаем «Далее».

Дожидаемся окончания процесса и переходим к установке КриптоПро ЭЦП Browser plug-in версии 2.0. Для этого запускаем файл cadesplugin и нажимаем «Да». После установки рекомендовано перезапустить браузер.

Приступаем к установке УЭПШ Crypto+DE.

Во время установки Crypto+DE скачивает с интернета недостающие для работы компоненты. По этому процесс установки может занять от пары минут до получаса, возможно и больше (в зависимости от скорости вашего интернета). Терпеливо ждем и ни в коем случае не прерываем процесс установки. По окончанию процесса установки будет предложено запустить программу.

После нажатия «Готово» будет предложено установить сертификат, обязательно нажимаем «Да».

Затем программа предложит установить ещё один сертификат, тоже обязательно соглашаемся.

После их установки появиться сообщение в котором говориться что «Установка корневого сертификата для https завершена». Это говорит о том, что Crypto+DE установлена верно. Перезагружаем компьютер.

Осталось выполнить еще пару шагов. После загрузки компьютера нажимаем правой кнопкой мыши по зеленому значку только что установленной программы в трее возле часов. И выбираем пункт «Настройки».

Первым делом переходим во вкладку «Криптосервер 3» и изменяем параметр режима проверки на пункт «с помощью списка отзыва сертификатов с подключением к сети». В параметре «Сертификат по умолчанию» должен отображаться сертификат юридического лица, который устанавливали через КриптоПро.

Установка и настройка программ для рабочего места ЕГИССО был выполнена успешно!

Настройка браузера для ЕГИССО

Переходим к настройке браузера. Запускаем Internet Explorer 11, нажимаем шестеренку в правом верхнем углу и выбираем пункт «Свойства браузера».

В открывшимся окне переходим на вкладку «Безопасность». Выбираем зону «Надежные сайты» и нажимаем кнопку «Сайты».

Далее снимаем галочку «Для всех сайтов этой зоны требуется проверка серверов (https:)» Затем добавляем поочередно узлы http://*.egisso.ru, https://*.egisso.ru и https://*.gosuslugi.ru.

После нажатия кнопки «Закрыть», переходим на вкладку «Дополнительно». В этой вкладке снимаем галочку с пункта SSL 3.0. Обязательно должны быть отмечены пункты:

  • TLS 1.0;
  • Использовать TLS 1.1;
  • Использовать TLS 1.2.

На этом настройка браузера, ровно, как и настройка рабочего места ЕГИССО, завершена.

Для проверки доступа в кабинет поставщика информации заходим на сайт ЕГИССО и жмем на ссылку «Поставщик информации».

Если настройка была произведена правильно, то вы будите перенаправлены на форму авторизации через сайт госуслуги.

В заключение

В этой статье рассмотрена настройка КриптоПро для ЕГИССО, настройка Crypto+DE и браузера Internet Explorer. Как видите сам процесс настройки не сложный и сводиться к нескольким действиям. Скачиваете дистрибутивы по приведенным в статье ссылкам (все ссылки даны на официальные источники). Устанавливаете криптропровайдер КриптоПро CSP, перезагружаете компьютер. Настраиваете сертификат ЕГИССО и вашей организации. Устанавливаете плагины КриптоПро ЭЦП Browser plug-in и пользователя системы электронного правительства IFCPlugin. Затем устанавливаете Crypto+DE. Перезагружаете компьютер и настраиваете Crypto+DE. Последним шагом является настройка браузера Internet Explorer.

Источник

Настройка CryptoDE для ЕГИССО

Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

Где скачать Crypto+DE

Скачать актуальную версию программы можно:

  • С официального сайта ПФР ( ссылка )
  • Яндекс Диск ( ссылка )

Ошибка

Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

Настройка CryptoDE для ЕГИССО

Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

  1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
  2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
  3. Нас интересует вкладка «Криптосервер 3».
    • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
    • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
    • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

  • Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.
  • На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

    Источник

    Здравствуйте.

    Есть 1000 ПК, операционки разные; развернут внутрений центр сертификации; сертификаты успешно выдаются на 700 машинах.

    На остальных 300 (в основном это XP Pro) сертификаты не получаются.

    При попытке запросить на проблемном ПК сертификат выдает ошибку «Неудача при выполнении запроса сертификата. Невозможно проверить функцию отзыва, т.к. сервер отзыва сертификатов недоступен«, хотя при тех же действиях
    не на проблемных ПК сертификат без проблем выдается, сервер центра сертификации работает, в списках «неудачных запросов» сертификатов эти компьютеры даже не светятся, то есть они туда даже не пытаются ломиться.
    По URL к CRL проходит и файлик загружается

    В логах на этих машинах стабильно вылазиет ошибка

    «Автоматическая подача заявки на сертификат Локальная система: не удалось подать заявку на один сертификат Сертификат клиента ConfigMgr (0x80092013).  Невозможно проверить функцию отзыва, т.к. сервер отзыва
    сертификатов недоступен .

    «

    «Автоматическая подача заявки на сертификат Локальная система: не удалось подать заявку на один сертификат Autheticated Computer (0x80092013).  Невозможно проверить функцию отзыва, т.к. сервер отзыва сертификатов недоступен

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

    • Изменен тип

      1 апреля 2013 г. 7:10
      Тема переведена в разряд обсуждений по причине отсутствия активности.

    Перейти к содержанию

    На чтение 1 мин Просмотров 7к. Опубликовано 07.10.2022

    Для работы Пенсионного Фонда России требуется специальный плагин, который система предложит вам установить во время входа — Crypto + DE

    Если быть точнее, вероятно вы даже сможете войти, а вот подписать документ с разрешением на использование — может быть проблемно, т.к. будет возникать

    Лучшей Вашей благодарностью будет комментарий под этой записью, спасибо

    Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов.

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками Автор первичной редакции:
    Алексей Максимов
    Время публикации: 28.04.2016 12:10

    microsoft-windows/windows-server-2012-r2/remote-access/how-to-disable-certificate-revocation-check-on-sstp-windows-client.txt

    · Последнее изменение: 28.04.2016 12:14 —

    Алексей Максимов


    Содержание

    1. ЕГИССО настройка рабочего места
    2. Программы для ЕГИССО
    3. Настройка рабочего места ЕГИССО
    4. Настройка браузера для ЕГИССО
    5. В заключение
    6. Настройка CryptoDE для ЕГИССО
    7. Где скачать Crypto+DE
    8. Ошибка
    9. Настройка CryptoDE для ЕГИССО

    ЕГИССО настройка рабочего места

    Каждый орган местного самоуправления и подведомственные им организации, которые осуществляют назначение мер социальной защиты должны предоставлять информацию о мерах социальной поддержки. В связи с этим вопрос как произвести настройку рабочего места ЕГИССО становиться всё более актуальным. В этой статье мы разберем какое ПО нужно использовать для организации защищенного соединения и как настроить компьютер под ЕГИССО

    Программы для ЕГИССО

    Начнем с загрузки всего необходимого нам для настройки рабочего места, чтобы потом на это не отвлекаться. И так, для работы с порталом ЕГИССО нам понадобятся:

    • В первую очередь операционная система Windows 7 или Windows 10. В случае с Windows 7 возможно ещё понадобиться дополнительно обновить браузер Internet Explorer до 11 версии;
    • Криптопровайдер КриптоПро CSP 4.0 R3. Скачать дистрибутив для установки можно с официального сайта КриптоПро (Обязательно требуется регистрация);
    • Прикладное программное обеспечение управления электронной подписью и шифрованием (ППО УЭПШ) Crypto+ DE 3.1;
    • Плагин для браузера КриптоПро ЭЦП Browser plug-in версии 2.0;
    • Плагин для работы с порталом государственных услуг IFCPlugin;
    • Корневой сертификат ЕГИССО;
    • Сертификат безопасности выданный на юридическое лицо. Его можно получить в авторизованном удостоверяющем центре.

    На этом перечень нужных нам программ для работы с ЕГИССО окончен.

    Настройка рабочего места ЕГИССО

    Приступаем к установке и настройке программного обеспечения для организации работы в кабинете поставщика информации (КПИ).

    Первым делом, должна быть произведена настройка КриптоПро для ЕГИССО. Скачиваем и устанавливаем КриптоПро CSP 4.0 R3. Хотелось бы подчеркнуть, рекомендуемая версия программы КриптоПро CSP 4.0.9944. С этой сборкой проблем во время работы обнаружено не было. Запускаем установочный файл и нажимаем «Установить (рекомендуется)», при этом пункт «Установить корневые сертификаты» должен быть отмечен.

    После установки КриптоПро перезагружаем компьютер и устанавливаем корневой сертификат ЕГИССО. Кликаем два раза по ранее загруженному сертификату. Затем кликаем по кнопке «Установить сертификат…».

    В мастере импорта сертификатов отмечаем пункт «Поместить все сертификаты в следующее хранилище» затем жмем кнопку «Обзор…».

    В предоставленном списке выбираем «Доверенные корневые центры сертификации» и нажимаем «ОК».

    Далее, если всё сделано верно, на экране появится окно с предупреждением о безопасности. Это окно носит уведомительных характер, подтверждаем установку сертификата ЕГИССО нажатием на кнопку «Да».

    После подтверждения вы увидите сообщение о том, что импорт успешно выполнен. Установка сертификата ЕГИССО завершена.

    Следующим шагом копируем контейнер закрытого ключа и устанавливаем сертификат организации выданный авторизованным удостоверяющим центром. Перед началом копирования подключите устройство на котором храниться контейнер с сертификатом.

    После подключения устройства открываем КриптоПро CSP, переходим на вкладку «Сервис» и кликаем «Скопировать…».

    В открывшимся окне нажимаем «Обзор…», затем выбираем контейнер для копирования.

    Вводим пароль от контейнера (пароль по умолчанию обычно 12345678) и жмем «ОК». Ставить галочку «Запомнить пароль» не нужно, так как обращаться к данному контейнеры с этого компьютера вы больше не будете.

    В следующем окне выбираем пункт «Реестр».

    Устанавливаем пароль на создаваемый контейнер и опять жмем «ОК».

    Следующее сообщение которое вы увидите, уведомляет об успешном копировании контейнера.

    Возвращаемся во вкладку «Сервис». Теперь нам надо установить сертификат из контейнера. Для этого нажимаем «Просмотреть сертификаты в контейнере…».

    Жмем «Обзор…» и выбираем контейнер который только что скопировали. Будьте внимательны, поле «Считыватель» должно содержать «Реестр». Чтобы не ошибиться можете отключить устройство с которого копировали контейнер.

    Вводим пароль от контейнера и нажимаем «ОК». В этот раз лучше отметить поле «Запомнить пароль», чтоб не пришлось его больше заполнять при обращении к контейнеру через КриптоПро.

    Проверяем данные по сертификату, что бы не ошибиться с выбором контейнера если их у вас несколько. И кликаем по кнопке «Установить».

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

    Контейнер не содержит сертификата

    Часть работы по настройке рабочего места ЕГИССО касающаяся КриптоПро CSP 4.0 R3 и установки сертификатов выполнена. Переходим к этапу установки плагина пользователя системы электронного правительства. Для этого запускаем установочный файл IFCPlugin и нажимаем «Далее».

    Дожидаемся окончания процесса и переходим к установке КриптоПро ЭЦП Browser plug-in версии 2.0. Для этого запускаем файл cadesplugin и нажимаем «Да». После установки рекомендовано перезапустить браузер.

    Приступаем к установке УЭПШ Crypto+DE.

    Во время установки Crypto+DE скачивает с интернета недостающие для работы компоненты. По этому процесс установки может занять от пары минут до получаса, возможно и больше (в зависимости от скорости вашего интернета). Терпеливо ждем и ни в коем случае не прерываем процесс установки. По окончанию процесса установки будет предложено запустить программу.

    После нажатия «Готово» будет предложено установить сертификат, обязательно нажимаем «Да».

    Затем программа предложит установить ещё один сертификат, тоже обязательно соглашаемся.

    После их установки появиться сообщение в котором говориться что «Установка корневого сертификата для https завершена». Это говорит о том, что Crypto+DE установлена верно. Перезагружаем компьютер.

    Осталось выполнить еще пару шагов. После загрузки компьютера нажимаем правой кнопкой мыши по зеленому значку только что установленной программы в трее возле часов. И выбираем пункт «Настройки».

    Первым делом переходим во вкладку «Криптосервер 3» и изменяем параметр режима проверки на пункт «с помощью списка отзыва сертификатов с подключением к сети». В параметре «Сертификат по умолчанию» должен отображаться сертификат юридического лица, который устанавливали через КриптоПро.

    Установка и настройка программ для рабочего места ЕГИССО был выполнена успешно!

    Настройка браузера для ЕГИССО

    Переходим к настройке браузера. Запускаем Internet Explorer 11, нажимаем шестеренку в правом верхнем углу и выбираем пункт «Свойства браузера».

    В открывшимся окне переходим на вкладку «Безопасность». Выбираем зону «Надежные сайты» и нажимаем кнопку «Сайты».

    Далее снимаем галочку «Для всех сайтов этой зоны требуется проверка серверов (https:)» Затем добавляем поочередно узлы http://*.egisso.ru, https://*.egisso.ru и https://*.gosuslugi.ru.

    После нажатия кнопки «Закрыть», переходим на вкладку «Дополнительно». В этой вкладке снимаем галочку с пункта SSL 3.0. Обязательно должны быть отмечены пункты:

    • TLS 1.0;
    • Использовать TLS 1.1;
    • Использовать TLS 1.2.

    На этом настройка браузера, ровно, как и настройка рабочего места ЕГИССО, завершена.

    Для проверки доступа в кабинет поставщика информации заходим на сайт ЕГИССО и жмем на ссылку «Поставщик информации».

    Если настройка была произведена правильно, то вы будите перенаправлены на форму авторизации через сайт госуслуги.

    В заключение

    В этой статье рассмотрена настройка КриптоПро для ЕГИССО, настройка Crypto+DE и браузера Internet Explorer. Как видите сам процесс настройки не сложный и сводиться к нескольким действиям. Скачиваете дистрибутивы по приведенным в статье ссылкам (все ссылки даны на официальные источники). Устанавливаете криптропровайдер КриптоПро CSP, перезагружаете компьютер. Настраиваете сертификат ЕГИССО и вашей организации. Устанавливаете плагины КриптоПро ЭЦП Browser plug-in и пользователя системы электронного правительства IFCPlugin. Затем устанавливаете Crypto+DE. Перезагружаете компьютер и настраиваете Crypto+DE. Последним шагом является настройка браузера Internet Explorer.

    Источник

    Настройка CryptoDE для ЕГИССО

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Где скачать Crypto+DE

    Скачать актуальную версию программы можно:

    • С официального сайта ПФР ( ссылка )
    • Яндекс Диск ( ссылка )

    Ошибка

    Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

    Настройка CryptoDE для ЕГИССО

    Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

    1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
    2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
    3. Нас интересует вкладка «Криптосервер 3».
      • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
      • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
      • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

  • Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.
  • На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

    Источник

    Здравствуйте.

    Есть 1000 ПК, операционки разные; развернут внутрений центр сертификации; сертификаты успешно выдаются на 700 машинах.

    На остальных 300 (в основном это XP Pro) сертификаты не получаются.

    При попытке запросить на проблемном ПК сертификат выдает ошибку «Неудача при выполнении запроса сертификата. Невозможно проверить функцию отзыва, т.к. сервер отзыва сертификатов недоступен«, хотя при тех же действиях
    не на проблемных ПК сертификат без проблем выдается, сервер центра сертификации работает, в списках «неудачных запросов» сертификатов эти компьютеры даже не светятся, то есть они туда даже не пытаются ломиться.
    По URL к CRL проходит и файлик загружается

    В логах на этих машинах стабильно вылазиет ошибка

    «Автоматическая подача заявки на сертификат Локальная система: не удалось подать заявку на один сертификат Сертификат клиента ConfigMgr (0x80092013).  Невозможно проверить функцию отзыва, т.к. сервер отзыва
    сертификатов недоступен .

    «

    «Автоматическая подача заявки на сертификат Локальная система: не удалось подать заявку на один сертификат Autheticated Computer (0x80092013).  Невозможно проверить функцию отзыва, т.к. сервер отзыва сертификатов недоступен

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

    • Изменен тип

      1 апреля 2013 г. 7:10
      Тема переведена в разряд обсуждений по причине отсутствия активности.

    Перейти к содержанию

    На чтение 1 мин Просмотров 7к. Опубликовано 07.10.2022

    Для работы Пенсионного Фонда России требуется специальный плагин, который система предложит вам установить во время входа — Crypto + DE

    Если быть точнее, вероятно вы даже сможете войти, а вот подписать документ с разрешением на использование — может быть проблемно, т.к. будет возникать

    Лучшей Вашей благодарностью будет комментарий под этой записью, спасибо

    Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов.

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками

    Где скачать Crypto+DE

    Скачать актуальную версию программы можно:

    • С официального сайта ПФР (ссылка)
    • Яндекс Диск (ссылка)

    Ошибка

    Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

    сертификат по умолчанию не соответствует требованиям текущего режима КЭП

    Настройка CryptoDE для ЕГИССО

    Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

    1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
      Настройка CryptoDE
    2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
    3. Нас интересует вкладка «Криптосервер 3».
      • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
      • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
      • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

      Настройка CryptoDE

    4. Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.

    Итог

    На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

    Администратор

    Администратор

    Поставщик информации

    Задать вопрос

    Остались вопросы? Помогу, чем смогу!

    Содержание

    1. Настройка CryptoDE для ЕГИССО
    2. Где скачать Crypto+DE
    3. Ошибка
    4. Настройка CryptoDE для ЕГИССО
    5. PKCS#11 для самых маленьких
    6. Про APDU
    7. Репозиторий с примерами
    8. Цикл работы с токеном
    9. Подготовительный этап
    10. Основной этап
    11. Завершающий этап
    12. Классификация функций PKCS#11
    13. Стандартные функции и функции расширения
    14. Разделение по предназначению
    15. Атомарные и составные операции
    16. Работа со слотами
    17. Получение списка слотов
    18. Мониторинг событий слотов и получение информации о слоте
    19. Объекты
    20. Создание объектов — на примере генерации ключевых пар
    21. Поиск объектов и создание сырой подписи
    22. Работа с функциями расширения на примере создания запроса на сертификат
    23. Импорт сертификата на токен. Создание объекта вручную
    24. Формирование CMS-подписи
    25. Получение и установка атрибутов публичных объектов
    26. Про механизмы
    27. Работа с механизмами, на примере зашифрования сообщения
    28. Проверка поддержки механизмов
    29. Утилита pkcs11-tool
    30. Дополнительный материал
    31. Выводы

    Настройка CryptoDE для ЕГИССО

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Где скачать Crypto+DE

    Скачать актуальную версию программы можно:

    • С официального сайта ПФР ( ссылка )
    • Яндекс Диск ( ссылка )

    Ошибка

    Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

    Настройка CryptoDE для ЕГИССО

    Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

    1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
    2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
    3. Нас интересует вкладка «Криптосервер 3».
      • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
      • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
      • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

  • Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.
  • На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

    Источник

    PKCS#11 для самых маленьких

    В этой статье мы познакомимся со стандартом PKCS#11, предназначенным для работы с различными криптографическими устройствами. Для демонстрации мы будем использовать токены и смарт-карты Рутокен ЭЦП 2.0.

    Чтобы вам было проще понять эту информацию, перед её прочтением желательно:

    Исходя из определения из Википедии:

    PKCS #11 — один из стандартов семейства Public-Key Cryptography Standards (PKCS). Он определяет платформонезависимый программный интерфейс доступа к криптографическим устройствам смарт-картам, токенам, криптографическим ускорителям, серверам ключей и другим средствам криптографической защиты информации. Иногда именуется Cryptoki.

    Проще говоря, PKCS#11 определяет платформонезависимый набор функций, структуры, константы и т.п. для работы с криптографическими устройствами. Эти функции могут быть реализованы внутри различных библиотек, например, opensc-pkcs11 или в нашей библиотеке по работе с устройствами Рутокен rtpkcs11ecp. Библиотеки могут отличаться не только реализацией, но и самим набором функций, типов и констант. Это возможно, так как стандарт PKCS#11 описывает различные способы расширения, что позволяет добавлять свои функции, например, для работы с CMS-подписью, флеш-памятью и т.п.

    Но давайте обо всем по порядку. В первую очередь, определимся, что из себя представляют функции PKCS#11-библиотек. Функции PKCS#11 внутри — это обертки для работы с токенами и смарт-картами через APDU команды…

    Про APDU

    APDU — “язык ассемблера” для устройств.

    Более подробно об APDU-формате написано в этой статье, мы же опишем его проще. APDU-формат описывает способ общения с различными устройствами с помощью байтовых последовательностей. На практике это происходит следующим образом:

    Токену или смарт-карте посылается байтовая последовательность;

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

    Что же могут содержать внутри себя такие команды? Все, что угодно! Начиная с просьбы отправить информацию об устройстве или записать какие-то данные на него и заканчивая просьбой зашифровать указанное сообщение. Более того, эти команды могут быть разбиты на несколько, что позволяет оптимизировать работу с токеном и сделать ее конвейерной. К примеру, при шифровании сообщения устройству может передаваться небольшая часть сообщения, а он в ответ будет высылать результат шифрования только этой части. Эта особенность может быть использована при работе с данными больших размеров.

    И вот вроде бы все хорошо: APDU даёт полную возможность для общения с токеном и смарт-картой, но зачем же тогда нужна PKCS#11-обертка? Причины достаточно очевидны:

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

    Программирование через APDU-команды имеет “низкий КПД”. При выполнении даже самой простой операции надо написать множество команд. PKCS#11 устраняет эту проблему: при выполнении одной функции PKCS#11 посылается несколько APDU команд. Меньше пишешь — больше делаешь.

    Теперь, когда мы знаем что лежит в основе PKCS#11-команд, перейдем к рассмотрению цикла работы с устройством.

    Репозиторий с примерами

    Чтобы улучшить понимание представленных ниже примеров рекомендуем:

    Выполнить настройку системы согласно README.

    Попробовать собрать примеры.

    Отформатировать устройство семейства Рутокен ЭЦП 2.0 с помощью примера ex0_format_token.

    Цикл работы с токеном

    Придержим пока описание содержимого стандарта PKCS#11 и дадим поверхностное представление о том, как происходит работа с токеном в целом. Для этого рассмотрим листинг смены PIN-кода Пользователя на токене и смарт-карте:

    Внутри заголовочного файла utils.h находится описание функций init_pkcs11, free_pkcs11, get_slot_list. Их определение мы дадим ниже.

    Всю работу с токеном можно разделить на три этапа:

    Подготовительный этап

    Мы реализовали его внутри функции init_pkcs11:

    Здесь происходит следующее:

    В память процесса подгружается PKCS#11-библиотека, хранящаяся по пути PKCS11ECP_LIBRARY_NAME, с помощью функции LoadLibrary (стандартная функция для Windows-систем, для Linux-систем определена обертка).

    Далее из библиотеки вытаскиваются указатели на функции C_GetFunctionList и C_EX_GetFunctionListExtended. Первая функция определена в стандарте PKCS#11 и позволяет получить структуру указателей на функции библиотеки. Вторая — является специфичной для библиотеки rtpkcs11ecp и позволяет получить схожую структуру указателей на функции расширения библиотеки. О функциях расширения мы поговорим позже.

    Потом мы вызываем полученную функцию C_GetFunctionList и получаем уже саму структуру указателей на функции.

    С помощью функции C_Initialize инициализируется загруженная библиотека. Функция C_Initialize в качестве аргумента принимает параметры инициализации библиотеки. Подробнее о них можно почитать здесь, для нас же важен флаг CKF_OS_LOCKING_OK. Его необходимо использовать, если мы хотим использовать библиотеку в нескольких потоках. В нашем примере мы могли бы опустить этот флаг.

    Основной этап

    Основной этап можно разделить на работу со слотами и работу внутри сессии

    Этап работы со слотами

    Слот — это дескриптор виртуального интерфейса, куда подключен токен. Конкретно в нашем примере весь этап работы со слотами уместился в определение одной функции get_slot_list:

    Работа со слотами происходит примерно в такой последовательности:

    Получение списка слотов с помощью функции C_GetSlotList или через функцию ожидания событий, связанных со слотами (пример будет рассмотрен ниже).

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

    Этап работы внутри сессии

    Сессия — это дескриптор контекста выполнения последовательности операций. Обычно во время сессий выполняются основные функции работы с токеном или смарт-картой: шифрование, подпись и т.п. В нашем случае выполняется смена PIN-кода:

    Работу внутри сессий можно разделить на несколько этапов:

    Открытие сессии в слоте с помощью функции C_OpenSession.

    Аутентификация пользователя с помощью функции C_Login. Стандартно на Рутокене присутствуют два пользователя: Администратор (CKU_SO) и Пользователь (CKU_USER). Аутентификация на устройстве — не является обязательной операцией. Она нужна, когда мы хотим получить доступ к операциям и объектам, которые требуют наличия соответствующих прав доступа. В нашем случае, это операция смены PIN-кода Пользователя.

    Выполнение различных функций по работе с сессиями. В нашем случае это функция C_SetPIN.

    Далее по нисходящей могут идти операции сброса прав доступа (C_Logout) и завершения сессии (C_CloseSession).

    Завершающий этап

    Весь наш завершающий этап поместился внутри определения функции free_pkcs11:

    Завершающий этап можно разделить на:

    Деинициализацию библиотеки с помощью функции C_Finalize.

    Выгрузку библиотеки из памяти процесса через функцию FreeLibrary (для Linux-систем имеется обертка).

    Классификация функций PKCS#11

    Стандартные функции и функции расширения

    В общем виде все функции внутри PKCS#11-библиотек можно разделить на:

    Стандартные — те, что явно описаны в стандарте. Список указателей на эти функции можно получить с помощью функции C_GetFunctionList, хранящейся в этой же библиотеке. Сами же стандартные функции имеют префикс «C_».

    Расширения — те, что были добавлены разработчиками библиотеки и не описаны в стандарте. Стандарт явно не определяет функцию для получения списка расширенных функций. Но в библиотеке rtpkcs11ecp этой функцией является C_EX_GetFunctionListExtended. Сами же функции-расширения обычно имеют префикс «C_EX_».

    Описание стандартных функций можно найти в документации PKCS#11. Про то, как работать с расширениями — надо смотреть у разработчиков конкретных библиотек. Например, у нас для этого есть отдельная страница на портале документации.

    Разделение по предназначению

    С другой стороны, функции PKCS#11 можно классифицировать по их предназначению. Логично выделить следующие виды функций:

    Функции общего назначения. Например, для получения списка функций или получения информации о библиотеке.

    Функции работы со слотами. Они не зависят от контекста работы с токеном. Например, C_GetSlotInfo, C_GetTokenInfo и т.п.

    Функции для работы с сессиями. Как уже говорилось ранее, обычно во время выполнения этих функций осуществляется основное взаимодействие с токеном. При выполнении функции внутри сессии контекст работы с токеном не теряется. Самый простой пример этих функций: функция аутентификации (C_Login), функции работы с закрытым ключом на токене (C_Sign, C_Encrypt) и т.п.

    Атомарные и составные операции

    Некоторые операции в PKCS#11 работают привычным для нас образом: вызвал функцию — получил результат. Но есть и операции, реализация которых выстроена через многократный вызов функций. Ярким примером такой операции является блочное шифрование: чтобы зашифровать данные нужно вызвать функции: C_EncryptInit, C_EncryptUpdate, C_EncryptFinal. Пример этого будет приведен ниже. Эта особенность связана с тем, что внутри библиотеки PKCS#11 скрыт вызов APDU-команд, который как раз предусматривает разбиение некоторых команд на несколько итераций. Как уже говорилось ранее, это способствует эффективному использованию PKCS#11 с потоками данных.

    Работа со слотами

    Слоты — это виртуальные устройства библиотеки для подключения токенов и смарт-карт. PKCS#11 предоставляет функции для получения списка слотов и ожидания изменения состояний слотов. Также с помощью специальных функций можно получать информацию о состоянии слота, например, наличие токена в нем, информация о подключенном токене и т.п. Давайте подробнее рассмотрим функции по работе со слотами.

    Получение списка слотов

    Одна из самых важных операций, которую мы будем использовать в 99 процентах случаев — это получение списка активных слотов. Для этого в PKCS#11 есть функция C_GetSlotList. Примером ее использования является функция get_slot_list, определенная ниже:

    Первый вызов функции C_GetSlotList позволяет получить количество доступных слотов. Это позволяет в дальнейшем выделять память под необходимое количество слотов. Второй вызов позволяет получить список слотов.

    Первым аргументом C_GetSlotList является флаг, говорящий библиотеке, возвращать ли только слоты с подключенными устройствами (CK_TRUE) или нет (CK_FALSE).

    Мониторинг событий слотов и получение информации о слоте

    Тем не менее, хоть функция C_GetSlotList и является самой часто используемой, она неудобна при написании приложений, которые хотят динамически следить за состоянием слотов. Особенно это может быть критично при написании многопоточных приложений. На помощь может прийти функция мониторинга событий слотов C_WaitForSlotEvent. Она прерывает свою работу при любом изменении состояния какого-либо слота и возвращает идентификатор измененного слота. Работа с этой функцией выглядит примерно следующим образом:

    Как можно заметить, функция отлавливает помимо событий подключения и извлечения токена и смарт-карты, еще и событие деинициализации библиотеки PKCS#11 (код возврата CKR_CRYPTOKI_NOT_INITIALIZED). Данная особенность позволяет использовать эту функцию внутри многопоточных приложений без дополнительной возни с обработкой событий при завершении работы приложения.

    Первым аргументом в функцию C_WaitForSlotEvent передается флаг блокировки (CKF_DONT_BLOCK). Если он установлен, то функция не является блокирующей. В таком случае, если никакой слот не был изменен, то возвращается код CKR_NO_EVENT.

    Также стоит обратить внимание на использование функции получения информации о слоте C_GetSlotInfo. Мы использовали ее для определения наличия токена по флагу CKF_TOKEN_PRESENT. Подробнее с этой структурой можно ознакомиться здесь.

    В этом файле представлен пример получения информации о подключенных токенах или смарт-картах с помощью функции C_GetTokenInfo. С помощью этой функции можно получить серийный номер, метку и другие характеристики подключенного устройства.

    Объекты

    Всё есть объект — это почти про PKCS#11.

    Теперь начнём знакомство с PKCS#11-объектами. А чтобы закрепить материал по функциям, будем рассматривать множество примеров с их использованием. Поскольку одним из самых важных объектов, которые обычно хранятся на токене или смарт-карте является ключевая пара, мы начнём знакомство с объектами через генерацию ключевой пары.

    Создание объектов — на примере генерации ключевых пар

    В этом примере для нас много нового. Можно заметить, что здесь вызывается всего одна функция C_GenerateKeyPair. Эта функция является стандартной функцией генерации ключей, работающей внутри открытой сессии. Также стоит отметить, что пользователь должен быть аутентифицирован перед вызовом этой функции.

    Теперь перейдём к объектам. Внутри функции gen_gost_key_pair происходит создание двух объектов на токене: открытого и закрытого ключей. Вот, что стандарт PKCS#11 говорит про объекты:

    Cryptoki recognizes a number of classes of objects, as defined in the CK_OBJECT_CLASS data type. An object consists of a set of attributes, each of which has a given value. Each attribute that an object possesses has precisely one value.

    То есть стандарт не даёт явное определение объекта, но из того, что там написано, мы знаем:

    объект относится к определенному классу;

    объект состоит из множества атрибутов, имеющих заданное значение;

    каждый атрибут имеет ровно одно значение.

    Также в стандарте представлена классификация объектов:

    Иерархия PKCS#11 объектов

    Заголовок диаграммы определяет класс объекта, а то что ниже — некоторые из его атрибутов.
    Видно, что объектом может являться некоторый механизм (о механизмах мы поговорим позже), встроенные функции токена (Hardware feature), некоторые данные на токене (Storage). В нашем случае мы выполнили действие с данными.

    Название всех атрибутов начинается с префикса «CKA_». Одним из самых важных атрибутов является CKA_ID. Он задаёт идентификатор объекта и используется для связи ключевых пар и сертификатов. Атрибут CKA_TOKEN является булевым и показывает, является ли объект — объектом токена. Атрибут CKA_PRIVATE тоже является булевым и определяет нужна ли предварительная аутентификация для получения доступа к объекту. Атрибут CKA_ID — задаёт шестнадцатеричный идентификатор объекта. Также есть булевые атрибуты CKA_MODIFIABLE, CKA_COPYABLE, CKA_DESTROYABLE для более тонкой настройки доступа к объекту. Подробнее про возможные атрибуты конкретных классов объектов можно прочитать непосредственно в самом стандарте для каждого класса объектов.

    Объекты данных могут быть самыми разнообразными: асимметричные ключи, симметричные ключи, сертификаты, просто какая-либо информация на токене. В нашем примере мы создали два объекта, но сделали это неявно с помощью механизма генерации ключей. C_GenerateKeyPair приняла на вход механизм генерации ключевой пары, шаблоны открытого и закрытого ключа и с помощью механизма сгенерировала объекты ключевой пары (publicKey и privateKey). Мы пока ещё не описывали механизмы, но, говоря простым языком, механизм — это идентификатор операции, которая выполняет какую-то криптографическую функцию. В нашем случае — это функция генерации объекта.

    Поиск объектов и создание сырой подписи

    В прошлом разделе мы сгенерировали ключевую пару. На этот раз будем считать, что у нас нет хендлов на сгенерированные ключи, но мы знаем их идентификатор – CKA_ID. Попробуем найти объект закрытого ключа на токене:

    Данный пример иллюстрирует работу с функцией поиска объекта по заданным атрибутам. Как можно заметить, операция поиска объекта на токене является составной и работа с ней сводится как минимум к вызову трёх функций: C_FindObjectsInit, C_FindObjects, C_FindObjectsFinal. Функция C_FindObjects может вызываться по несколько раз, и каждый раз она будет возвращать следующие объекты поиска. Предпоследний аргумент функции C_FindObjects задаёт размер выходного массива объектов. А последний — количество полученных объектов после очередного поиска.

    Поиск приватного ключа производился по атрибуту его класса и идентификатору. Мы рассчитывали, что найдётся хотя бы один объект по заданному шаблону и брали любой из них. Используем найденный ключ для вычисления сырой подписи:

    В этом примере подпись и хеш можно считать одновременно. Такой вариант рекомендован для безопасности: цепочку «хеширование-подпись» лучше не «разрывать». Чтобы показать, какой алгоритм хеширования использовать, мы передали его OID.

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

    Работа с функциями расширения на примере создания запроса на сертификат

    Пришло время показать, как работать с функциями-расширениями. Сделаем это на примере библиотеки PKCS#11 от Рутокен и создадим запрос на сертификат для нашей ключевой пары. Генерация запроса на сертификат не описана в стандарте, поэтому сделаем это через функцию-расширение C_EX_CreateCSR.

    Можно заметить, что работа с функциями расширения очень похожа на работу со стандартными функциями. Основное отличие лишь в том, что мы обращаемся к другому списку функций CK_FUNCTION_LIST_EXTENDED_PTR. Создание запроса на сертификат происходит в одну строчку функцией C_EX_CreateCSR и возвращает запрос в DER-формате. Также стоит обратить внимание, что память, выделенную внутри библиотеки, следует высвобождать с помощью функции C_EX_FreeBuffer.

    По полученному запросу можно получить сертификат в Удостоверяющем центре. Например, воспользуемся тестовым УЦ КриптоПро для получения сертификата. Полученный сертификат необходимо скачать в DER-формате, сохранить в файле с именем «cert_2012-256.cer» и положить в директорию, из которой вы запускаете примеры. Полученный сертификат можно импортировать на токен.

    Импорт сертификата на токен. Создание объекта вручную

    Сертификаты на токене так же как и ключи — являются объектами. Сертификат можно импортировать на токен, создав объект с нужными атрибутами. Для этого мы реализовали функцию: import_cert:

    На этот раз мы создали объект напрямую с помощью функции C_CreateObject. Для создания объекта сертификата мы аналогично передали шаблон с атрибутами объекта: тело сертификата, идентификатор, тип доступа, тип сертификата и т.п.

    Функцию C_CreateObject можно использовать не только для создания сертификата на токене, но и для создания других объектов, например, публичных ключей (CKO_PUBLIC_KEY), закрытых ключей (CKO_PRIVATE_KEY), симметричных ключей (CKO_SECRET_KEY), обычных данных (CKO_DATA). Их значение будет также содержаться внутри атрибута CKA_VALUE.

    Теперь, когда у нас на токене имеется и ключевая пара и сертификат, для закрепления материала рассмотрим операцию создания CMS-подписи.

    Формирование CMS-подписи

    Данная возможность является расширением библиотеки Рутокен и может работать только с ГОСТ-ключами. Для создания подписи в формате CMS требуется наличие закрытого ключа и сертификата (неявно содержащего в себе открытый ключ). Создание CMS-подписи реализовано в функции sign_cms:

    Создание CMS-подписи произошло вызовом всего лишь одной функции расширения C_EX_PKCS7Sign. А объект сертификата нашелся так же просто, как и объект ключа с минимальными отличиями в коде. Все это показывает, как просто и лаконично (по меркам языка C) спроектирован стандарт PKCS#11 с идеей объектного подхода.

    Получение и установка атрибутов публичных объектов

    В завершение главы про объекты хотелось бы отметить, что атрибуты публичных объектов можно получать и изменять. Делается это с помощью функций C_SetAttributeValue и C_GetAttributeValue.

    Логика работы с функцией C_SetAttributeValue очень похожа на логику создания объектов — создаётся шаблон, атрибуты заполняются указанными значениями. Все это передаётся на вход функции C_SetAttributeValue. Изменять атрибуты можно, если у объекта атрибут CKA_MODIFIABLE равен CK_TRUE.

    При получении значений атрибутов иногда неизвестно, какой будет выходной размер атрибута. В таком случае создается шаблон с нулевыми значениями указателей на выходные объекта атрибутов и их размеров. Этот шаблон передаётся функции C_GetAttributeValue. Функция заполняет значение выходных размеров атрибутов в этом шаблоне. Мы может воспользоваться этой информацией для выделения памяти под атрибуты в шаблоне и дальнейшего вызова функции C_GetAttributeValue.

    Для демонстрации работы функций C_GetAttributeValue и C_SetAttributeValue рассмотрим пример получения тела сертификата и изменения текстовой метки сертификата:

    Про механизмы

    Мы уже ранее встречались с механизмами в примерах и дали краткое описание. Давайте теперь опишем их подробнее. Описание механизмов в PKCS#11 было вынесено в отдельный документ, с которым можно ознакомиться здесь. В этом документе написано:

    A mechanism specifies precisely how a certain cryptographic process is to be performed. PKCS #11 implementations MAY use one of more mechanisms defined in this docuоment.

    Отсюда следует, что механизмы:

    Определяют некоторое криптографическое преобразование.

    PCKS#11 может использовать механизмы, определенные в этом документе.

    Более того, некоторые PKCS#11-библиотеки могут использовать и другие механизмы.

    Согласно документации механизмы можно разделить на:

    Механизмы шифрования и расшифрования (Encrypt & Decrypt);

    Механизмы подписи и проверки подписи (Sign & Verify);

    Механизм формирования хеша (Digest);

    Механизм генерации симметричных и асимметричных ключей (Gen. Key/Key Pair);

    Экспорт и импорт ключей (Wrap & Unwrap);

    Выработка общего ключа на основе асимметричных ключей (Derive).

    Каждый механизм идентифицирует одну или несколько из этих функций. Так, например, ранее рассмотренный механизм CKM_GOSTR3410_KEY_PAIR_GEN предназначен для генерации ключей, а механизм CKM_AES_ECB может использоваться как для зашифрования/расшифрования, так и для свертки/развертки ключей.

    Работа с механизмами, на примере зашифрования сообщения

    Механизмы в PKCS#11 задаются через структур CK_MECHANISM. Объекты типа CK_MECHANISM в дальнейшем передаются PKCS#11-функциям для указания нужного механизма. Сама структура CK_MECHANISM состоит из трех элементов:

    Идентификатор механизма (mechanism);

    Указатель на параметры механизма (pParameter);

    Длина в байтах параметров механизма (ulParameterLen).

    Самый простой пример параметра механизма — вектор инициализации для алгоритмов шифрования. Попробуем на примере показать, как можно зашифровать сообщение через механизм CKM_GOST28147 с указанным вектором инициализации. Пример реализован внутри функции encrypt_data:

    В этом примере стоит обратить внимание на то, как передаётся вектор инициализации механизму шифрования. Стоит заметить, что после вызова функции C_Encrypt вызывать функцию C_EncryptFinal не нужно: для многих механизмов вызов C_Encrypt эквивалентен последовательному вызову функций C_EncryptUpdate и C_EncryptFinal.

    Проверка поддержки механизмов

    Ранее в примерах мы всегда надеялись на то, что токен поддерживает используемые механизмы, но, вообще говоря, — это может быть не так. Так, например, Рутокен Lite не поддерживает криптографические механизмы. Поэтому перед началом работы с каким-либо механизмом желательно убедиться в том, что он поддерживается устройством. Это можно сделать с помощью функции C_GetMechanismList, которая возвращает список поддерживаемых механизмов токена. Напишем удобную обертку для проверки поддержки определенного механизма:

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

    Утилита pkcs11-tool

    Часто бывает необходимо просто и быстро выполнить какое-либо обращение к PKCS#11-библиотеке, не прибегая к написанию кода. На помощь может прийти утилита pkcs11-tool, которая распространяется в составе пакета (opensc)[https://github.com/OpenSC/OpenSC].

    Утилита pkcs11-tool может гибко выполнять огромное количество стандартных PKCS#11-операций. Например:

    Генерация ключевых пар:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so —keypairgen —key-type GOSTR3410-2012-256:B —id 45 -l

    Создание сырой подписи:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so —sign —id 45 -l -i file.txt —mechanism GOSTR3410-WITH-GOSTR3411-12-256

    Генерация псевдослучайных последовательностей:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so —generate-random 16

    Получение списка объектов на токене:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so -O

    Получение механизмов, поддерживаемых токеном:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so -M

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

    Дополнительный материал

    Если вы захотите узнать, как работать с более специфичными функциями, то большое количество примеров по работе с PKCS#11 можно найти в нашем SDK. Все примеры по работе с PKCS#11-библиотекой находятся в директории sdkpkcs11samples.

    Выводы

    Зачастую библиотека PKCS#11 является основным кирпичиком при написании приложений или других библиотек для работы со смарт-картами на других языках программирования. Поэтому знание основ работы с PKCS#11 на языке C может помочь разобраться с тем, как работать с обертками или как лучше реализовать архитектуру новой обертки.

    Кроме PKCS#11 с объектами на смарт-картах/токенах можно работать через:

    OpenSSL API (pkcs11 engine, rutoken engine);

    Java c JDK 8 или новее через интерфейсы PKCS#11-wrapper и JCA;

    C++ с использованием библиотеки pki-core;

    Если вы хотите узнать про какую-то реализацию подробнее, то напишите в комментариях и мы постараемся в ближайшее время выпустить новую статью с её разбором.

    Источник

    Понравилась статья? Поделить с друзьями:
  • Ошибка при инициализации криптографической сессии сервер отзыва сертификатов недоступен
  • Ошибка при инициализации криптографической сессии не найдены действительные сертификаты
  • Ошибка при инициализации криптографической сессии crypto de как исправить
  • Ошибка при инициализации криптографической сессии crypto de для пфр
  • Ошибка при инициализации контроллера клавиатуры