Установка и работа КриптоПРО CSP v 4.* 5.*

Вот этот файл https://forum.calculate-linux.org/uploads/short-url/vKFDwZ0eYLNgI7L44j3FsqklnXY.sh формирует нормальный config64.ini.
Добавил его в ebuild, он теперь запускается при установке и все делает сам

Вот этот пост Установка и работа КриптоПРО CSP v 4.* 5.* - #143 by Freeze
и
emerge =cryptoprocsp-4****

Freeze а откуда берется драйвер Rutoken ifd-rutokens? он что в офф дереве генты есть?

Я с Вашей репы брал. Правда у Вас версия 1.0.4 - 1.0.6 у меня не получилось поставить.

Alexandr, как смогу, я выложу историю команд по установке 4 версии - но у меня не работали RuTokenы и Госуслуги - потому что я ещё использовал первый ebuild плагина криптопро, который сделал ztime! Так что у меня не совсем рабочий способ - а затестить новый ebuild возможности пока нет.
И всё-таки - я очень рад, что рабочая схема вырисовалась общими усилиями, а то руки уже опускались - думал не вырулим -
у нас просто как казёнке придётся закупать импортозамещение - RedOS Муром на горизонте - продвигают - со всеми вытекающими…
Я не против - может они и хорошие ребята, но вся идеология Open-Source летит к чертям (когда чебурнет Российский настанет - что мы/они будут делать?) - а в остальные дистры Linuxa уже влезли все корпорации зла - и Microsoft и Google и т.д. - круг замкнулся - если ещё и Calculate Linux скатится туда же - можно увольняться и менять профессию!..

Давайте попробуем по порядку:

  1. Вы подключили репозиторий и выполнили его синхронизацию;

  2. Давайте попробуем найти интересующий Нас программный пакет, например, Мы предполагаем, что пакет в наименовании содержит “cryptopro”:
    # emerge --search cryptopro

Summary
Local copy of remote index is up-to-date and will be used.
  
[ Results for search key : cryptopro ]
Searching...

*  app-crypt/cryptoprocsp [ Masked ]
      Latest version available: 5.0.12000
      Latest version installed: [ Not Installed ]
      Size of files: 15757 KiB
      Homepage:      http://www.cryptopro.ru
      Description:   Cryptopro package
      License:       Cryptopro

*  dev-haskell/crypto [ Masked ]
      Latest version available: 4.2.5.1-r1
      Latest version installed: [ Not Installed ]
      Size of files: 56 KiB
      Homepage:      https://hackage.haskell.org/package/Crypto
      Description:   Collects together existing Haskell cryptographic functions into a package
      License:       BSD GPL-2

[ Applications found : 2 ]

Как можно видеть, нашелся “app-crypt/cryptoprocsp”, причем сразу видим, что пакет:
[ Masked ]
значит не забываем перед установкой его размаскировать;

  1. Но, давайте для начала узнаем, какие версии содержит этот пакет? Выполняем:
    # equery list -op app-crypt/cryptoprocsp
Summary
 * Searching for cryptoprocsp in app-crypt ...
[--O] [ ~] app-crypt/cryptoprocsp-4.0.9944:0
[--O] [ ~] app-crypt/cryptoprocsp-4.0.9963:0
[--O] [ ~] app-crypt/cryptoprocsp-5.0.11455:0
[--O] [ ~] app-crypt/cryptoprocsp-5.0.12000:0
  1. Для установки версии из пакета следует выдавать следующую команду, например:
    #emerge =app-crypt/cryptoprocsp-4.0.9963

  2. Тогда из всего написанного, можно сделать вывод, что для установки из репозитория linuxbuh “КриптоПро CSP” версии “4.0.9963” следует выполнить следующие действия:

5.1. Размаскируем пакет:
#emerge =app-crypt/cryptoprocsp-4.0.9963 --autounmask-write

5.2. Согласимся с изменениями в конфигурации:
#dispatch-conf

5.3. Непосредственно установим пакет:
#emerge =app-crypt/cryptoprocsp-4.0.9963

  1. Например “ChromiumGOST” не нуждается в размаскировании:

# emerge --search gost

Summary
...
*  www-client/chromium-gost
      Latest version available: 93.0.4577.82
      Latest version installed: [ Not Installed ]
      Size of files: 74271 KiB
      Homepage:      https://github.com/deemru/chromium-gost
      Description:   Chromium с поддержкой ГОСТ
      License:       GPL-3
...

# equery list -op www-client/chromium-gost

Summary
 * Searching for chromium-gost in www-client ...
