CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP Электронная цифровая подпись

В данный пример

  1. CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  2. В примере будет использоваться версия 5.0R2 (5.0.12000).

    CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  3. CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  4. Произведем установку криптопровайдера КриптоПро CSP. Для этого следует
    запустить Терминал FLY и перейти в директорию, содержащую скачанный архив
    с пакетами криптопровайдера:

    CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  5. Произвести распаковку архива: .

    CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  6. CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  7. Затем перейдите в папку распаковки. Получите права суперпользователя
    root (sudo -s) и запустите установочный скрипт:
    ./install_gui.sh.

    CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  8. CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  9. Выберите нужные в процессе работы пакеты и нажмите
    Далее:

    Выберите обязательно следующие пакеты, остальные при необходимости (уточните у
    Администратора сети):

    • Криптопровайдер КС1;
    • Графические диалоги;
    • Поддержка токенов и смарт-карт;
    • cptools, многоцелевое графическое приложение;
    • Библиотека PKCS #11 (для gosuslugi.ru).

    CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  10. CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  11. CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  12. Введите лицензию КриптоПро CSP (Ввести лицензию).
    Лицензионный ключ можно ввести позже – ознакомительная лицензия позволит
    полноценно использовать CSP в течение 90 дней после первой установки (выберите
    Позже).

    CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

  13. Нажмите Выход для завершения установки.

    CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

Распаковать архив cadesplugin.exe с помощью 7-zip, например в C:\Temp.

Устанавливаем:

msiexec /i  /qn /L*v 

Скрипт для автоматической установки:


 
Скрипт автоматической установки «КриптоПро ЭЦП Browser plug-in»

 


 
Version:        0.1
Author:         Pavel Satin

Creation Date:  13.09.2018
Purpose/Change: Первый вариант


 
      
      


# $ErrorActionPreference = "SilentlyContinue"

  
  

# $tempDir = "c:\Temp"
  
  


  
 
    
    
    

     "Downloading $url to $file"
       
    
     


 "Скачиваем «КриптоПро ЭЦП Browser plug-in»"

  

 "Скачиваем консольный 7-zip"

  

 

     

   
    
    


 "Запускаем установку плагина"

   "/i $cadespluginMSI /qn /norestart /L*v $tempDir\cadescom$logFile"  

Ссылки

  • КриптоПро ЭЦП Browser plug-in
  • Powershell: Installing MSI files
  • Powershell: Remote install software


Offline

hopyres

Оставлено
:

18 января 2022 г. 21:14:17(UTC)

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.
На команду /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32 выдает

Цитата:

CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38786787
GetProvParam(…PP_ENUMREADERS…) until it returns false
Flags: 0x20
Len Byte NickName/Name/Media
___________________________________
Cycle exit when getting size. 0 items found…/../../../CSPbuild/CSP/samples/csptest/enum.c:571:Error during CryptGetProvParam().

Error 0x8009000a: Указан неправильный тип.
Total: SYS: 0,000 sec USR: 0,030 sec UTC: 0,300 sec
[ErrorCode: 0x8009000a]

Что ему нужно? Brick wall

Отредактировано пользователем 20 января 2022 г. 10:28:27(UTC)
| Причина: Не указана


Online

Андрей *

Оставлено
:

18 января 2022 г. 22:23:35(UTC)

Автор: hopyres Перейти к цитате

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.
На команду /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32 выдает

Цитата:

CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38786787

точно 12330?


Offline

nickm

Оставлено
:

19 января 2022 г. 6:09:49(UTC)

Автор: hopyres Перейти к цитате

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.

Что ему нужно? Brick wall

Похоже на то, что “кривой” config64.ini.


Offline

Санчир Момолдаев

Оставлено
:

19 января 2022 г. 10:43:40(UTC)

1) скзи – товар двойного назначения. тиражирование скзи – сертифицированное фсб действие. как считаете пойдет ли aur на сертифицикацию фсб?
поэтому в пакете https://aur.archlinux.or…ckages/cryptopro-csp-k1/ надо отдельно скачивать дистрибутив.
напомню что мы к этому мейнтейнеру не имеем никакого отношения.

2) не все скрипты перенесены в скрипты пакета из аура.
поэтому совет: удалаете пакет из аура, затем ставите снова.

Код:

❯ /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32
CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.12330 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 27312179
GetProvParam(...PP_ENUMREADERS...) until it returns false
Flags: 0x20
  Len    Byte  NickName/Name/Media
___________________________________
 0x012a  0x00  HDIMAGE
               HDD key storage
               NO_UNIQUE
 0x012a  0x02  CLOUD
               Cloud Token
               NO_MEDIA
Cycle exit when getting data. 2 items found. Level completed without problems.
Total: SYS: 0,000 sec USR: 0,030 sec UTC: 0,040 sec
[ErrorCode: 0x00000000]
❯ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux-logo

Отредактировано пользователем 19 января 2022 г. 10:44:59(UTC)
| Причина: Не указана


Offline

hopyres

Оставлено
:

20 января 2022 г. 8:22:57(UTC)

Автор: Андрей * Перейти к цитате

Автор: hopyres Перейти к цитате

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.
На команду /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32 выдает

Цитата:

CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38786787

точно 12330?

Само приложение пишет 5.0.11455, а в AUR файле PKGBUILD указана версия 12330


Offline

Санчир Момолдаев

Оставлено
:

20 января 2022 г. 8:35:36(UTC)

скачайте дистрибутив 5.0.12330 подложите его к pkgbuild и переустановите пакет


Offline

hopyres

Оставлено
:

20 января 2022 г. 9:51:24(UTC)

Автор: Санчир Момолдаев Перейти к цитате

скачайте дистрибутив 5.0.12330 подложите его к pkgbuild и переустановите пакет

Подкинул ему дистрибутив с официального сайта и всё заработало. Anxious

В данной статье мы описываем процесс установки и настройки КриптоПро CSP на ОС Linux (на примере Debian 11).

Она будет полезна вам, если вы получили ключ и сертификат в ФНС и используете ОС Linux для работы.

