|
Fellix |
|
|
Статус: Новичок Группы: Участники
|
Здравствуйте. Не получается установить КриптоПро 5.0 на Ubuntu 18.04. sudo ./install.sh Error: the following packages are not available in the current directory: |
![]() |
|
|
Александр Лавник |
|
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: Fellix Здравствуйте. Не получается установить КриптоПро 5.0 на Ubuntu 18.04. sudo ./install.sh Error: the following packages are not available in the current directory: Здравствуйте. Вероятно, Вы пытаетесь использовать для установки дистрибутив КриптоПро CSP, который не предназначен для Вашей операционной системы. |
|
Техническую поддержку оказываем тут |
|
![]() |
|
| Пользователи, просматривающие эту тему |
|
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
|
Sasha_help |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 37 раз |
/opt/cprocsp/bin/amd64/certmgr –inst – cont ‘\.Aktiv Rutoken lite 0имя контейнера’ [ErrorCode: 0x00000667] |
![]() |
|
|
Александр Лавник |
|
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: Sasha_help /opt/cprocsp/bin/amd64/certmgr –inst – cont ‘\.Aktiv Rutoken lite 0имя контейнера’ [ErrorCode: 0x00000667] Пакеты переустанавливали, как я описал ранее? |
|
Техническую поддержку оказываем тут |
|
![]() |
|
|
Sasha_help |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 37 раз |
Да все сделали, результат тот же |
![]() |
|
|
Sasha_help |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 37 раз |
Может быть связано что ставим несертифицированную версию R5? |
![]() |
|
|
Sasha_help |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 37 раз |
При попытке поставить R4 пишет такую ошибку, un все стер |
![]() |
|
|
Александр Лавник |
|
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: Sasha_help При попытке поставить R4 пишет такую ошибку, un все стер Используйте скрипт install.sh, а не install_gui.sh. |
|
Техническую поддержку оказываем тут |
|
![]() |
|
|
Sasha_help |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 37 раз |
Так и делаем) |
![]() |
|
|
Sasha_help |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 37 раз |
поставил версию R3 тестовый контейнер создался на ключе, все круто |
![]() |
|
|
Александр Лавник |
|
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: Sasha_help поставил версию R3 тестовый контейнер создался на ключе, все круто Попробуйте команду без autoprov: /opt/cprocsp/bin/amd64/csptestf -absorb -certs |
|
Техническую поддержку оказываем тут |
|
![]() |
|
|
|
Sasha_help
оставлено 05.04.2019(UTC) |
|
Sasha_help |
|
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 37 раз |
Спасибо Вам за Ваше терпение, все получилось)))) |
![]() |
|
| Пользователи, просматривающие эту тему |
|
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Для работы нужна электронная подпись. Ключ — USB флешка. Для подписания документов нужна программа КриптоПро CSP 4.0 R3 — она есть в deb и rpm. В АУРЕ нет. Точно нет. Да искал. Нет не нашел.
Суть проблемы — скачал программу, формат linux-ia32_deb.tgz 
Открываем install.sh и видим, то ли лицензию, то ли предупреждение и, как я понял (честно — не понял) инструкцию на исполнение установки, или как это называется
COMPAT_VERSION=«1.0.0-1»
VERSION=«4.0.*-5»
PACKAGE_NAMES=»»
FROM_REPO=0
# Exit codes.
SUCCESS=0
FAILURE=1
PACKAGES_NOT_AVAILABLE=2
parse_args() {
_enclosure=«kc1»
while! [ -z «$1» ]; do
case «$1» in
«kc1»)
;;
«kc2»)
_enclosure=«kc2»
;;
«—from-repo»)
FROM_REPO=1
;;
«-help»|»—help»)
show_help
exit «${SUCCESS}»
;;
*)
_additional_packages=»$*»
break
;;
esac
shift
done
PACKAGE_NAMES=«lsb-cprocsp-base
lsb-cprocsp-rdr lsb-cprocsp-${_enclosure} lsb-cprocsp-capilite cprocsp-curl
lsb-cprocsp-ca-certs
${_additional_packages}»
}
show_help() {
echo «
usage: ./install.sh [kc1|kc2] [package […]]
kc1: install kc1 packages (by default)
kc2: install kc2 packages
[package […]]: list of additional packages»
}
which_architecture() {
machine_architecture=»$(uname -m)»
case «${machine_architecture}» in
«x86_64»|«amd64»|«ppc64»|«ppc64le»)
bits_postfix=»-64″
;;
*)
bits_postfix=»»
;;
esac
case «${machine_architecture}» in
arm*)
is_arm=1
;;
*)
is_arm=0
;;
esac
}
check_if_debian_system() {
if [ -f /etc/debian_version ] ||
grep Ubuntu /etc/lsb-release > /dev/null 2>&1
then
is_debian_system=1
else
is_debian_system=0
fi
}
check_release_attributes() {
if ls ./lsb-cprocsp-base*.deb > /dev/null 2>&1; then
is_debian_release=1
else
is_debian_release=0
fi
if ls ./lsb-cprocsp-base*.rpm > /dev/null 2>&1; then
is_rpm_release=1
else
is_rpm_release=0
fi
if ls ./lsb-cprocsp-rdr-64* > /dev/null 2>&1; then
is_64_release=1
else
is_64_release=0
fi
}
# Use dpkg or alien on debian systems, otherwise use rpm.
set_inst_cmd() {
if [ «${is_debian_system}» -eq 1 ]; then
if [ «${is_debian_release}» -eq 1 ]; then
inst_cmd=«dpkg -i»
else
inst_cmd=«alien -kci»
fi
else
if [ «${is_rpm_release}» -eq 1 ]; then
inst_cmd=«rpm -i»
else
echo «Error: you are trying to install debian packages on not debian package system»
exit «${FAILURE}»
fi
fi
}
# The release variables are used to construct full names of packages.
set_release_variables() {
if [ «${is_debian_system}» -eq 1 ] &&
[ «${is_debian_release}» -eq 1 ]
then
first_delimeter=»_»
noarch=«all»
second_delimeter=»_»
extension=».deb»
else
first_delimeter=»-«
noarch=«noarch»
second_delimeter=».»
extension=».rpm»
fi
case «${machine_architecture}» in
# Enforce to install 64-bit packages on 64-bit system.
«x86_64»|«amd64»)
if [ «${is_debian_system}» -eq 1 ] &&
[ «${is_debian_release}» -eq 1 ]
then
arch=«amd64»
else
arch=«x86_64»
fi
;;
«ppc64»|«ppc64le»)
arch=»${machine_architecture}»
;;
arm*|«mips»)
arch=»${noarch}»
;;
*)
if [ «${is_debian_system}» -eq 1 ] &&
[ «${is_debian_release}» -eq 1 ]
then
arch=«i386»
elif ls ./*.i686.rpm > /dev/null 2>&1; then
arch=«i686»
else
arch=«i486»
fi
;;
esac
}
lsb_warning() {
echo «Warning: lsb-core or lsb-compat package not installed — installing cprocsp-compat-debian.
If you prefer to install system lsb-core or lsb-compat package then
* uninstall CryptoPro CSP
* install lsb-core or lsb-compat manually
* install CryptoPro CSP again
»
}
construct_compat_package() {
if [ -f /etc/cp-release ]; then
if grep Gaia /etc/cp-release > /dev/null 2>&1; then
_distr=«gaia»
else
_distr=«splat»
fi
elif [ -f /etc/altlinux-release ]; then
_distr=«altlinux${bits_postfix}»
elif [ -f /etc/os-rt-release ]; then
_distr=«osrt${bits_postfix}»
elif [ «${is_arm}» -eq 1 ]; then
_distr=«armhf»
elif [ «${is_debian_system}» -eq 1 ]; then
if dpkg -s lsb-core > /dev/null 2>&1 ||
dpkg -s lsb-compat > /dev/null 2>&1
then
compat_package=»»
return
else
lsb_warning
_distr=«debian»
fi
else
compat_package=»»
return
fi
compat_package=«cprocsp-compat-
${_distr}
${first_delimeter}
${COMPAT_VERSION}
${second_delimeter}
${noarch}
${extension}»
}
construct_other_packages() {
other_packages=»»
_absent=»»
for _name in ${PACKAGE_NAMES}; do
_package=»${_name}»
if [ «${is_64_release}» -eq 1 ]; then
_package=»${_package}${bits_postfix}»
fi
_package=»${_package}
${first_delimeter}
${VERSION}
${second_delimeter}
${arch}
${extension}»
# There are several packages which are NOT architecture-specific,
# e.g. lsb-cprocsp-base, lsb-cprocsp-ca-certs and devel-packages.
# If the architecture-specific package is not found, try to install
# the noarch package.
# shellcheck disable=SC2086
if! [ -f ${_package} ]; then
_package=»${_name}
${first_delimeter}
${VERSION}
${second_delimeter}
${noarch}
${extension}»
fi
# Even the noarch package wasn’t found.
# shellcheck disable=SC2086
if! [ -f ${_package} ]; then
_absent=»${_absent} ${_name}»
else
other_packages=»${other_packages} ${_package}»
fi
done
if! [ -z «${_absent}» ]; then
echo «Error: the following packages are not available in the current directory:»
echo «${_absent}» | xargs -n1 echo «*»
exit «${PACKAGES_NOT_AVAILABLE}»
fi
}
construct_list_of_packages() {
packages=»»
construct_compat_package
packages=»${packages} ${compat_package}»
# Other packages are the base packages and additional packages
# specified by command-line arguments.
construct_other_packages
packages=»${packages} ${other_packages}»
# Remove duplicate packages.
packages=»$(
echo «${packages}»
| awk ‘{for(i=1;i<=NF;i++)if(!a[$i]++)print $i}’ | xargs
)»
}
check_fail() {
echo «Error: installation failed. LSB package may not be installed.
Install LSB package and reinstall CryptoPro CSP. If it does not help, please
read installation documentation or contact the manufacturer: support@cryptopro.ru.»
exit «$1»
}
# Install packages one at a time before capilite, then batch install.
install_packages() {
while! [ -z «${packages}» ]; do
_head=»$(echo «${packages}» | awk ‘{print $1}’)»
_tail=»$(echo «${packages}» | awk ‘{for(i=2;i<=NF;i++)print $i}’ | xargs)»
echo «Installing ${_head}…» >&2
# shellcheck disable=SC2086
${inst_cmd} ${_head} >&2 || check_fail «$?»
if echo «${_head}» | grep capilite > /dev/null 2>&1 &&
! [ -z «${_tail}» ]
then
echo «Installing ${_tail}…» >&2
# shellcheck disable=SC2086
${inst_cmd} ${_tail} >&2 || check_fail «$?»
return
fi
packages=»${_tail}»
done
}
construct_list_of_packages_from_repository() {
_tmp_repo=»$(mktemp)»
# Если файл со списком пакетов в репозитории существует и единственный, то скопировать его во временный файл _tmp_repo.
# shellcheck disable=SC2144
if [ -f /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages* ]; then
cp /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages* «${_tmp_repo}»
fi
# Если lz-архив со списком пакетов в репозитории существует и единственный, то разархивировать его во временный файл _tmp_repo.
# shellcheck disable=SC2144
if [ -f /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages*.lz ]; then
lzip -d -c /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages*.lz > «${_tmp_repo}»
fi
packages=»»
_absent=»»
for _name in ${PACKAGE_NAMES}; do
_package=»${_name}${bits_postfix}»
if! grep ‘Package:’ «${_tmp_repo}» | grep «${_package}» > /dev/null 2>&1
then
_package=»${_name}»
fi
if! grep ‘Package:’ «${_tmp_repo}» | grep «${_package}» > /dev/null 2>&1
then
_absent=»${_absent} ${_name}»
else
packages=»${packages} ${_package}»
fi
done
rm -f «${_tmp_repo}»
if! [ -z «${_absent}» ]; then
echo «Error: the following packages are not available in the current repository:»
echo «${_absent}» | xargs -n1 echo «*»
exit «${PACKAGES_NOT_AVAILABLE}»
fi
# Remove duplicate packages.
packages=»$(
echo «${packages}»
| awk ‘{for(i=1;i<=NF;i++)if(!a[$i]++)print $i}’ | xargs
)»
}
main() {
if [ «$(id -u)» -ne 0 ]; then
echo «Error: this script must be run as root»
exit «${FAILURE}»
fi
cd «$(dirname «$0″)» || check_fail «$?»
parse_args «$@»
which_architecture
if [ «${FROM_REPO}» -eq 1 ]; then
construct_list_of_packages_from_repository
sh ./uninstall.sh >&2 || check_fail «$?»
# shellcheck disable=SC2086
apt-get —yes install ${packages} >&2 || check_fail «$?»
echo «CSP packages have been successfully installed from a repository»
exit «${SUCCESS}»
fi
check_if_debian_system
check_release_attributes
set_inst_cmd
set_release_variables
construct_list_of_packages
sh ./uninstall.sh >&2 || check_fail «$?»
install_packages
echo «CSP packages have been successfully installed»
exit «${SUCCESS}»
}
main «$@»
.
И собственно вопрос, как мне из всего этого собрать пакет для установки программы?
I am try ing to install symfit on a MacBook Pro M1 using miniforge, for processor compatibility as pip3 install symfit results into errors. However, when running conda install -c conda-forge symfit, I get:
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
- symfit
Current channels:
- https://conda.anaconda.org/conda-forge/osx-arm64
- https://conda.anaconda.org/conda-forge/noarch
- https://conda.anaconda.org/conda/osx-arm64
- https://conda.anaconda.org/conda/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
When doing so, I find that symfit is available in the conda-forge channel! Why can’t it be installed from the command line?
merv
61.7k11 gold badges174 silver badges233 bronze badges
asked Jul 29, 2021 at 16:18
1
At the time of the question, the Conda Forge feedstock for symfit was not building for osx-arm64 platform. After an issue being filed on the feedstock, one of the maintainers updated the feedstock to generate noarch builds (platform agnostic). So, starting with version 0.5.3, what OP attempted should just work.
conda install -c conda-forge symfit
The lesson here is: Conda Forge is an open platform, so if you find something not being built, please reach out to the feedstocks or submit a Pull Request. The community depends on active feedback from users to improve.
answered Sep 21, 2021 at 21:09
mervmerv
61.7k11 gold badges174 silver badges233 bronze badges
UPDATE:
this answer was posted before OP changed to use the correct conda install -c conda-forge symfit command!
- turns out at the time of question
symfithas no build for «OSX_arm64» which is why the command fails
because conda install will try to install the module from the default channel…
you have to explicitly tell conda to use conda-forge!
conda install -c conda-forge symfit
-> check the doc!! https://symfit.readthedocs.io/en/stable/installation.html
answered Jul 29, 2021 at 16:26
raphaelraphael
1,81514 silver badges18 bronze badges
9
@jjhelmus I tried in anaconda prompt as well and the packages list for me same as you.
`(opencv) C:Userszilch>conda install -c conda-forge opencv
Collecting package metadata (current_repodata.json): done
Solving environment: done
Package Plan
environment location: C:Userszilchanaconda3envsopencv
added / updated specs:
— opencv
The following packages will be downloaded:
package | build
---------------------------|-----------------
ca-certificates-2020.6.20 | hecda079_0 184 KB conda-forge
certifi-2020.6.20 | py38h32f6830_0 151 KB conda-forge
freetype-2.10.2 | hd328e21_0 490 KB conda-forge
icu-67.1 | h33f27b4_0 16.1 MB conda-forge
intel-openmp-2020.1 | 216 1.6 MB
jpeg-9d | he774522_0 344 KB conda-forge
libblas-3.8.0 | 16_mkl 3.6 MB conda-forge
libcblas-3.8.0 | 16_mkl 3.6 MB conda-forge
libclang-10.0.1 |default_hf44288c_1 22.0 MB conda-forge
liblapack-3.8.0 | 16_mkl 3.6 MB conda-forge
liblapacke-3.8.0 | 16_mkl 3.6 MB conda-forge
libopencv-4.4.0 | py38_2 45.8 MB conda-forge
libpng-1.6.37 | ha81a0f5_2 763 KB conda-forge
libtiff-4.1.0 | h885aae3_6 1020 KB conda-forge
libwebp-base-1.1.0 | hfa6e2cd_3 356 KB conda-forge
lz4-c-1.9.2 | h62dcd97_2 279 KB conda-forge
mkl-2020.1 | 216 99.3 MB
numpy-1.19.1 | py38h72c728b_0 4.9 MB conda-forge
opencv-4.4.0 | py38_2 20 KB conda-forge
openssl-1.1.1h | he774522_0 5.8 MB conda-forge
pip-20.2.3 | py_0 1.1 MB conda-forge
py-opencv-4.4.0 | py38h23f93f0_2 22 KB conda-forge
python-3.8.5 |h60c2a47_9_cpython 18.9 MB conda-forge
python_abi-3.8 | 1_cp38 4 KB conda-forge
qt-5.12.6 | hb2cf2c5_0 106.2 MB conda-forge
setuptools-49.6.0 | py38h32f6830_1 951 KB conda-forge
sqlite-3.33.0 | he774522_0 1.2 MB conda-forge
vc-14.1 | h869be7e_1 6 KB conda-forge
vs2015_runtime-14.16.27012 | h30e32a0_2 2.2 MB conda-forge
wheel-0.35.1 | pyh9f0ad1d_0 29 KB conda-forge
wincertstore-0.2 | py38_1003 13 KB conda-forge
xz-5.2.5 | h62dcd97_1 211 KB conda-forge
zlib-1.2.11 | h62dcd97_1009 126 KB conda-forge
zstd-1.4.5 | h1f3a1b7_2 887 KB conda-forge
------------------------------------------------------------
Total: 344.9 MB
The following NEW packages will be INSTALLED:
ca-certificates conda-forge/win-64::ca-certificates-2020.6.20-hecda079_0
certifi conda-forge/win-64::certifi-2020.6.20-py38h32f6830_0
freetype conda-forge/win-64::freetype-2.10.2-hd328e21_0
icu conda-forge/win-64::icu-67.1-h33f27b4_0
intel-openmp pkgs/main/win-64::intel-openmp-2020.1-216
jpeg conda-forge/win-64::jpeg-9d-he774522_0
libblas conda-forge/win-64::libblas-3.8.0-16_mkl
libcblas conda-forge/win-64::libcblas-3.8.0-16_mkl
libclang conda-forge/win-64::libclang-10.0.1-default_hf44288c_1
liblapack conda-forge/win-64::liblapack-3.8.0-16_mkl
liblapacke conda-forge/win-64::liblapacke-3.8.0-16_mkl
libopencv conda-forge/win-64::libopencv-4.4.0-py38_2
libpng conda-forge/win-64::libpng-1.6.37-ha81a0f5_2
libtiff conda-forge/win-64::libtiff-4.1.0-h885aae3_6
libwebp-base conda-forge/win-64::libwebp-base-1.1.0-hfa6e2cd_3
lz4-c conda-forge/win-64::lz4-c-1.9.2-h62dcd97_2
mkl pkgs/main/win-64::mkl-2020.1-216
numpy conda-forge/win-64::numpy-1.19.1-py38h72c728b_0
opencv conda-forge/win-64::opencv-4.4.0-py38_2
openssl conda-forge/win-64::openssl-1.1.1h-he774522_0
pip conda-forge/noarch::pip-20.2.3-py_0
py-opencv conda-forge/win-64::py-opencv-4.4.0-py38h23f93f0_2
python conda-forge/win-64::python-3.8.5-h60c2a47_9_cpython
python_abi conda-forge/win-64::python_abi-3.8-1_cp38
qt conda-forge/win-64::qt-5.12.6-hb2cf2c5_0
setuptools conda-forge/win-64::setuptools-49.6.0-py38h32f6830_1
sqlite conda-forge/win-64::sqlite-3.33.0-he774522_0
vc conda-forge/win-64::vc-14.1-h869be7e_1
vs2015_runtime conda-forge/win-64::vs2015_runtime-14.16.27012-h30e32a0_2
wheel conda-forge/noarch::wheel-0.35.1-pyh9f0ad1d_0
wincertstore conda-forge/win-64::wincertstore-0.2-py38_1003
xz conda-forge/win-64::xz-5.2.5-h62dcd97_1
zlib conda-forge/win-64::zlib-1.2.11-h62dcd97_1009
zstd conda-forge/win-64::zstd-1.4.5-h1f3a1b7_2
`
But when I import cv2 in spyder, I face the following error.
ModuleNotFoundError: No module named 'opencv'
And I get this in anaconda prompt
`(opencv) C:Userszilch>conda search cv2
Loading channels: done
No match found for: cv2. Search: cv2
PackagesNotFoundError: The following packages are not available from current channels:
- cv2
Current channels:
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/r/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you’re
looking for, navigate to
and use the search bar at the top of the page.`
Help me to solve this issue.
Добрый день, имею LinuxAlt Workstation 10k, при установке КриптоПро ЭЦП Browser plug-in 2.0, 2 файла устанавливаются без проблем, это cades и cadesphp, а вот сам плагин выдаёт ошибку.
Вот ход установки если запустить сам файл:
олучено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено: 3 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено 8732B за 4s (2060B/s).
Найдено http://ftp.altlinux.org p10/branch/x86_64/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64/classic release
Найдено http://ftp.altlinux.org p10/branch/x86_64/gostcrypto pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64/gostcrypto release
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic release
Найдено http://ftp.altlinux.org p10/branch/noarch/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/noarch/classic release
Reading Package Lists…
Building Dependency Tree…
Selecting cprocsp-pki-plugin-64 for ‘/home/user/Документы/cprocsp-pki-plugin-64-2.0.14589-1.amd64.rpm’
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following packages have unmet dependencies:
cprocsp-pki-plugin-64: Depends: cprocsp-rdr-gui-gtk-64 but it is not installable
E: Broken packages
Чтение списков пакетов…
Построение дерева зависимостей…
И пишет возникла ошибка при установке.
Если через терминал то тоже ошибка:
[root@hastyday Загрузки]# sudo apt-get install cprocsp-pki-plugin-64-2.0.14589-1.amd64.rpm
Чтение списков пакетов… Завершено
Построение дерева зависимостей… Завершено
Выбрано cprocsp-pki-plugin-64 для ‘cprocsp-pki-plugin-64-2.0.14589-1.amd64.rpm’
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога ‘Входящие’.
Так как для выполнения Вашего запроса достаточно одной операции, то
скорее всего этот пакет просто невозможно установить. Сообщите, пожалуйста,
об этом как о найденной ошибке в пакете.
Эти сведения могут помочь найти выход из ситуации:
Следующие пакеты имеют неудовлетворенные зависимости:
cprocsp-pki-plugin-64: Требует: cprocsp-rdr-gui-gtk-64 но пакет не может быть установлен
E: Извините, `битые’ пакеты
Установка и настройка КриптоПро CSP в Porteus Linux
КриптоПро — линейка криптографических утилит для генерации ЭЦП, работы с сертификатами, организации структуры PKI. Незаменимый продукт для работы в ЕИС (zakupki.gov.ru), Официальный сайт ГМУ (bus.gov.ru), Электронный бюджет (budget.gov.ru), Портал государственных услуг РФ + Единая система идентификации и аутентификации ЕСИА (esia.gosuslugi.ru), Федеральная налоговая служба (lkfl.nalog.ru) и т.д. Авторизация в личных кабинетах ГИС-ов возможна только по ГОСТ-у. Для этого можно использовать браузер Chromium с поддержкой ГОСТ —
скачать для x86_64
(
репозиторий на github.com
)
chromium-gost — веб-браузер с открытым исходным кодом на основе Chromium с поддержкой криптографических алгоритмов ГОСТ при установке защищённых соединений через интерфейс msspi
Для работы криптографических алгоритмов ГОСТ у вас должен быть установлен КриптоПро CSP (или другой криптопровайдер поддерживающий работу алгоритмов ГОСТ в интерфейсе SSPI)
Заметка. Все команды описанные в данной статье выполняем под root пользователем.
Для авторизации в качестве root пользователя выполните в терминале:
Скрипт автоматизированной сборки xzm модулей KC1 и KC2 КриптоПро CSP для Porteus
Code: Select all
#!/bin/bash
# Copyright 2017-2025 Blaze, Russian Federation, Lipetsk region, Dankov
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# This is script for the automated building KC1 and KC2 xzm modules from rpm packages
# of CryptoPro CSP for Porteus i686 and x86_64.
#
#
# Date: 11.09.2017 20:58:47 (UTC+3)
#
#
# Скрипт для автоматизированной сборки KC1 и KC2 xzm модулей КриптоПро CSP для Porteus
# Вручную в браузере скачиваем архив с сайта КриптоПро CSP с rpm пакетами
# linux-ia32.tgz или linux-amd64.tgz, в зависимости от архитектуры ПК
# ссылка на загрузку https://www.cryptopro.ru/products/csp/downloads
# скопируйте данный архив в /tmp
if [ `whoami` != "root" ]; then
echo 'Этот скрипт должен быть запущен с правами root'
exit 1
fi
cd /tmp
# сборка для архитектуры i586
if [ -f "linux-ia32.tgz" ]; then
mv linux-ia32.tgz linux-ia32.tar.gz
tar xvf linux-ia32.tar.gz
cd /tmp/linux-ia32
VER=$(cat linux-ia32.ini | grep version= | cut -d "=" -f2)
rm accord_random-*src.rpm
rm cprocsp-drv*.rpm
rm cprocsp-ipsec*.rpm
rm cprocsp-pki*.rpm
rm lsb-cprocsp-devel*.rpm
rm lsb-cprocsp-rdr-sobol*.rpm
rm sobol*.rpm
rpm2xzm *.rpm *.xzm
rm {*.rpm,*.sh,*.ini,cpverify}
for x in `find . -type f ! -name 'lsb-cprocsp-kc1*' ! -name 'lsb-cprocsp-kc2*' | fgrep .xzm | sort`; do unsquashfs -n -f $x >/dev/null; done
mkdir cprocsp-kc2-$VER-$(arch)
cp -a squashfs-root/* cprocsp-kc2-$VER-$(arch)
mv squashfs-root cprocsp-kc1-$VER-$(arch)
xzm2dir lsb-cprocsp-kc1*.xzm cprocsp-kc1-$VER-$(arch)
xzm2dir lsb-cprocsp-kc2*.xzm cprocsp-kc2-$VER-$(arch)
rm *.xzm
dir2xzm cprocsp-kc1-$VER-$(arch) cprocsp-kc1-$VER-i686.xzm
dir2xzm cprocsp-kc2-$VER-$(arch) cprocsp-kc2-$VER-i686.xzm
rm -rf /tmp/linux-ia32/cprocsp-kc?-$VER-$(arch) && rm install.desktop
else echo "Архив linux-ia32.tgz не найден в директории /tmp"
fi
cd /tmp
# сборка для архитектуры x86_64
if [ -f "linux-amd64.tgz" ]; then
mv linux-amd64.tgz linux-amd64.tar.gz
tar xvf linux-amd64.tar.gz
cd /tmp/linux-amd64
VER=$(cat linux-amd64.ini | grep version= | cut -d "=" -f2)
rm accord_random-*src.rpm
rm cprocsp-drv*.rpm
rm cprocsp-ipsec*.rpm
rm cprocsp-pki*.rpm
rm lsb-cprocsp-devel*.rpm
rm lsb-cprocsp-rdr-sobol*.rpm
rm sobol*.rpm
rpm2xzm *.rpm *.xzm
rm {*.rpm,*.sh,*.ini,cpverify}
for x in `find . -type f ! -name 'lsb-cprocsp-kc1*' ! -name 'lsb-cprocsp-kc2*' | fgrep .xzm | sort`; do unsquashfs -n -f $x >/dev/null; done
mkdir cprocsp-kc2-$VER-$(arch)
cp -a squashfs-root/* cprocsp-kc2-$VER-$(arch)
mv squashfs-root cprocsp-kc1-$VER-$(arch)
xzm2dir lsb-cprocsp-kc1*.xzm cprocsp-kc1-$VER-$(arch)
xzm2dir lsb-cprocsp-kc2*.xzm cprocsp-kc2-$VER-$(arch)
rm *.xzm
dir2xzm cprocsp-kc1-$VER-$(arch) cprocsp-kc1-$VER-x86_64.xzm
dir2xzm cprocsp-kc2-$VER-$(arch) cprocsp-kc2-$VER-x86_64.xzm
rm -rf /tmp/linux-amd64/cprocsp-kc?-$VER-$(arch) && rm install.desktop
else echo "Архив linux-amd64.tgz не найден в директории /tmp"
fi
Скачиваем и распаковываем под root-ом мой скрипт
cprocsp.tar.bz2
в директории /tmp
Вручную в браузере скачиваем архив с сайта КриптоПро CSP с rpm пакетами linux-ia32.tgz или linux-amd64.tgz, в зависимости от архитектуры ПК
ссылка на загрузку
https://www.cryptopro.ru/products/csp/downloads
скопируйте данный архив(ы) в /tmp
Запускаем скрипт
Code: Select all
cd /tmp
# wget http://csp.ublaze.ru/cprocsp.tar.bz2
# tar xvf cprocsp.tar.bz2
./cprocsp.sh
Затем настраиваем КриптоПро CSP в Porteus Linux согласно этой инструкции
Готовые xzm модули с КриптоПро CSP для архитектур
i586
и x86_64
Заметка. Требования к уровню защиты информации КС2 содержат требования к уровню КС1 плюс дополнительные требования. Уровень защиты информации определяется потенциальными возможностями нарушителя, в соответсвии с базовой моделью нарушителя, разработанной ФАПСИ. Вкратце — для уровня КС1 предполагается, что имеем случайного внешнего нарушителя который может перхватывать информацию в каналах связи — следоватлеьно достаточные требования — математическая стойкость, корректности реализации и качество ключей. Уровень КС2 — неавторизованный внутренний нарушитель — следовательно достаточные дополнительные требования — разграничение доступа к СКЗИ, ну там есть еще кое-чего. Это влечет за собой наличие в системе сертифицированного фапси/фсб электронного замка, его основная задача — идентфикация и аутентфикация пользователя, проверка целсотности, доверенная загрузка. дополнительно — качественный аппаратный датчик случайных чисел и интерфейс к носителью ключевой информации.
Установка переменных окружения.
Чтобы каждый раз не вводить полный путь к утилитам КриптоПро CSP выполните команды:
Code: Select all
sed -i "s|ENV_SUPATH PATH=|ENV_SUPATH PATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr 'n' ':')"|g" /etc/login.defs
sed -i "s|/usr/games|/usr/games:"$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr 'n' ':'| rev | cut -d: -f2- | rev)"|g" /etc/profile
Создание необходимых привязок и кэша для необходимых динамических библиотек.
Указываем чтобы считывались нестандартные библиотеки, для этого терминале выполните команды:
Code: Select all
# Для архитектуры x86_64
echo '/opt/cprocsp/lib/amd64' >> /etc/ld.so.conf
echo 'ldconfig' >> /etc/rc.d/rc.local
ldconfig
#в новой версии CSP - cp-openssl не требуется
#echo '/opt/cprocsp/cp-openssl/lib/amd64' >> /etc/ld.so.conf
# для GostEngy (обеспечивает поддержку ключей и алгоритмов ГОСТ через вызовы КриптоПро CSP)
# ссылка https://update.cryptopro.ru/support/nginx-gost/bin/
#echo '/opt/cprocsp/cp-openssl-1.1.0/lib/amd64' >> /etc/ld.so.conf
Code: Select all
# Для архитектуры i586
echo '/opt/cprocsp/lib/ia32' >> /etc/ld.so.conf
echo 'ldconfig' >> /etc/rc.d/rc.local
ldconfig
#в новой версии CSP - cp-openssl не требуется
#echo '/opt/cprocsp/cp-openssl/lib/ia32' >> /etc/ld.so.conf
# GostEngy под i586 не нашел
Проверка версии и лицензии КриптоПро CSP.
Для проверки версии КриптоПро CSP выполните:
Для установки лицензии КриптоПро CSP выполните:
Code: Select all
cpconfig -license -set здесь-серийный-номер
например:
Code: Select all
cpconfig -license -set 50500-10037-ELQF5-H28KM-8E6BA
Проверить срок истечения лицензии можно командой:
Управление ридерами.
Ридеры (readers) — устройства размещения контейнеров (аппаратные токены, каталог для размещения файлов).
Для просмотра доступных ридеров (в зависимости от кодировки):
Code: Select all
csptest -enum -info -type PP_ENUMREADERS | iconv -f utf8
или
Code: Select all
csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251
Ридер HDIMAGE размещается в /var/opt/cprocsp/keys/имя_пользователя (guest или root)
Заметка. В /var/opt/cprocsp/keys/имя_пользователя хранятся ключевые контейнеры пользователей guest или root
В директории /var/opt/cprocsp/users находится хранилище сертификатов пользователей guest или root
Инициализация ридера HDIMAGE:
Code: Select all
cpconfig -hardware reader -add HDIMAGE store
Современные аппаратные и программно-аппаратные хранилища ключей, такие как Рутокен ЭЦП или eSmart ГОСТ, поддерживаются через интерфейс PCSC. За реализацию этого интерфейса отвечает служба pcscd, которую необходимо запустить перед началом работы с соответствующими устройствами:
Code: Select all
su
toor
chmod +x /etc/rc.d/rc.pcscd
/etc/rc.d/rc.pcscd start
Заметка. Предварительно скачайте и активируйте модули
Code: Select all
usm -u usm usm -u all usm -g pcsc-lite usm -g openct usm -g opensc usm -g ccidзатем подключите токен к компьютеру и выполните скрипт:
Code: Select all
#!/bin/bash not_solaris=1 if test ! -z "$not_solaris"; then search_dirs='' for d in `echo /usr/lib*/pcsc /usr/local/lib*/pcsc /usr/libexec/SmartCardServices/*`; do if echo $d|grep -v '*'; then search_dirs="$d $search_dirs"; fi; done if test ! -z "$search_dirs"; then folder=`find -L $search_dirs -name "*ccid.bundle"` if test ! -z "$folder"; then pList_files=`find -L $folder -name "Info.plist"` if test ! -z "$pList_files"; then for pList in $pList_files; do ccid_reg.sh -add $pList 0x072F 0x90CC "ACS ACR 38U-CCID - CP" ccid_reg.sh -add $pList 0x072F 0x1204 "ACS ACR101 ICC Reader - CP" ccid_reg.sh -add $pList 0x072F 0x8201 "ACS APG8201 PINhandy 1 - CP" ccid_reg.sh -add $pList 0x072F 0x8202 "ACS APG8201 USB Reader - CP" ccid_reg.sh -add $pList 0x072F 0x90DB "ACS CryptoMate64 - CP" ccid_reg.sh -add $pList 0x0483 0xACD1 "Ancud Crypton SCR/RNG - CP" ccid_reg.sh -add $pList 0x0A89 0x0025 "Aktiv Rutoken lite - CP" ccid_reg.sh -add $pList 0x0A89 0x0030 "Aktiv Rutoken ECP - CP" ccid_reg.sh -add $pList 0x0A89 0x0080 "Aktiv PINPad Ex - CP" ccid_reg.sh -add $pList 0x0A89 0x0081 "Aktiv PINPad In - CP" ccid_reg.sh -add $pList 0x0A89 0x0060 "Aktiv Co., ProgramPark Rutoken Magistra - CP" ccid_reg.sh -add $pList 0x072f 0x90de "ACS Token - CP" ccid_reg.sh -add $pList 0x24dc 0x0102 "ARDS ZAO JaCarta LT - CP" ccid_reg.sh -add $pList 0x2fb0 0x0002 "Infocrypt Token++ - CP" ccid_reg.sh -add $pList 0x2fb0 0x0004 "Infocrypt Token++ - CP" ccid_reg.sh -add $pList 0x2fb0 0x0006 "Infocrypt Token++ lite - CP" ccid_reg.sh -add $pList 0x2fb0 0x0008 "Infocrypt Token++ lite - CP" ccid_reg.sh -add $pList 0x2fb0 0x003a "Infocrypt Token++ lite - CP" ccid_reg.sh -add $pList 0x2022 0x078a "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2022 0x016c "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2022 0x0172 "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2022 0x0226 "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2fb0 0x078a "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2fb0 0x016c "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2fb0 0x0172 "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2fb0 0x0226 "Infocrypt HWDSSL DEVICE - CP" ccid_reg.sh -add $pList 0x2a0c 0x0001 "MultiSoft ltd. SCR2 - CP" ccid_reg.sh -add $pList 0x23a0 0x0008 "BIFIT ANGARA - CP" ccid_reg.sh -add $pList 0x1fc9 0x7479 "ISBC ESMART reader - CP" ccid_reg.sh -add $pList 0x2ce4 0x7479 "ESMART Token - CP" ccid_reg.sh -add $pList 0x04d8 0x003f "zis-group PRIVATE Security System Key" done fi fi fi fi cpconfig -hardware reader -add "Aktiv Rutoken ECP 00 00" -name 'Rutoken ECP 0' cpconfig -hardware reader -add "Aktiv Rutoken ECP 01 00" -name 'Rutoken ECP 1' cpconfig -hardware reader -add "Aktiv Rutoken lite 00 00" -name 'Rutoken lite 0' cpconfig -hardware reader -add "Aktiv Rutoken lite 01 00" -name 'Rutoken lite 1' cpconfig -hardware reader -add "Aktiv Co. Rutoken S 00 00" -name 'Rutoken S 0' cpconfig -hardware reader -add "Aktiv Co. Rutoken S 01 00" -name 'Rutoken S 1' cpconfig -hardware reader -add "Aktiv Rutoken Magistra 00 00" -name 'Rutoken Magistra 0' cpconfig -hardware reader -add "Aktiv Rutoken Magistra 01 00" -name 'Rutoken Magistra 1'
Управление контейнерами.
Создание контейнера. Создадим контейнер с именем test в локальном ридере HDIMAGE.
Code: Select all
csptest -keyset -provtype 75 -newkeyset -cont '\.HDIMAGEtest'
При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где предложат двигать курсором мыши
После показа окна будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет) и снова предложат двигать курсором мыши.
Примечание: Если такой пакет не установлен, будет предложено ввести любые символы с клавиатуры
В КриптоПро 5 появилась возможность интерактивно выбирать ридер и тип создаваемого контейнера.
Теперь можно создавать неизвлекаемые контейнеры. Для этого необходимо выполнить команду:Code: Select all
csptest -keyset -provtype 75 -newkeyset -cont 'имя_контейнера'Откроется окно выбора ридера и способа создания неизвлекаемого контейнера или обычного контейнера.
Для неизвлекаемого контейнера, в GTK-окне следует выбрать «Вид приложения» → «Active token without secure channel».
Для добавления контейнера в носитель токена следует воспользоваться командой:
Code: Select all
csptest -keyset -newkeyset -cont '\.Aktiv Rutoken ECP 00 00TestCont'
Название токена может отличаться. Для идентификации токена воспользуйтесь командой:
Code: Select all
csptest -card -enum -v -v
# или
list_pcsc
# или можно просмотреть доступные ридеры
csptest -enum -info -type PP_ENUMREADERS | iconv -f utf8
Для удаления контейнера:
Code: Select all
csptest -keyset -deletekeyset -cont '\.HDIMAGEtest'
или:
Code: Select all
csptestf -passwd -cont '\.Aktiv Rutoken ECP 00 00TestCont' -deletek
Копирование контейнера. Для примера скопируем контейнер из локального хранилища в хранилище Рутокена ЕЦП:
Code: Select all
csptestf -keycopy -contsrc '\.HDIMAGEКонтейнер_оригинал' -contdest '\.Aktiv Rutoken ECP 00 00Контейнер_копия'
или
Code: Select all
csptest -keycopy -contsrc '<полное название контейнера>' -contdest '\.<название токена><желаемое название контейнера>'
Заметка. Полное название контейнера см. с помощью команды
Code: Select all
csptest -keyset -enum_cont -fqcn -verifyc -uniq | iconv -f cp1251
Для просмотра подробной информации о контейнерах воспользуйтесь командой:
Code: Select all
csptestf -keyset -container 'ИМЯ' -info
Для того чтобы проверить работу контейнера, следует выполнить команду:
Code: Select all
csptestf -keyset -container 'ИМЯ' -check
Для просмотра доступных контейнеров используйте команду:
Code: Select all
csptest -keyset -enum_cont -fqcn -verifyc -uniq | iconv -f cp1251
Работа с сертификатами.
4 категории сертификатов:
- личные сертификаты (ставятся в хранилище umy, где u = User, my — имя хранилища) — как правило для них есть закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл.
- корневые сертификаты — краеугольнй камень безопасности, так как цепочки доверия строятся от них, то их надо добавлять в хранилища осознанно и внимательно (ставятся в uroot, также администратор может поставить их в mroot, где m = Machine, такие сертификаты будут видны в read only в root-хранилищах всех пользователей)
- промежуточные сертификаты — появляются, когда есть промежуточные УЦ (головной -> промежуточный -> пользовательский). Прямое доверие к ним не требуется (ставятся в uca, также администратор может поставить их в mca). В это же хранилище ставятся CRL-и. Обычно точки получения промежуточных сертификатов и CRL-ей правильно указаны в пользовательских сертификатах, поэтому они автоматом выкачиваются и попадают в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.
Из под учетной записи пользователя guest промежуточные сертификаты устанавливать в uca, из под учетной записи администратора root ставить в mca. - сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это беспорядок, но популярный), либо в uAddressBook
Заметка. При установке в хранилище m* — все установленное доступно Всем пользователям системы.
При установке в хранилище u* — все установленное доступно только пользователю, от которого производилась установка.Имена хранилищ указаны в формате certmgr, у cryptcp похожий формат: -mroot и -uAddressBook
- Подробная инструкция по утилите сertmgr.
- Руководство по использованию cryptcp
Установка сертификата с токена:
Code: Select all
certmgr -inst -cont '<путь к контейнеру, начинающийся на \.>' -store uMy
Например:
Code: Select all
certmgr -inst -cont '\.Aktiv Rutoken ECP 00 00Ivanov' -store uMy
Установка всех личных сертификатов с Рутокена в uMy:
Code: Select all
csptestf -absorb -cert -pattern 'rutoken'
Заметка. В опции -pattern ‘rutoken‘ может быть другим в зависимости от подключенного токена.
В опции -pattern так же можно указать пустые ‘ ‘ чтобы установить все сертификаты в uMy. Пример:Code: Select all
csptestf -absorb -cert -pattern ''
Установка личного сертификата в контейнер ридера HDIMAGE:
Code: Select all
certmgr -inst -file '/путь-до-сертификата/имя-сертификата.cer' -cont '<путь к контейнеру, начинающийся на \.>' -store uMy
Пример установки личного сертификата с пин-кодом 12345 по ГОСТ 2012 в контейнер ридера HDIMAGE
Code: Select all
certmgr -inst -provtype 80 -provname "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -cont '<путь к контейнеру, начинающийся на \.>' -pin 12345 -file '/путь-до-сертификата/имя-сертификата.cer'
Установка корневого сертификата удостоверяющего центра для учетной записи guest в uRoot (для учетной записи root установку нужно произвести в mRoot):
Code: Select all
certmgr -inst -cert -file '/путь-до-сертификата/имя-сертификата.cer' -store uRoot
Установка списка отозванных сертификатов (CRL) для учетной записи guest в uca (для учетной записи root установку нужно произвести в mca):
Code: Select all
certmgr -inst -crl -file '/путь-до-файла/имя-файла.crl' -store uca
Установка цепочки промежуточных сертификатов для учетной записи guest в uca (для учетной записи root установку нужно произвести в mca):
Code: Select all
certmgr -inst -cert -file '/путь-до-файла/имя-файла.p7b' -store uca
Для просмотра установленных сертификатов воспользуйтесь командой:
Просмотр корневых сертификатов:
Code: Select all
# для учетной записи guest
certmgr -list -store uRoot
# для учетной записи root
certmgr -list -store mRoot
Просмотр содержимого сертификата:
Code: Select all
certmgr -list -file '/путь-до-сертификата/имя-сертификата.cer'
Удаление сертификатов. Удалить личный сертификат под номером 1 можно командой:
после чего ввести цифру 1 для подтверждения.
Удалить корневой сертификат под номером 1
Code: Select all
# для учетной записи guest
certmgr -delete 1 -store uRoot
# для учетной записи root
certmgr -delete 1 -store mRoot
Удалить все сертификаты:
Code: Select all
# удалить все сертификаты
certmgr -delete -all
# удалить все сертификаты из хранилища uMy
certmgr -delete -store uMy
# удалить все сертификаты из хранилища uRoot для учетной записи guest
certmgr -delete -store uRoot
# удалить все сертификаты из хранилища mRoot для учетной записи root
certmgr -delete -store mRoot
Экспорт сертификатов на другую машину
Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys.
Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.
Экспорт сертификата:
Переносим эти файлы на машину и смотрим, какие контейнеры есть:
Code: Select all
csptest -keyset -enum_cont -verifycontext -fqcn
И как обычно, связываем сертификат и закрытый ключ:
Code: Select all
certmgr -inst -file 1.cer -cont '\.HDIMAGEcontainer.name'
Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
Code: Select all
Can not install certificate
Public keys in certificate and container are not identical
Использование cptools
В версии КриптоПРО 5 появилась графическая утилита для работы с сертификатами — cptools.
Для запуска cptools откройте терминал и введите


Так же, с его помощью, можно установить сертификат из токена в хранилище uMy.
Создание запроса и получение сертификата в УЦ.
Для создания запроса потребуется:
- DN (cn=Test User,e=ca@porteus.org)
- имя контейнера (в локальном хранилище hdimage: \.HDIMAGEtest)
- имя файла запроса (test.req)
Внимание! Для использования проверки подлинности клиента в браузере потребуется также указать, что запрос создается по ГОСТ 2001 и добавляется тип применения подлинности клиента: -provtype 75 -certusage «1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2».
С помощью опции -certusage можно указать OID назначение сертификата
Назначение сертификата представляется в сертификате объектным идентификатором, присвоенным этой политике, — OID. Если в сертификате указано несколько политик, то это означает, что сертификат соответствует всем этим политикам списка.
Типы применения:
Code: Select all
OID Назначение
1.3.6.1.5.5.7.3.1 Аутентификация сервера
1.3.6.1.5.5.7.3.2 Аутентификация клиента
1.3.6.1.5.5.7.3.3 Подписывание кода
1.3.6.1.5.5.7.3.4 Защищенная электронная почта
1.3.6.1.5.5.7.3.8 Простановка штампов времени
1.3.6.1.5.5.7.3.9 Может использоваться для формирования электронной подписи OCSP-запросов
1.3.6.1.4.1.311.10.5.1 Цифровые права
1.3.6.1.4.1.311.10.3.12 Подписывание документа
Объектные идентификаторы (OID) определяют отношения, при осуществлении которых электронный документ, подписанный ЭЦП, будет иметь юридическое значение. OID, зарегистрированные в Удостоверяющем центре, включаются состав следующих расширений сертификата ключа подписи: Key Usage (использование ключа), Extended Key Usage (расширенное использование ключа), Application Policy (политики применения сертификата).
Code: Select all
cryptcp -creatrqst -dn "cn=Test User,e=ca@porteus.org" -provtype 75 -nokeygen -cont '\.HDIMAGEtest' -certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" test.req
Более подробная информация про опции утилиты cryptcp
Показать содержимое запроса:
- Откройте в браузере ссылку http://www.cryptopro.ru/certsrv (тестовый удостоверяющий центр КриптоПро).
- Нажмите «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64».
- Вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла test.req и нажмите кнопку «Выдать».
- Сохраните файл по ссылке «Загрузить цепочку сертификатов» (по умолчанию предлагается имя certnew.p7b)
Просмотреть полученный сертификат:
Установите сертификат удостоверяющего центра:
Code: Select all
certmgr -inst -file 'certnew.p7b' -store uRoot
нажмите 1
Установите сертификат клиента (введите пароль на контейнер \.HDIMAGEtest при запросе):
Code: Select all
certmgr -inst -file 'certnew.p7b' -store uMy -cont '\.HDIMAGEtest' -inst_to_cont
нажмите 2
Проверка цепочки сертификатов.
Внимание! В кэше сертификатов для выпущенного сертификата должны присутствовать корневые сертификаты удостоверяющих центров. В противном случае он будет недоступен в плагине для браузера!
Сертификаты популярных удостоверяющих центров
Code: Select all
Удостоверяющий Центр Источник Сертификаты
ЗАО «Национальный удостоверяющий центр» https://www.nucrf.ru/info/ https://www.nucrf.ru/download/nucrf.p7b
Удостоверяющий центр СКБ Контур https://ca.kontur.ru/about/certificates (выбрать 2015 год) http://cdp.skbkontur.ru/certificates/kontur-root-2015.crt
Для проверки можно скопировать персональный сертификат в файл:
Code: Select all
cryptcp -copycert -dn E=user@test.ru -df personal.cer
Запуск с отладкой цепочки:
Code: Select all
CP_PRINT_CHAIN_DETAIL=1 cryptcp -copycert -dn E=user@test.ru -df personal.cer
То есть нам надо установить сертификат УЦ с CN=uc skb kontur (root):
Code: Select all
certmgr -inst -store uRoot -file kontur-root-2015.crt
После этого:
Code: Select all
cryptcp -copycert -dn E=user@test.ru -df personal.cer
Всё в порядке и сертификат виден в плагине Cades.
Электронная подпись.
Для электронной подписи файла необходимо указать сертификат и имя подписываемого файла:
Примечание: Проще всего для указания сертификата использовать адрес e-mail.
Code: Select all
cryptcp -sign -dn E=user@test.ru -der zayavlenie.pdf
где
- -dn E=user@test.ru — сертификат по e-mail;
- -der — использовать формат DER для файла подписи (по умолчанию используется формат Base64);
- zayavlenie.pdf — имя подписываемого файла.
На выходе появляется файл zayavlenie.pdf.sig, содержащий как сам подписываемый файл, так и электронную подпись.
Для проверки подписи выполните:
Code: Select all
cryptcp -verify zayavlenie.pdf.sig
Показано, кто подписывал и что подпись проверена.
Для извлечения файла необходимо указать его имя в конце команды проверки подписи
Code: Select all
cryptcp -verify zayavlenie.pdf.sig zayavlenie.pdf
Работа с криптографическими провайдерами.
Для просмотра доступных криптографических провайдеров:
Более детальная информация о криптографическом провайдере 75:
Code: Select all
cpconfig -defprov -view -provtype 75
Установка криптографического провайдера 75 по умолчанию:
Code: Select all
cpconfig -defprov -setdef -provtype 75 -provname "Crypto-Pro GOST R 34.10-2001 KC1 CSP"
Установка криптографического провайдера 80 по умолчанию:
Code: Select all
cpconfig -defprov -setdef -provtype 80 -provname "Crypto-Pro GOST R 34.10-2012 KC1 CSP"
Установка криптографического провайдера 81 по умолчанию:
Code: Select all
cpconfig -defprov -setdef -provtype 81 -provname "Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP"
Linux 5.15.11-porteus #1 SMP Sat Dec 25 13:08:57 MSK 2021 x86_64 Intel(R) Core(TM) i5-6600K CPU @ up to 4.60GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Navi 23 [Radeon RX 6600] [1002:73ff] (rev c7) » Vengeance LPX 16GB DDR4 K2 3200MHz C16
Solution 1: Add conda-forge to the search path
First of all, when this kind of error occurs, you should first try to add the conda-forge channel to your channel list using the following command:
conda config --append channels conda-forge
It tells conda to check on the conda-forge channel when searching for packages.
Then you can try to install again with the following command
conda install package name
The reason is that the channel can be regarded as a server hosting the python package. When the python package cannot be obtained through the standard channel, the community-driven conda-forge is usually a good place. Most problems can be solved with this sentence.
Method 2: Use the error prompt, enter the annaconda website and use the command to solve
When adding the above statement, there is still an error, and when installing a certain python package (not particularly for a specific package, this situation sometimes occurs in various packages. The current channel is unavailable, and an error is reported:
PackagesNotFoundError: The following packages are not available from current channels:
The complete display of the error:
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
- igraph
Current channels:
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/r/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
The solution was actually stated in the error report:
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
You need to go to https://anaconda.org, search for other channels you want to install this package on the search bar above, and show how to find other channels of igraph below
First enter the above URL, you can see the search bar at the top:
When I search for igraph here, all packages with the «igraph» field in the package name will appear:
Then run any of the commands provided on the page in the path corresponding to your command line window or Anaconda Prompt window.
Method 3: Enter the annaconda website and install the package using the package installation package
If the above commands are all invalid after trying one by one, then only download the local «***.bz2» local file corresponding to the python package, and then use annaconda for local installation. You need to click on the file in the figure above to download the corresponding in the local environment The installation package:
Put the downloaded installation package «python-igraph-0.8.3-py38h0d6bca7_2.tar.bz2» into the directory where the package is stored in anaconda, such as:
D/anaconda3/pkgs/~
Then execute the command:
conda install --use-local python-igraph-0.8.3-py38h0d6bca7_2.tar.bz2
The installation is complete. (The package name before bz2 is different according to the package you need, «python-igraph-0.8.3-py38h0d6bca7_2.tar.bz2» is the igraph I installed)









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