[--O] [  ] www-client/chromium-gost-89.0.4389.114:0
[--O] [  ] www-client/chromium-gost-90.0.4430.93:0
[--O] [  ] www-client/chromium-gost-91.0.4472.114:0
[--O] [  ] www-client/chromium-gost-93.0.4577.82:0

В e-build’ах он у Вас прописан:

cryptoprocsp-5.0.12000.ebuild

rpm_unpack ifd-rutokens_1.0.4_1.x86_64.rpm

cryptoprocsp-5.0.11455.ebuild

cryptoprocsp-4.0.9963.ebuild

rpm_unpack ifd-rutokens-1.0.1-1.x86_64.rpm

Хмм, оказывается при установке не распаковывается…

А этот ошибкой валится:
# emerge --search ifd-rutokens

Summary
Local copy of remote index is up-to-date and will be used.
  
[ Results for search key : ifd-rutokens ]
Searching...

*  sys-apps/ifd-rutokens [ Masked ]
      Latest version available: 1.0.4
      Latest version installed: [ Not Installed ]
      Size of files: 62 KiB
      Homepage:      https://www.rutoken.ru/
      Description:   https://www.rutoken.ru/
      License:       https://www.rutoken.ru/

[ Applications found : 1 ]

Ошибка такая:
#emerge sys-apps/ifd-rutokens

Summary
Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) sys-apps/ifd-rutokens-1.0.4::linuxbuh
>>> Failed to emerge sys-apps/ifd-rutokens-1.0.4, Log file:
>>>  '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/temp/build.log'
>>> Jobs: 0 of 1 complete, 1 failed                 Load avg: 0.38, 0.39, 0.38
 * Package:    sys-apps/ifd-rutokens-1.0.4
 * Repository: linuxbuh
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
 * FEATURES:   network-sandbox preserve-libs sandbox usersandbox
>>> Unpacking source...
>>> Unpacking ifd-rutokens_1.0.4_1.x86_64.rpm to /var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/work
>>> Source unpacked in /var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/work
 * ERROR: sys-apps/ifd-rutokens-1.0.4::linuxbuh failed (prepare phase):
 *   The source directory '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/work/ifd-rutokens-1.0.4' doesn't exist
 * 
 * Call stack:
 *            ebuild.sh, line  809:  Called __ebuild_main 'prepare'
 *   phase-functions.sh, line 1059:  Called __dyn_prepare
 *   phase-functions.sh, line  385:  Called die
 * The specific snippet of code:
 *   		die "The source directory '${S}' doesn't exist"
 * 
 * If you need support, post the output of `emerge --info '=sys-apps/ifd-rutokens-1.0.4::linuxbuh'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/ifd-rutokens-1.0.4::linuxbuh'`.
 * The complete build log is located at '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/empty'
 * S: '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/work/ifd-rutokens-1.0.4'

 * Messages for package sys-apps/ifd-rutokens-1.0.4:

 * ERROR: sys-apps/ifd-rutokens-1.0.4::linuxbuh failed (prepare phase):
 *   The source directory '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/work/ifd-rutokens-1.0.4' doesn't exist
 * 
 * Call stack:
 *            ebuild.sh, line  809:  Called __ebuild_main 'prepare'
 *   phase-functions.sh, line 1059:  Called __dyn_prepare
 *   phase-functions.sh, line  385:  Called die
 * The specific snippet of code:
 *   		die "The source directory '${S}' doesn't exist"
 * 
 * If you need support, post the output of `emerge --info '=sys-apps/ifd-rutokens-1.0.4::linuxbuh'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/ifd-rutokens-1.0.4::linuxbuh'`.
 * The complete build log is located at '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/empty'
 * S: '/var/calculate/tmp/portage/sys-apps/ifd-rutokens-1.0.4/work/ifd-rutokens-1.0.4'

Нет, не делает, с этим конфигом такая ошибка (5.0.11455):

 /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32
CSP (Type:80)An error occurred in running the program.
/dailybuildsbranches/CSP_5_0r0/CSPbuild/CSP/samples/support/getcspparam.c:46:Can not get CSP param: GetProvParam failed.
Error number 0x8009000a (2148073482).
Указан неправильный тип.

С правильным конфигом так (5.0.11455):

# /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32
CSP (Type:80) v5.0.10003 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 15835203

так для отсталых :grinning:(уже туплю). Где у нас тут на форуме правильный config64.ini? Надо его в ебуйлд запихнуть

Мда, память. ifd-rutokens - брал с сайта рутокена, там только в бинарном виде версия 1,0,4.
Надо сделать ebuild для сборки из сырцов отсюда https://github.com/AktivCo/rutokens-driver/releases
там версии 1,0,5 1,0,6 1,0,7 - почему рутокен не хочет их опакетить вопрос