Рассматриваемая конфигурация:

  • Debian 11
  • КриптоПро CSP 5.0
  • КриптоПро ЭЦП Browser plug-in 2.0

Порядок настройки:

1) Установка КриптоПро CSP 5.0:

1.1. Выполните регистрацию на сайте нашей компании. Если Вы уже зарегистрированы – выполните вход (необходимо ввести адрес электронной почты и пароль, которые Вы указывали при регистрации)

1.2. Перейдите на страницу загрузки дистрибутивов КриптоПро CSP

1.3. Ознакомьтесь с условиями лицензионного соглашения и нажмите кнопку «Я согласен с лицензионным соглашением. Перейти к загрузке»

1.4. Нажмите кнопку «Скачать для Linux», для загрузки дистрибутива актуальной версии КриптоПро CSP

1.5. Распакуйте загруженный архив: tar -xvf linux-amd64_deb.tgz && cd linux-amd64_deb

1.6. Запустите установку в графическом интерфейсе посредством запуска скрипта

sudo ./install_gui.sh

При установке дополнительно нужно отметить пакеты

  • Smart Card and Token support modules

1.7. Для корректной работы с некоторыми ключевыми носителями необходима установка дополнительного программного обеспечения:

  • pcscd (sudo apt-get install pcscd)
  • libccid (sudo apt-get install libccid)
  • Рутокен ЭЦП 2.0 – библиотека для работы через PKCS#11 интерфейс
  • JaCarta-2 ГОСТ – Единый клиент JaCarta
  • ESMART Token ГОСТ – ESMART PKI Client
  • Рутокен S – пакет ifd-rutokens_1.0.4 расположен в архиве с ПО

установка скаченных выше библиотек PKCS#11 выполняется командой

sudo dpkg -i путь до скаченной библиотеки

убедитесь, что служба pcscd запущена sudo systemctl status pcscd

если нет запустите ее sudo systemctl enable –now pcscd

2) Установка КриптоПро ЭЦП BrowserPlug-in 2.0:

Скачайте КриптоПроЭЦП Browser plug-in 2.0

Распакуйте загруженный архив: tar -xvf cades-linux-amd64.tar.gz

Выполните установку

sudo dpkg -i cprocsp-pki-cades

sudo dpkg -i cprocsp-pki-plugin

3) Установка личного сертификата:

Установка личного сертификата с привязкой к ключевому контейнеру на ключевом носителе (при подключенном ключевом носителе):

Показать приложения
Инструменты КриптоПро
Контейнеры
Выбрать нужный ключевой носитель
Установить сертификат

Установка облачного сертификата описана в инструкции по ссылке

4) Проверить правильность настройки можно на тестовой странице проверки плагина.

Если настройка произведена корректно, то в поле Сертификат появится строка, соответствующая сертификату.

После выбора сертификата и нажатия кнопки Подписать появится надпись Подпись сформирована успешно.

5) Проверка статуса лицензии КриптоПро CSP 5.0:



6) Активация лицензии КриптоПро CSP 5.0:

Показать приложения
Инструменты КриптоПро
Общее
Ввести лицензию для меня

Примечания:

a) При необходимости отдельной установки сертификатов

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

Показать приложения
Инструменты КриптоПро
Сертификаты
Установить сертификаты
выбрать файл с нужным сертификатом

b) Для работы на портале nalog.ru необходимо:

– иметь в наличии квалифицированный сертификат электронной подписи и соответствующий ему ключ,

– для входа в личный кабинет ИП или ЮЛ с помощью электронной подписи использовать один из браузеров (рекомендуется использовать последнии доступные версии браузеров) с поддержкой ГОСТ TLS – Chromium-Gost или Яндекс.Браузер и входить по прямой ссылке:

https://lkul.nalog.ru – для юридических лиц,

https://lkipgost2.nalog.ru/lk – для индивидуальных предпринимателей.

c) Информация по входу на портал gosuslugi.ru доступна по ссылке.


Offline

biff

Оставлено
:

21 февраля 2022 г. 15:48:34(UTC)

Ubuntu 22.04
Chrome 98.0.4758.80 (Official Build) (64-bit)
FireFox 97.0 (64-bit)
CryptoPro CSP 5.0.12330-6

Код:


xxxx@ubuntu:~/Downloads/cades-linux-amd64$ sudo dpkg -l | grep cpro
ii  cprocsp-curl-64                               5.0.12330-6                       amd64        CryptoPro cURL shared library and application. Build 12330.
ii  cprocsp-pki-cades-64                          2.0.14458-1                       amd64        CryptoPro ECP SDK
ii  cprocsp-pki-phpcades-64                       2.0.14458-1                       amd64        CryptoPro ECP SDK PHP extension
ii  lsb-cprocsp-base                              5.0.12330-6                       all          CryptoPro CSP directories and scripts. Build 12330.
ii  lsb-cprocsp-ca-certs                          5.0.12330-6                       all          CryptoPro CA certificates. Build 12330.
ii  lsb-cprocsp-capilite-64                       5.0.12330-6                       amd64        CryptoPro CSP. CryptoAPI Lite libraries and applications. Build 12330.
ii  lsb-cprocsp-kc1-64                            5.0.12330-6                       amd64        CryptoPro CSP KC1. Build 12330.
ii  lsb-cprocsp-rdr-64                            5.0.12330-6                       amd64        CryptoPro CSP common libraries and utilities. Build 12330.

Установка Browser plugin

Код:


xxxx@ubuntu:~/Downloads/cades-linux-amd64$ sudo dpkg -i cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb
(Reading database ... 380467 files and directories currently installed.)
Preparing to unpack cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb ...
CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP. Install it before installing this package.
dpkg: error processing archive cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb (--install):
 new cprocsp-pki-plugin-64 package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb

Если игнорировать rdr_gui_gtk – тоже падает

Код:


