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

Подумать ?!?!

Не! Я ведь не обладаю и всё такое…!
Так что вернее будет всё же, довести дело “дяденьки” не юмориста до финала?
Не?
Ибо, *.ebuild, писать / корректировать это ведь надо Знаниями обладать!
А они у меня откуда ?!
Подскажите уже?
Что и где править ?
Будьте так любезны…

В том то и дело, что…
в *.ebuild, в блоке:

pkg_postinst() {

    chmod -R 777 /var/opt/cprocsp
    touch /etc/debian_version
    echo "jessie/sid" > /etc/debian_version
    cp -f ${FILESDIR}/config64.ini /etc/opt/cprocsp/config64.ini
    cp -f ${FILESDIR}/license.ini /etc/opt/cprocsp/license.ini
    **mkdir /var/opt/cprocsp && mkdir /var/opt/cprocsp/tmp**
    if test -z "";then
        if ! grep -q '/opt/cprocsp/lib/amd64' /etc/ld.so.conf;then
        echo "/opt/cprocsp/lib/amd64" > /etc/ld.so.conf.d/cprocsp-lib-amd64.conf
        fi
        /sbin/ldconfig -f /etc/ld.so.conf
    fi
    /bin/bash ${FILESDIR}/addcerts.sh
    rc-update add cprocsp default
    /etc/init.d/cprocsp start

уже имеется строка:

mkdir /var/opt/cprocsp && mkdir /var/opt/cprocsp/tmp

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

pkg_postinst() {

    chmod -R 777 /var/opt/cprocsp
    touch /etc/debian_version
    echo "jessie/sid" > /etc/debian_version
    cp -f ${FILESDIR}/config64.ini /etc/opt/cprocsp/config64.ini
    cp -f ${FILESDIR}/license.ini /etc/opt/cprocsp/license.ini
    mkdir /var/opt/cprocsp && mkdir /var/opt/cprocsp/tmp
    chmod 1777 /var/opt/cprocsp/tmp
    if test -z "";then
        if ! grep -q '/opt/cprocsp/lib/amd64' /etc/ld.so.conf;then
        echo "/opt/cprocsp/lib/amd64" > /etc/ld.so.conf.d/cprocsp-lib-amd64.conf
        fi
        /sbin/ldconfig -f /etc/ld.so.conf
    fi
    /bin/bash ${FILESDIR}/addcerts.sh
    rc-update add cprocsp default
    /etc/init.d/cprocsp start

}

Верно ?

Так и опять же, Уважаемый…!
Мне как совершенному не специалисту, который вАААще не знает, что такое Gentoo Linux, откуда же уЗнать, про
Please fix the ebuild to use correct FHS/Gentoo policy paths.
И слова в этой фразе ключевые(ИМХО)… FHS/Gentoo policy paths!
Стало быть Политика в отношении конкретной OS Gentoo Linux, всё же имеет место быть!
И отсюда и “борется” Она(Системная политика) с подобными пустыми каталогами.

[offtop]
А вот OS Calculate Linux, сие не зачем! И так сойдёт…
То то я тут вот как-то пытался на сторонней машине, на которой установлен Calculate Linux, дать команду:

#init 6

А так как я мало-грамотный, в части софта и кода, то откуда же мне знать…?!
Что данная команда, должна таки перезагрузить OS, установленную на данном компьютере!!
И вот таки беда…беда бедовая!!!
Так команда эта, так и команда:

#init 0

Не смогли в данной OS Calculate Linux, ничего отработать.
Зато, кликая на “кнопку” “Перезагрузить ПК”(Он же reboot), и/или на “кнопку” “Выключить ПК”, указанная OS, таки успешно “выГлючила” и/или отправила ПК на перезагрузку!!
Т.е. коротко —> Команды из “строки”(консоли), как бы и не команды вовсе!
А вот клик по “какой-то там” “кнопке”… Это конечно наивысший приоритет!
Что-то мне опять же как не специалисту напомнило…?!
Вот уже и не помню, была или есть ещё такая ОС форточка, не слышали про такую ?
Так и понятно почему!
Ведь тот кто давал команды эти, не знал и не мог знать, о том, что…
На любой OS LINUX-Based установленной и/или загруженной с носителя системе, ВСЁ
начинается и заканчивается именно этим(init) демоном.
Но, ведь я то этого совсем не знаю.
И вот вопрос:
Что Вы полагаете, сделал тот человек, кто работал с данной OS Calculate Linux, следующим шагом? Угадаете с одной попытки?

Ну вот!
Почти совсем Хорошо…
Однако, всё же не желает полноценно запускаться…

cat /var/db/repos/localrepo/app-crypt/cprocsp/cprocsp-5.0.13600.ebuild
emerge -av =app-crypt/cprocsp-5.0.13600
/opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32

Если я правильно понимаю, то вот из-за этого,

 QA Notice: .desktop files with MimeType= were found installed
 * but desktop mimeinfo cache has not been updated:
 *   /usr/share/applications/cptools.desktop
 * Please make sure to call xdg_desktop_database_update()
 * in pkg_postinst() and pkg_postrm() phases of appropriate pkgs.

Корректно работать сервис не желает?
Ибо, в остальной части кода, ошибки совсем отсутствуют!
Т.е. необходимо вписать в *.ebuild, в соответствующие блоки:
pkg_postinst() and pkg_postrm()
Строку:

xdg_desktop_database_update()

?

Так я так уже и сделал!
Однако, если Вы ещё раз рекомендуете ?
Хорошо! Сейчас прогоню ещё раз!

Ну теперь уже и варианты закончились!
Однако, в части сервиса - Он как бы работает, я так понимаю…

$ /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32
CSP (Type:80) v5.0.10014 KC1 Release Ver:5.0.13600 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
CryptAcquireContext succeeded.HCRYPTPROV: 800485011
GetProvParam(...PP_ENUMREADERS...) until it returns false
Flags: 0x20
  Len    Byte  NickName/Name/Media
___________________________________
 0x022d  0x00  HDIMAGE
               HDD key storage
               NO_UNIQUE
 0x022d  0x02  CLOUD
               Облачный токен
               NO_MEDIA
Cycle exit when getting data. 2 items found. Level completed without problems.
Total: SYS: 0,000 sec USR: 0,010 sec UTC: 0,040 sec
[ErrorCode: 0x00000000]

Только вот, после запуска непосредственно сервиса

$/opt/cprocsp/bin/amd64/cptools

Во вкладках: “Контейнеры” и “Сертификаты”, так ничего и не появляется, в момент установки в любой из usb-портов, РУ-Токен носителя с записанными на нём ЭП.
То, что ЭП - рабочие! Нет необходимости сомневаться… Так как рядом стоит аналогичная машина и по железу и с Gentoo Linux, где кстати на УРА! Прошла установка из предыдущей версии *.ebuild, с версией КриптоПРО CSP 13455. Система обновляется и работоспособно и само СКЗИ, и ЭП так же работоспособны!
А здесь вот и они же - пока что нет…

Надеюсь и сам и уповаю на него же!! Т.е. на положительный результат!!
Отпишусь конечно же…

И не просто не получилось!!
А не получилось с тем же *.ebuild !!
И вся разница между установкой на одной машине и на другой, в том, что на текущей машине, ssd, таки неожиданно стал сыпаться((
Пришлось срочно приобретать другой и соответственно переустанавливать ОС.
Ну и далее…всё то о чем и с чего продолжилась наша с Вами переписка.

Я зафиксировал лишь то, что уже на неоднократно установленном СКЗИ Крипто ПРО CSP, лично у меня!! Работает что называется с ходу!
Ну бывало там… лицензию надо ввести и/или перегрузить машину…
НО! Не более того!!
Т.е. контейнеры с КЭП, подхватываются - с ходу!

Как скажете, Уважаемый…
Хотя конечно же согласен!!
Сервис - это когда www… login + password = Доступ
А здесь всё же приложение = графическая утилита.

А я таки за ШО!
Радость!!! Не иначе…

И где именно про запуск этого ключевого элемента необходимо указать ?
Непосредственно пакет в системе - установлен!
Это я точно знаю!!
А вот его запуск, в какой части *.ebuild ?
Или его не в *.ebuild ? Или его только непосредственно в системе в автозагрузку добавить необходимо ?

#rc-update add pcscd default
#rc-service pcscd status
 * status: stopped
#rc-service pcscd restart
#rc-service pcscd status
 * status: started

Забыл я за эту важную компоненту для полноценной работы СКЗИ…((
Сейчас уже в норме! Вы напомнили…
Благодарю!

Это как это…?!
А для чего тогда этот пакет устанавливается в процессе установки непосредственно КриптоПРО CSP и в соответствующую группу, вместе с другим пакетом добавляется…!!

#eix pcscd
[I] acct-group/pcscd
     Доступные версии:      0-r3
     Установленные версии:  0-r3(18:24:37 20.08.2025)
     Описание:              System group: pcscd

[I] acct-user/pcscd
     Доступные версии:      0-r3
     Установленные версии:  0-r3(18:24:43 20.08.2025)
     Описание:              A user for pcsc-lite

Ну так… МЫ наверняка об одном и том же?! Но, с разных сторон…
Я за то, что ЭП не видны!! И работать с ними нет никакой возможности, пока pcscd - не установлена / не запущена! Как сейчас например…
А если Вы про то, что данная утилита не входит в комплект поставки / установки непосредственно КриптоПРО CSP !
Так я таки и не подразумевал за это.

Радую Результатом…
Положительным Результатом!!!

УРА! УРА! УРА!

Итоги, я конечно же “подобью”…
В том смысле, чтобы другим желающим ознакомиться и прочувствовать “Как Это…Бавает!?”
Было немного проще, чем Вам да и мне заодно!
Т.е. скомплектую в один пост, все основные этапы и настройку.
Теперь уже и полноценно, в Gentoo Linux!

За сим откланиваюсь…
И в очередной раз, Вас конечно же - Благодарю за Помощь и Сотрудничество!!
По решению как выяснилось всё же не такого простого Процесса, как например и всё же попроще будет, именно в Calculate Linux, в отличие от Прародителя.

Добрый день! Где про итоги почитать или здесь ждать? Очень хотелось бы подробную инструкцию по данному вопросу, так как дело очень нужное для учреждений. Спасибо!

Добрый день.
Да, из-за нехватки времени, только сейчас выкладываю *.ebuild, версия 13600.

# Copyright 1999-2025 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=8

inherit rpm

DESCRIPTION="Cryptopro package"
HOMEPAGE="http://www.cryptopro.ru"
SRC_URI="amd64? ( linux-amd64.tgz )"

LICENSE="Cryptopro"
SLOT="0"
KEYWORDS="amd64"
IUSE="+kc1 +gui_gtk +readers +cptools stunnel +pkcs11 +import_ca +plugin +certprop +ifd-rutokens"

REQUIRED_USE="
    gui_gtk? ( kc1 )
    readers? ( kc1 )
    cptools? ( kc1 )
    pkcs11? ( kc1 )
    import_ca? ( kc1 )
    plugin? ( gui_gtk )
    "

DEPEND="
    sys-apps/pcsc-tools
    sys-apps/pcsc-lite
    sys-apps/lsb-release
    app-crypt/ccid
    app-arch/rpm2targz
    "

RDEPEND="${DEPEND}"

RESTRICT="mirror strip"

src_unpack () {

    unpack ${A}
    mkdir ${S}
    SUFF="${PV}-7"
    cd ${WORKDIR}

    if use kc1; then
    rpm_unpack ./linux-amd64/lsb-cprocsp-kc1-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/lsb-cprocsp-base-${SUFF}.noarch.rpm
    rpm_unpack ./linux-amd64/lsb-cprocsp-capilite-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/lsb-cprocsp-rdr-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-curl-64-${SUFF}.x86_64.rpm
    fi

    if use gui_gtk; then
    rpm_unpack ./linux-amd64/cprocsp-rdr-gui-gtk-64-${SUFF}.x86_64.rpm
    fi

    if use readers; then
    rpm_unpack ./linux-amd64/cprocsp-rdr-pcsc-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-emv-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-inpaspot-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-kst-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-mskey-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-novacard-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-edoc-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-rutoken-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-cloud-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-cpfkc-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-infocrypt-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-rosan-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-cryptoki-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-esmart-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-jacarta-64-${SUFF}.x86_64.rpm
    rpm_unpack ./linux-amd64/cprocsp-rdr-relay-64-${SUFF}.x86_64.rpm
    fi

    if use cptools; then
    rpm_unpack ./linux-amd64/cprocsp-cptools-gtk-64-${SUFF}.x86_64.rpm
    fi

    if use pkcs11; then
    rpm_unpack ./linux-amd64/lsb-cprocsp-pkcs11-64-${SUFF}.x86_64.rpm
    fi

    if use import_ca; then
    rpm_unpack ./linux-amd64/lsb-cprocsp-ca-certs-${SUFF}.noarch.rpm
    rpm_unpack ./linux-amd64/lsb-cprocsp-import-ca-certs-${SUFF}.noarch.rpm
    fi

    if use plugin; then
    local pki_rpms=(
        cprocsp-pki-cades-64-2.0.15500-1.amd64.rpm
        cprocsp-pki-phpcades-2.0.15500-1.noarch.rpm
        cprocsp-pki-plugin-64-2.0.15500-1.amd64.rpm
    )
    for rpm in "${pki_rpms[@]}"; do
        rpm_unpack ./linux-amd64/${rpm} || die "Failed to unpack ${rpm}"
    done
    fi

#    if use plugin; then
#	for i in "./cprocsp-pki-${PV}-1.amd64.rpm; do
#	    rpm_unpack ${i}
#	done
#    fi

    if use certprop; then
    rpm_unpack ./linux-amd64/cprocsp-certprop-64-${SUFF}.x86_64.rpm
    fi

#    if use ifd-rutokens; then
#    rpm_unpack ./linux-amd64/ifd-rutokens_1.0.4_1.x86_64.rpm
#    fi

    rm -r ./linux-amd64/

}

src_install() {

    cd ${WORKDIR}
    mv * "${D}"
    rm -f "${D}/etc/init.d/cprocsp"
    cp -f "${FILESDIR}/cprocsp" "${D}/etc/init.d/cprocsp"
    
    keepdir /var/opt/cprocsp/dsrf
    keepdir /var/opt/cprocsp/dsrf/db1
    keepdir /var/opt/cprocsp/dsrf/db2
    keepdir /var/opt/cprocsp/keys
    keepdir /var/opt/cprocsp/lmk
    keepdir /var/opt/cprocsp/tmp
    keepdir /var/opt/cprocsp/users/stores
}

pkg_postinst() {

    touch /etc/debian_version
    echo "jessie/sid" > /etc/debian_version
    cp -f ${FILESDIR}/config64.ini /etc/opt/cprocsp/config64.ini
    cp -f ${FILESDIR}/license.ini /etc/opt/cprocsp/license.ini
    mkdir -p /var/opt/cprocsp/tmp
    chmod -R 777 /var/opt/cprocsp
    
    if test -z "";then
        if ! grep -q '/opt/cprocsp/lib/amd64' /etc/ld.so.conf;then
        echo "/opt/cprocsp/lib/amd64" > /etc/ld.so.conf.d/cprocsp-lib-amd64.conf
        fi
        /sbin/ldconfig -f /etc/ld.so.conf
    fi
    /bin/bash ${FILESDIR}/addcerts.sh
    rc-update add cprocsp default
    /etc/init.d/cprocsp start
    #xdg_desktop_database_update()
}

pkg_prerm ()  {

    /etc/init.d/cprocsp stop
    rc-update del cprocsp default
    rm -Rv /etc/init.d/cprocsp
    rm -Rv /etc/debian_version
    rm -Rv /etc/opt/cprocsp 
    #xdg_desktop_database_update()

Обратите внимание, что прилагаемый вариант *.ebuild, исключительно для OS Gentoo.
И так как было описано выше, отличается от *.ebuild для OS Calculate-Linux.
Тем самым я ещё раз(см.выше мною приложенные выводы из консоли), я лично и на фактах, убеждаюсь в отсутствии 100% совместимости Родителя(OS Gentoo) и OS Calculate-Linux.
Для чего я и пытался и далее не оставляю затею и свои же посты здесь и здесь, на тему Создания и корректировки *.ebuild - файлов.
При этом необходимо учесть, ещё один не маловажный момент. С одной стороны есть мнение, что(якобы) от версии к версии, *.ebuild не меняется. Однако, это утверждение если и может касаться, то только варианта для OS Calculate Linux. Касательно же OS Gentoo, смею настаивать на обратном. Таким образом для OS Gentoo, как из-за внутренней системы контроля за всеми *.ebuild (FHS/Gentoo policy paths!), так и в частности для =app-crypt/cprocsp-5.0.13600.ebuild, который и опубликован. Действует указанная ранее система контроля OS Gentoo. И потому, то что я описывал ранее здесь. При переходе / установке следующей версии данного *.ebuild, только смены версии имени *.ebuild, на новую версию, может быть не достаточно для OS Gentoo, но одновременно достаточно для OS Calculate-Linux. Повторюсь(!) ЭТО необходимо учесть. Совершенно отдельный вопрос - что является тому причиной ? Который я так же изучаю…
Если всё же Вас не устраивает (почему-то) не устанавливается описанный выше *.ebuild, в Вашей OS, то сначала стоит видимо определиться какая OS, установлена у Вас ?
И уже затем, пытаться доработать текущий *.ebuild, или как описано было выше, взять аналогию с оверлея mva. Но, это уже совсем другая история.