Залил недоделанный ebuild ifd-rutokens-1.0.4. Доделал. Перезалил.
Хотя ставить ifd-rutokens-1.0.4 отдельно от cryptoprocsp неправильно, так как этот драйвер есть в пакете cryptoprocsp

1.0.5, 1.0.6, 1.0.7 - у меня замечательно скомпилились и установились. Надо смотреть зависимости. На что при сборке ругань?
Собираю так
recobf
configure
make
make install

Хотел было только цитатами отделаться, но ограничение форума на 18 символов действует…

Сорри - почти спал. Спасибо

Сам я ставил из GitHub’а версию 1.0.6 (выше я указывал как), но у Вас в репе тоже нашел рабочую версию 1.0.4, поэтому и указал в инструкции (для простоты установки).

Абсолютли…

# equery files ifd-rutokens          
!!! No installed packages matching 'ifd-rutokens'
* Searching for ifd-rutokens ...

Т.е. устновлен только “КриптоПро CSP” и имеем:

$ /opt/cprocsp/bin/amd64/csptest -keyset -enum_containers -verifycontext -fqcn 
Summary
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:SSSE3. DISABLED:MGM_Auth;GHASH;AESNI;RSA;
AcquireContext: OK. HCRYPTPROV: 20267587
\\.\HDIMAGE\mib
\\.\Aktiv Rutoken lite 00 00\05fa111a-e8f8-427b-ac7a-9f5459ae4566
\\.\Aktiv Rutoken lite 00 00\e6068a32-7e2d-4aeb-8148-e2a281ee7901
OK.
Total: SYS: 0.000 sec USR: 0.120 sec UTC: 0.310 sec
[ErrorCode: 0x00000000]

# equery files cryptoprocsp | grep -i rutoken

Summary
/etc/udev/rules.d/95-rutokens.rules
/opt/cprocsp/lib/amd64/librdrrutoken.so
/opt/cprocsp/lib/amd64/librdrrutoken.so.4
/opt/cprocsp/lib/amd64/librdrrutoken.so.4.0.5
/opt/cprocsp/lib/hashes/cprocsp-rdr-rutoken-64
/opt/cprocsp/share/locale/default/LC_MESSAGES/librdrrutoken.cat
/opt/cprocsp/share/locale/ru_RU.cp1251/LC_MESSAGES/librdrrutoken.cat
/opt/cprocsp/share/locale/ru_RU.cp866/LC_MESSAGES/librdrrutoken.cat
/opt/cprocsp/share/locale/ru_RU.iso88595/LC_MESSAGES/librdrrutoken.cat
/opt/cprocsp/share/locale/ru_RU.koi8r/LC_MESSAGES/librdrrutoken.cat
/opt/cprocsp/share/locale/ru_RU.utf8/LC_MESSAGES/librdrrutoken.cat
/usr/lib64/pcsc/drivers/ifd-rutokens.bundle
/usr/lib64/pcsc/drivers/ifd-rutokens.bundle/Contents
/usr/lib64/pcsc/drivers/ifd-rutokens.bundle/Contents/Info.plist
/usr/lib64/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux
/usr/lib64/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
/usr/lib64/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so.1.0.4

Тут вопрос - как поведет себя cryptoprocsp со свежими дровами rutokens. не зря же он тащит именно версию 1.0.4
Тестить надо.
А так ebuild сделать не сильно сложно для rutokens 1.0.5, 1.0.6 1.0.7

Вопрос ко всем пользователям CryptoProCSP.
Может как оттестим всё что связано с криптопро постучимся к Lautre что-бы он включил все в офф.дерево кальки?
Только придется переделать ebuild (он у меня полузаконный - пакеты тянет с моего ftp, а не с офф.сайта)
И написать прогу по загрузке всех пакетов с офф.сайта на подобии https://github.com/linuxbuh/linuxbuh-1c-installer

1 Like

Господа. Огромная просьба, у кого есть установленная официально поддерживаемая ОС Linux (например Debian) сгенерить полный config64.ini.
Чтобы на картинке были отмечены все пункты
Screenshot_20210922_185332

А то потом будут у остальных вопросы

Обновил chromium-gost до версии 94.0.4606.54

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

Например, здесь сказано в чём отличие.

Я могу сгенерировать, например, для КС1 (это наиболее используемый вариант у пользователей), и приложить.

config64.ini (33.4 КБ)

Спойлер

Screenshot_20210925_161741

С загрузкой дистрибутивов СКЗИ всегда были вопросы, например, пояснения сотрудников на форуме КриптоПро.