xxxx@ubuntu:~/Downloads/cades-linux-amd64$ sudo dpkg --ignore-depends=rdr_gui_gtk -i cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb 
(Reading database ... 380467 files and directories currently installed.)
Preparing to unpack cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb ...
CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP. Install it before installing this package.
dpkg: error processing archive cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb (--install):
 new cprocsp-pki-plugin-64 package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb

Отредактировано пользователем 21 февраля 2022 г. 15:52:36(UTC)
| Причина: Не указана


Offline

Александр Лавник

Оставлено
:

21 февраля 2022 г. 15:58:09(UTC)

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

Не игнорируйте, установите нужный пакет.

thanks 1 пользователь поблагодарил Александр Лавник за этот пост.

nickm

оставлено 21.02.2022(UTC)


Offline

biff

Оставлено
:

21 февраля 2022 г. 16:44:49(UTC)

Как его установить? Кем он предоставляется?

Код:


xxxx@ubuntu:~/Downloads/cades-linux-amd64$ sudo apt install rdr_gui_gtk
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package rdr_gui_gtk


Offline

Александр Лавник

Оставлено
:

21 февраля 2022 г. 16:59:58(UTC)

Автор: biff Перейти к цитате

Как его установить? Кем он предоставляется?

Код:


xxxx@ubuntu:~/Downloads/cades-linux-amd64$ sudo apt install rdr_gui_gtk
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package rdr_gui_gtk

В составе дистрибутива КриптоПро CSP.

В Вашем случае:

Код:

cprocsp-rdr-gui-gtk-64_5.0.12330-6_amd64.deb


Offline

biff

Оставлено
:

21 февраля 2022 г. 17:03:36(UTC)

Нда, лучше бы вы его устанавливали по умолчанию, чем заставлять пользователей самим искать пакеты в куче дистрибутивах КриптоПро продуктов


Offline

Александр Лавник

Оставлено
:

21 февраля 2022 г. 17:23:17(UTC)

Автор: biff Перейти к цитате

Нда, лучше бы вы его устанавливали по умолчанию, чем заставлять пользователей самим искать пакеты в куче дистрибутивах КриптоПро продуктов

А Вы устанавливайте через скрипт install_gui.sh с выбором всех опций кроме KC2, тогда таких проблем не возникнет.

thanks 2 пользователей поблагодарили Александр Лавник за этот пост.

Андрей *

оставлено 21.02.2022(UTC),

nickm

оставлено 21.02.2022(UTC)

Форум КриптоПро
»
Средства криптографической защиты информации
»
Linux, Solaris etc.
»
CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP


Offline

Николай О.

Оставлено
:

4 октября 2021 г. 10:37:03(UTC)

Здравсвуйте!
Работаю на Ubuntu 20.04.3
1) Захожу сюда: https://www.cryptopro.ru/products/cades/plugin
2) Устанавлюваю криптопровайдер. Все ставится.
3) Скачиваю КриптоПро ЭЦП Browser plug-in со страницы https://cryptopro.ru/products/cades/plugin/get_2_0 архив cades_linux_amd64.tar.gz
4) Выполняю команду

sudo dpkg -i cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb

получаю ошибку:

Цитата:

(Reading database … 210067 files and directories currently installed.)
Preparing to unpack cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb …
CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP. Install it before installing this package.
dpkg: error processing archive cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb (–install):
new cprocsp-pki-plugin-64 package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb

И где взять rdr_gui_gtk ?


Offline

Александр Лавник

Оставлено
:

4 октября 2021 г. 10:55:57(UTC)

Автор: Николай О. Перейти к цитате

Здравсвуйте!
Работаю на Ubuntu 20.04.3
1) Захожу сюда: https://www.cryptopro.ru/products/cades/plugin
2) Устанавлюваю криптопровайдер. Все ставится.
3) Скачиваю КриптоПро ЭЦП Browser plug-in со страницы https://cryptopro.ru/products/cades/plugin/get_2_0 архив cades_linux_amd64.tar.gz
4) Выполняю команду

sudo dpkg -i cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb

получаю ошибку:

Цитата:

(Reading database … 210067 files and directories currently installed.)
Preparing to unpack cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb …
CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP. Install it before installing this package.
dpkg: error processing archive cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb (–install):
new cprocsp-pki-plugin-64 package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
cprocsp-pki-plugin-64_2.0.14368-1_amd64.deb

И где взять rdr_gui_gtk ?

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

Пакет cprocsp-rdr-gui-gtk… нужно взять из состава используемого дистрибутива КриптоПро CSP.


Offline

Denis Sidorenko

Оставлено
:

8 февраля 2022 г. 20:45:33(UTC)

Здравствуйте! Аналогичная проблема, в дистрибутиве не произошло установки rdr_gui_gtk. Как вы решили проблему?

Код:

/linux-amd64_deb$ sudo ./install.sh
Удаление пакетов КриптоПро CSP...
Пакеты КриптоПро CSP успешно удалены
Установка lsb-cprocsp-base_5.0.12330-6_all.deb ...
Выбор ранее не выбранного пакета lsb-cprocsp-base.
(Чтение базы данных … на данный момент установлено 199907 файлов и каталогов.)
Подготовка к распаковке lsb-cprocsp-base_5.0.12330-6_all.deb …
Распаковывается lsb-cprocsp-base (5.0.12330-6) …
Настраивается пакет lsb-cprocsp-base (5.0.12330-6) …
AppArmor profiles were loaded.
Обрабатываются триггеры для systemd (245.4-4ubuntu3.15) …
Установка lsb-cprocsp-rdr-64_5.0.12330-6_amd64.deb ...
Выбор ранее не выбранного пакета lsb-cprocsp-rdr-64.
(Чтение базы данных … на данный момент установлено 200187 файлов и каталогов.)
Подготовка к распаковке lsb-cprocsp-rdr-64_5.0.12330-6_amd64.deb …
Распаковывается lsb-cprocsp-rdr-64 (5.0.12330-6) …
Настраивается пакет lsb-cprocsp-rdr-64 (5.0.12330-6) …
Установка lsb-cprocsp-kc1-64_5.0.12330-6_amd64.deb ...
Выбор ранее не выбранного пакета lsb-cprocsp-kc1-64.
(Чтение базы данных … на данный момент установлено 200217 файлов и каталогов.)
Подготовка к распаковке lsb-cprocsp-kc1-64_5.0.12330-6_amd64.deb …
Распаковывается lsb-cprocsp-kc1-64 (5.0.12330-6) …
Настраивается пакет lsb-cprocsp-kc1-64 (5.0.12330-6) …
Установка lsb-cprocsp-capilite-64_5.0.12330-6_amd64.deb ...
Выбор ранее не выбранного пакета lsb-cprocsp-capilite-64.
(Чтение базы данных … на данный момент установлено 200227 файлов и каталогов.)
Подготовка к распаковке lsb-cprocsp-capilite-64_5.0.12330-6_amd64.deb …
Распаковывается lsb-cprocsp-capilite-64 (5.0.12330-6) …
Настраивается пакет lsb-cprocsp-capilite-64 (5.0.12330-6) …
Установка cprocsp-curl-64_5.0.12330-6_amd64.deb lsb-cprocsp-ca-certs_5.0.12330-6_all.deb ...
Выбор ранее не выбранного пакета cprocsp-curl-64.
(Чтение базы данных … на данный момент установлено 200255 файлов и каталогов.)
Подготовка к распаковке cprocsp-curl-64_5.0.12330-6_amd64.deb …
Распаковывается cprocsp-curl-64 (5.0.12330-6) …
Выбор ранее не выбранного пакета lsb-cprocsp-ca-certs.
Подготовка к распаковке lsb-cprocsp-ca-certs_5.0.12330-6_all.deb …
Распаковывается lsb-cprocsp-ca-certs (5.0.12330-6) …
Настраивается пакет cprocsp-curl-64 (5.0.12330-6) …
Настраивается пакет lsb-cprocsp-ca-certs (5.0.12330-6) …
Пакеты КриптоПро CSP успешно установлены

Далее

Код:

cades-linux-amd64$ sudo dpkg -i cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb 
[sudo] пароль для qoffee: 
(Чтение базы данных … на данный момент установлено 200282 файла и каталога.)
Подготовка к распаковке cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb …
CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP. Install it before installing this package.
dpkg: ошибка при обработке архива cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb (--install):
 new cprocsp-pki-plugin-64 package pre-installation script subprocess returned error exit status 1
При обработке следующих пакетов произошли ошибки:
 cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb

Отредактировано пользователем 8 февраля 2022 г. 20:47:45(UTC)
| Причина: Не указана


Offline

kislenko-artem-artem

Оставлено
:

8 февраля 2022 г. 22:18:53(UTC)

Думаю, что проблема в том, что устанавливается пакет cprocsp-rdr-gui-gtk-64

А ищется пакет cprocsp-rdr-gui-gtk


Offline

kislenko-artem-artem

Оставлено
:

8 февраля 2022 г. 22:37:59(UTC)

В итоге сделал просто apt install ./cprocsp-pki-plugin-64_2.0.14458-1_amd64.deb – все заработало

Системные требования

Требования к аппаратному обеспечению

Минимальные требования к аппаратному обеспечению представлены в таблице ниже.

Требования к программному обеспечению

Служба проверки сертификатов и электронной подписи КриптоПро SVS предназначена для
функционирования в следующих операционных системах (ОС):

  • Microsoft Windows Server 2008 R2 с установленным пакетом обновления Service Pack 1 и выше,
  • Windows Server 2012,
  • Windows Server 2012 R2,
  • Microsoft Windows Server 2016,
  • Microsoft Windows Server 2019,
  • операционная система специального назначения «Astra Linux Special Edition» (ОС СН «Astra Linux Special Edition»),
  • РЕД ОС.

В качестве криптопровайдера может быть использовано СКЗИ «КриптоПро CSP» версии 4.0 варианта
исполнения 2-Base, 3-Base и выше.

При использовании ОС Microsoft Windows 2008 R2 необходимо наличие установленного Internet Explorer
версии не ниже 9.

Требования к веб-серверу

Требования к веб-серверу для ОС Microsoft Windows 2008 R2

Для настройки работы веб-сервера необходимо установить Microsoft Internet Information Services 7.5. В
Мастере добавления ролей и компонентов необходимо добавить следующие роли веб-сервера IIS:

  • ASP.NET;
  • Расширяемость .NET (.NET Extensibility 4.5);
  • Расширения ISAPI (ISAPI Extensions);
  • Фильтры ISAPI (ISAPI Filters);
  • Статическое содержимое (Static content);
  • Фильтрация запросов (Request Filtering);
  • Консоль управления IIS (IIS Management Console).
Примечание

Если установка Microsoft .NET Framework 4.6.1 происходила до установки роли IIS, то после добавления
данной роли необходимо в командной строке выполнить команду (в одну строку):
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe iru

Требования к веб-серверу для ОС Microsoft Windows 2012 и 2012 R2

Для функционирования всех компонентов СЭП «КриптоПро DSS» необходима установка Microsoft Internet
Information Services (IIS) 8. В Мастере добавления ролей и компонентов необходимо добавить следующие
роли веб-сервера IIS:

  • ASP.NET 4.5;
  • Расширяемость .NET (.NET Extensibility 4.5);
  • Расширения ISAPI (ISAPI Extensions);
  • Фильтры ISAPI (ISAPI Filters);

Указанные роли находятся в разделе «Веб-сервер (IIS) – Веб-сервер – Разработка приложений».

1.png

  • Статическое содержимое (Static content);

2.png

  • Фильтрация запросов (Request Filtering);

Указанная роль находится в разделе «Веб-сервер (IIS) – Веб-сервер – Безопасность».

3.png

  • Консоль управления службами IIS (IIS Management Console).

Указанная роль находится в разделе «Веб-сервер (IIS) – Средства управления – Консоль управления
службами IIS».

4.png

Также необходимо выбрать и установить следующие компоненты IIS: Дополнительные службы .NET
Framework 4.5:

  • Активация по HTTP (HTTP Activation).

5.png

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

dism.exe /Online /Enable-Feature /FeatureName:IIS-WebServerRole /FeatureName:IIS-WebServer /FeatureName:IIS-ASPNET45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:IIS-ISAPIExtensions /FeatureName:IIS-ISAPIFilter /FeatureName:IIS-StaticContent /FeatureName:IIS-ManagementConsole /FeatureName:IIS-RequestFiltering /FeatureName:WAS-WindowsActivationService /FeatureName:WCF-HTTP-Activation45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:NetFx4Extended-ASPNET45 /FeatureName:WAS-ConfigurationAPI

Требования к веб-серверу для ОС Microsoft Windows 2016/2019

Для настройки работы веб-сервера необходимо установить Microsoft Internet Information Services 10. В
Мастере добавления ролей и компонентов необходимо добавить следующее:

  • Служба активации процессов Windows:
    • Модель процесса;
    • API конфигурации;
  • Функции .NET Framework 4.6:
    • .NET Framework 4.6
    • ASP.NET 4.6
  • Службы WCF:
    • Активация по HTTP
  • Платформа .NET 3.5.
  • Ведение журнала;
  • Расширяемость .NET (.NET Extensibility 4.5);
  • Расширения ISAPI (ISAPI Extensions);
  • Фильтры ISAPI (ISAPI Filters);
  • Статическое содержимое (Static content);
  • Фильтрация запросов (Request Filtering);
  • Консоль управления IIS (IIS Management Console).

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

dism.exe /Online /Enable-Feature /FeatureName:IIS-WebServerRole /FeatureName:IIS-WebServer /FeatureName:IIS-ASPNET45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:IIS-ISAPIExtensions /FeatureName:IIS-ISAPIFilter /FeatureName:IIS-StaticContent /FeatureName:IIS-ManagementConsole /FeatureName:IIS-RequestFiltering /FeatureName:WAS-WindowsActivationService /FeatureName:WCF-HTTP-Activation45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:NetFx4Extended-ASPNET45 /FeatureName:WAS-ConfigurationAPI

КриптоПро SVS при эксплуатации в ОС СН Astra Linux Special Edition поддерживает следующие веб-серверы:

  • nginx
  • apache

Настройка веб-серверов выполняется согласно эксплуатационной документации к используемой версии КриптоПро CSP
(см. документ “Руководство администратора безопасности. Linux” из соответствующего комплекта документации).

Пример настройки веб-сервера nginx

Установка дополнительных пакетов:

sudo apt-get install build-essential patch

Применение модуля СКЗИ для nginx:

wget https://nginx.org/download/nginx-1.18.0.tar.gz
tar -xvf ./nginx-1.18.0.tar.gz
cp ./ng-nginx.1.18.0.patch ./nginx-1.18.0 && cd ./nginx-1.18.0/
patch -p1 < ./ng-nginx.1.18.0.patch

Получение дополнительных исходных текстов:

wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
tar -xvf ./pcre-8.44.tar.gz && cd ./pcre-8.44
wget https://zlib.net/zlib-1.2.11.tar.gz
tar -xvf ./zlib-1.2.11.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz
tar -xvf ./openssl-1.1.1h.tar.gz
cd ./nginx-1.18.0
./configure \
--user=nginx \
--group=nginx \
--with-cc-opt='-fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Werror=implicit-function-declaration -Winit-self -Wp,-D_FORTIFY_SOURCE=2 -fPIC' \
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie -L/opt/cprocsp/lib/amd64 -lrdrsup -lssp -lcapi10 -lcapi20' \
--prefix=/opt/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--lock-path=/var/run/lock/nginx.lock \
--pid-path=/var/run/nginx.pid \
--with-pcre=/home/test/src/pcre-8.44/ \
--with-pcre-jit \
--with-zlib=/home/test/src/zlib-1.2.11/ \
--with-http_ssl_module \
--with-http_sspi_module \
--with-http_stub_status_module \
--with-openssl=/home/test/src/openssl-1.1.1h/ \
--with-openssl-opt='no-gost no-comp no-dtls no-deprecated no-dynamic-engine no-engine no-hw-padlock no-nextprotoneg no-psk no-tests no-ts no-ui-console' \
--with-stream \
--with-stream_ssl_module \
--with-stream_sspi_module \
--with-http_v2_module
make

Копирование базовой конфигурации (пример конфигурации приведён в 4.1.2):

sudo cp ./nginx.conf.sample ./nginx-1.18.0/conf/nginx.conf
sudo make install

Создание системного пользователя:

sudo adduser --system --no-create-home --group nginx
sudo chown -R nginx:nginx /var/log/nginx/
sudo cp ./nginx.init /etc/init.d/nginx

Использование

Function reference

Демо: Выпуск сертификата

Демо: Электронная подпись

Демо: Шифрование данных

Скачать

Использование

<script src="ruscrypto.min.js"></script>
<script>
    var cryptopro = new window.RusCryptoJS.CryptoPro;
    cryptopro.init().then(function(info) {
        console.log('Initialized', info);
    }
</script>

ES Module

import { CryptoPro } from 'ruscryptojs';
const cryptopro = new CryptoPro;
cryptopro.init().then(function(info) {
    console.log('Initialized', info);
}

Function reference

init () :
Promise

Инициализация и проверка наличия требуемых возможностей. Должна быть вызвана первой до всех прочих вызовов.

Возвращает объект с полями:

{
    version: 'версия плагина'
}
bind
(
userPin : Void
) : Promise

Включает кеширование ПИН-кодов в процессе подписания, чтобы не тробовать от пользователя повторного ввода.

Возвращает новое состояние (true).

unbind
() : Promise

Отключает кеширование ПИН-кодов в процессе подписания.

Возвращает новое состояние (false).

generateCSR
(
dn : DN

[, ekuOids : Array
[, options : Object ]]

) : Promise

Начиная с версии 2.6

Создание запроса на сертификат.

Возвращает объект с полями

{
    csr: 'base64 запрос на сертификат' 
}
generateCSR
(
dn : DN

[, pin : String
[, ekuOids : Array
[, providerType : Number ]]]

) : Promise

До версии 2.6

Создание запроса на сертификат.

Возвращает объект с полями

{
    csr: 'base64 запрос на сертификат'
}
writeCertificate
(
certBase64 : String
) : Promise

Запись сертификата (полученного от УЦ).

Возвращает отпечаток (thumbprint) установленного сертификата.

certificateInfo
(
certThumbprint : String
) : Promise

Получение информации об установленном сертификате.

Возвращает объект с полями и строковым представлением:

'Название:              ' + this.Name +
'Издатель:              ' + this.IssuerName +
'Субъект:               ' + this.SubjectName +
'Версия:                ' + this.Version +
'Серийный №:            ' + this.SerialNumber +
'Отпечаток SHA1:        ' + this.Thumbprint +
'Не дествителен до:     ' + this.ValidFromDate +
'Не действителен после: ' + this.ValidToDate +
'Приватный ключ:        ' + (this.HasPrivateKey ? 'Есть' : 'Нет') +
'Валидный:              ' + (this.IsValid ? 'Да' : 'Нет')

Дополнительно содержит поля Subject и Issuer с представлением соответствующих полей в виде объектов DN,
где каждый RDN представлен как свойство и его значение.

listCertificates () :
Promise

Получение списка доступных сертификатов.

Возвращает массив объектов с полями:

[{
    id: 'thumbprint', 
    name: 'subject'
}, ...]
readCertificate
(
certThumbprint : String
) : Promise

Чтение (экспорт) сертификата.

Возвращает base64 закодированное тело сертификата.

signData
(
dataBase64 : String,
certThumbprint : String
[, options : Object]
) : Promise

Начиная с версии 2.4

Подпись данных отсоединенная или присоединенная.

Возвращает base64 закодированную подпись.

signData
(
dataBase64 : String,
certThumbprint : String
[, pin : String]
) : Promise

До версии 2.4

Подпись данных (отсоединенная).

Возвращает base64 закодированную подпись.

signData2
(
dataBase64 : String,
certThumbprint : String,
certThumbprint2 : String,
options : Object
) : Promise

Начиная с версии 2.4 нет обратной совместимости!

Совместная подпись данных (двумя сертификатами).

Возвращает base64 закодированную подпись.

signData2
(
dataBase64 : String,
certThumbprint : String,
pin : String,
certThumbprint2 : String,
pin2 : String
) : Promise

До версии 2.4

Совместная подпись данных (двумя сертификатами).

Возвращает base64 закодированную подпись.

addSign
(
dataBase64 : String,
signBase64 : String,
certThumbprint : String
[, options : Object]
) : Promise

Начиная с версии 2.4 нет обратной совместимости!

Добавление подписи к существующей.

Возвращает base64 закодированную подпись.

addSign
(
dataBase64 : String,
signBase64 : String,
certThumbprint : String
[, pin : String]
) : Promise

До версии 2.4

Добавление подписи к существующей.

Возвращает base64 закодированную подпись.

verifySign
(
dataBase64 : String,
signBase64 : String
[, options : Object]
) : Promise

Возвращает истину true или выбрасывает ошибку в случае неуспешной проверки.

encryptData
(
dataBase64 : String,
certThumbprint : String
) : Promise

Шифрование данных в формате CMS.

Возвращает зашифрованные данные в формате CMS.

decryptData
(
dataBase64 : String,
certThumbprint : String
[, pin : String]
) : Promise

Расшифрование данных в формате CMS.

Возвращает расшифрованные данные.

Выпуск сертификата

Электронная подпись

Шифрование данных

Всем привет! Я Максим, бэкенд-разработчик команды MSB (корпоративная сервисная шина), занимаюсь интеграциями систем для внутренних нужд компании Tele2, и в этом посте хочу поделиться опытом интеграции с “КриптоПро DSS” поверх ГОСТ TLS.

Введение

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

В качестве сервера электронной подписи используется комплекс “КриптоПро DSS”, имеющий возможность встроить двухфакторное подтверждение операций подписания в мобильное приложение, посредством своего DSS SDK.

Мы встроили данный SDK в наше корпоративное мобильное приложение, о котором писала моя коллега в своей статье на Хабре.

Но мой рассказ связан с опытом решения задачи со стороны бэкенда, и мы рассмотрим эту задачу подробнее.

Описание проблемы и её решение

В нашей схеме подключение к серверу электронной подписи осуществляется по ГОСТ TLS с аутентификацией клиента по сертификату.

Но не секрет, что стандартные платформы, а именно горячо любимый мной .NET, не поддерживают российские криптошифры по ГОСТу.

В качестве эксперимента пробовал подключить rtengine, но он не завёлся, и, помимо прочего, он не является сертифицированным средством защиты информации. В таких случаях “КриптоПро” советует использовать “КриптоПро Stunnel”.

Изначально, stunnel – это open-source приложение, выступающее в роли шлюза, который принимает незашифрованный трафик и пересылает его на целевой сервер поверх TLS. Часто используется, когда клиент сам не поддерживает TLS-шифрование.

А Stunnel от “КриптоПро” – это практически тот же stunnel, но с поддержкой ГОСТ TLS, а значит, он замечательно подходит для решения нашей проблемы.

Представленная выше схема рабочая, если бы не одно но: согласно политикам безопасности в компании, все запросы во внешнюю сеть Интернет могут осуществляться только через корпоративный прокси. Ванильный stunnel из коробки умеет делать запросы через прокси, но “КриптоПро” эту фичу выпилил в своей редакции.

Чтобы обойти это ограничение, в схему было решено добавить еще одно известное Linux-администраторам приложение socat (еще один шлюз, в своем роде), который умеет делать подключения через HTTP-прокси. Важное условие – HTTP-прокси должен разрешать подключения через метод CONNECT.

В итоге схема станет такой:

Docker

Для упрощения было решено пренебречь правилом “один контейнер – один процесс” и запускать “КриптоПро Stunnel” и socat в одном контейнере. Данный контейнер поднимается в виде sidecar рядом с основным контейнером микросервиса. Это позволяет нашему микросервису общаться с “КриптоПро DSS” так, как будто бы они общались по http-протоколу, а вопросы шифрования трафика по ГОСТ TLS отдаются на откуп контейнеру с stunnel и socat.

Чтобы подготовить образ контейнера, нужно скачать deb-пакет с “КриптоПро CSP” (именно в составе этого дистрибутива и состоит “КриптоПро Stunnel”). К сожалению, скачать пакет нельзя по прямой ссылке, которую можно было бы прописать в Dockerfile (иначе бы статья получилась в два раза короче). Для скачивания нужно пройти регистрацию на сайте “КриптоПро”, и только потом будет дана возможность скачать пакет.

Ниже приведен пример Dockerfile, скриптов инициализации и конфига для “КриптоПро Stunnel”.

Рабочий пример можно также посмотреть здесь.

Dockerfile
FROM debian:buster-slim

EXPOSE 80/tcp

ARG TZ=Europe/Moscow
ENV PATH="/opt/cprocsp/bin/amd64:/opt/cprocsp/sbin/amd64:${PATH}"

# stunnel settings
ENV STUNNEL_HOST="example.cryptopro.ru:4430"
ENV STUNNEL_HTTP_PROXY=
ENV STUNNEL_HTTP_PROXY_PORT=80
ENV STUNNEL_HTTP_PROXY_CREDENTIALS=
ENV STUNNEL_DEBUG_LEVEL=5
ENV STUNNEL_CERTIFICATE_PFX_FILE=/etc/stunnel/certificate.pfx
ENV STUNNEL_CERTIFICATE_PIN_CODE=

# dependencies
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
	&& echo $TZ > /etc/timezone \
	&& apt-get update \
	&& apt-get -y install lsb-base curl socat \
	&& rm -rf /var/lib/apt/lists/*
	
# install cryptopro csp
WORKDIR /dist
COPY dist/csp_deb.tgz csp_deb.tgz
RUN tar -zxvf csp_deb.tgz --strip-components=1 \
	&& ./install.sh cprocsp-stunnel
	
WORKDIR /

COPY conf/ /etc/stunnel
COPY bin/docker-entrypoint.sh docker-entrypoint.sh
COPY bin/stunnel-socat.sh stunnel-socat.sh

RUN chmod +x /docker-entrypoint.sh /stunnel-socat.sh
	
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["stunnel_thread", "/etc/stunnel/stunnel.conf"]
docker-entrypoint.sh
#!/bin/bash
# скрипт инициализации

# ---------------------------------
# настройка csp
echo "Configuring CryptoPro CSP..."

# импорт сертификата с закрытым ключом
if [[ ! -f "$STUNNEL_CERTIFICATE_PFX_FILE" ]]; then
    echo "Client certificate not found in ${STUNNEL_CERTIFICATE_PFX_FILE}"
    exit 1
fi

certmgr -install -pfx -file "${STUNNEL_CERTIFICATE_PFX_FILE}" -pin "${STUNNEL_CERTIFICATE_PIN_CODE}" -silent || exit 1
echo "Certificate was imported."
echo

# определение контейнера-хранилища закрытых ключей
containerName=$(csptest -keys -enum -verifyc -fqcn -un | grep 'HDIMAGE' | awk -F'|' '{print $2}' | head -1)
if [[ -z "$containerName" ]]; then
    echo "Keys container not found"
    exit 1
fi

# установка сертификата клиента
certmgr -inst -cont "${containerName}" -silent || exit 1

# экспорт сертификата для stunnel
exportResult=$(certmgr -export -dest /etc/stunnel/client.crt -container "${containerName}")
if [[ ! -f "/etc/stunnel/client.crt" ]]; then
    echo "Error on export client certificate"
    echo "$result"
    exit 1
fi

echo "CSP configured."
echo

# ---------------------------------
# запуск socat
echo "Starting socat..."
nohup bash /stunnel-socat.sh </dev/null >&1 2>&1 &

# ---------------------------------
# запуск stunnel
echo "Configuring stunnel..."
sed -i "s/^debug=.*$/debug=$STUNNEL_DEBUG_LEVEL/g" /etc/stunnel/stunnel.conf

echo "Starting stunnel"
exec "$@"
stunnel-socat.sh
#!/bin/bash
echo Configuring socat...

socatParameters="TCP:${STUNNEL_HOST}"

if [[ -n "$STUNNEL_HTTP_PROXY" ]]; then
    # если указан http-прокси, подключение будет происходить через него
    socatParameters="PROXY:${STUNNEL_HTTP_PROXY}:${STUNNEL_HOST},proxyport=${STUNNEL_HTTP_PROXY_PORT}"

    if [[ -n "$STUNNEL_HTTP_PROXY_CREDENTIALS" ]]; then
        socatParameters="${socatParameters},proxyauth=${STUNNEL_HTTP_PROXY_CREDENTIALS}"
    fi
fi

socatCmd="socat UNIX-LISTEN:/var/run/socat.sock,reuseaddr,fork ${socatParameters}"

while true; do
    rm -f /var/run/socat.sock
    echo $(date) "Start socat instance."
    ${socatCmd}
    sleep 1
done
stunnel.conf
foreground=yes
pid=/var/opt/cprocsp/tmp/stunnel_cli.pid
output=/dev/stdout
debug=5

[https]
client=yes
accept=80
cert=/etc/stunnel/client.crt
verify=0
connect=/var/run/socat.sock

Про Dockerfile рассказывать не буду, он достаточно тривиален, а вот скрипт инициализации docker-entrypoint.sh интереснее. Первым делом скрипт импортирует сертификат с закрытым ключом в хранилище ключей, так как “КриптоПро Stunnel” для работы необходим закрытый ключ. Затем из хранилища экспортируется сертификат с открытым ключом в формате DER. В дальнейшем по этому сертификату “КриптоПро Stunnel” будет получать закрытый ключ из хранилища ключей.

После инициализации хранилища ключей происходит настройка и запуск socat. Для конфигурирования socat добавлены переменные окружения, которые позволяют указать, через какой HTTP-прокси необходимо выполнять запросы. Не буду останавливаться на этих переменных – их описание есть в репозитории. Однако не лишним будет уточнить, что, если переменные не указаны, socat будет самостоятельно выполнять TCP-запросы до целевого сервера. Для получения входящих запросов socat открывает unix-сокет, на который и будет обращаться “КриптоПро Stunnel”.

Финальным шагом в скрипте являются конфигурирование Stunnel и его последующий запуск.

“КриптоПро Stunnel” при запуске начинает прослушивать порт 80, то есть принимать голый HTTP-трафик. HTTP-трафик будет шифроваться по ГОСТу и пересылаться на unix-сокет, который слушает socat. Socat, в свою очередь, откроет соединение с целевым сервером, напрямую или через HTTP-прокси, и отправит уже шифрованный запрос.

Шифрованный ответ от целевого сервера пройдет ту же цепочку, только обратном порядке, и вызывающему приложению будет возвращен ответ в виде plain text, что позволит не реализовывать ГОСТ TLS внутри приложений (если такая реализация вообще возможна).

Вместо заключения

К сожалению, документация по отечественным решениям зачастую достаточно скромна. К примеру, на попытки заставить работать “КриптоПро Stunnel” через HTTP-прокси ушло много времени, пока не пришло понимание, что “КриптоПро Stunnel” прокси не поддерживает и что без еще одного инструмента не обойтись.
Данная статья призвана помочь сберечь ваше время, надеюсь, описанное окажется полезным.

Бонус

В качестве бонуса хотелось бы поделиться несколькими советами:

Список ресурсов

  • stunnel TLS Proxy

  • Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel

Системные требования¶

Скрипты, перечисленные в этом разделе, написаны на Windows PowerShell.

Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев.
Windows PowerShell 2.0 был выпущен в составе Windows 7, Windows 8 и Windows Server 2008 R2, а также Windows Server 2012 R2, как неотъемлемый компонент системы.
Кроме того, вторая версия доступна и для других систем, таких, как Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP1, Windows Vista SP2, Windows Server 2008 и Windows Server 2012.

Примечание

Это означает, что только в Windows 7 и выше, есть встроенные средства для работы скриптов. В других системах нужно установить PowerShell отдельно (Скачать).

Также необходимо наличие установленной КриптоПро.

Утилита cert-install. ps1¶

  • Загрузить утилиту

cert-install.ps1 – утилита для массовой установки сертификатов.

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

Алгоритм работы¶

После запуска скрипта появится меню выбора действий:

  
         
         
         
         
     

В зависимости от выбора будет выполнена соответствующая операция.

Запуск скриптов¶

Выполнять скрипты рекомендуется через среду разработки Windows PowerShell ISE. Чтобы не менять настройки безопасности на компьютерах абонентов:

  1. Откройте скрипт в Windows PowerShell ISE;
  2. Выделите код скрипта, нажмите и скрипт будет выполнен.

CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

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

Утилиты export_keys. ps1 и import_keys. ps1¶

  • Загрузить скрипты

Две утилиты, используеющиеся совместно.

export_keys.ps1:

  • автоматически определяет разрядность системы;
  • автоматически определяет SID пользователя;
  • экспортирует ветку в папку со скриптом.

import_keys.ps1:

  • автоматически определяет разрядность системы;
  • автоматически определяет SID пользователя;
  • изменяет ветку реестра в экспортированном файле;
  • импортирует файл с контейнерами;
  • автоматически устанавливает сертификаты, перенесенных контейнеров.

Примечание

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

Алгоритм работы¶

  1. Перенесети папку с утилитами на первый компьютер абонента, с которого надо скопировать контейнеры;
  2. Запустите скрипт и дождитесь его успешного выполнения. При этом в папке со скриптами появится экспортированная ветка реестра;
  3. Перенесите папку со скрипом и экспортированным файлом на второй компьютер;
  4. Запустите скрипт и дождитесь его успешного выполнения;
  5. Просмотрите вывод скрипта, на наличе проблем и проверьте вход в сервисы СКБ Контур.

Примечание

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

Внимание

Скрипт export_keys.ps1 сохраняет ветку в файле ps_keys.reg на рабочем столе. Скрипт import_keys.ps1 подхватывает файл ps_keys.reg также
с рабочего стола и резудьтат обработки сохраняет в файле ps_keys_out.reg.

Файл ps_keys.reg не будет подхвачен скриптом import_keys.ps1 из других папок.

Вывод скриптов¶

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

Пример успешного вывода export_keys.ps1:

   \
   
  
    \\\ \\\\

   \\\\
    

Пример успешного вывода import_keys.ps1:

   \
   
  
    \\\ \\\
    \\\\

  

   
 # 2 found-&gt;KEY PROV INFO PROP ID.
     \\
          
   
   
         
 
  

   
 # 2 found-&gt;KEY PROV INFO PROP ID.
     \\
          
   
   
         
 
    

Решение проблем¶

Windows блокирует запуск скрипта¶

Система “безопасности” Windows может заблокировать выполнение скриптов. В такой ситуации требуется принудительно разрешить их выполнение.

Если при попытке выполнить сценарий появляется сообщение Не удается загрузить файл &lt;путь к вашему файлу&gt;, так как выполнение скриптов запрещено для данной системы.
Введите “get-help about_signing” для получения дополнительных сведений, достаточно подтвердить свое согласие введя Y.

CryptoPro ECP browser plug-in requires rdr_gui_gtk package from CryptoPro CSP

Также можно воспользоваться средой разработки Windows PowerShell ISE. Подробнее смотрите:

  • Создание и выполнение скриптов
  • Использование среды Windows PowerShell ISE
Читайте также:  Рутокен оптом купить — от 1 500₽ на официальном сайте
Оцените статью
ЭЦП Эксперт
Добавить комментарий

Adblock
detector