Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vamadir  
#1 Оставлено : 16 мая 2025 г. 12:06:07(UTC)
vamadir

Статус: Новичок

Группы: Участники
Зарегистрирован: 22.04.2024(UTC)
Сообщений: 8
Мужчина
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Коллеги, мне надоело копаться в разных частях форума. Поэтому решил собрать информацию по SCP с коментариями обычным языком, возможно кому-то будет полезной.
Так как мне нужна была работа SCP+Nginx, она может быть не полной для вашего случая.


# Просмотр лицензии:
/opt/cprocsp/bin/amd64/cpconfig -license -view

# Для установки другой лицензии (под root):
/opt/cprocsp/bin/amd64/cpconfig -license -set {SERIAL_NUMBER}

  • # Если /opt/cprocsp/bin/amd64/cpconfig: Нет такого файла или каталога. тогда сюда: /opt/cprocsp/sbin/amd64/cpconfig . От Андрей *

###############################################################################

# Посмотреть контейнеры, показывает короткие пути вида "\\.\HDIMAGE\..." имена и полные пути вида "\\.\HDIMAGE\HDIMAGE\\..."
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc -uniq

# Создать контейнер (новый секретный ключ) При генерации надо много кнопок нажимать. Пароль на контейнер не ставим (оставляем пусто) при работе с Nginx.
/opt/cprocsp/bin/amd64/csptest -keyset -provtype 80 -newkeyset -container '{container_path}'
# Прим
/opt/cprocsp/bin/amd64/csptest -keyset -provtype 80 -newkeyset -container '\\.\HDIMAGE\container2025'

# Посмотреть свойства контейнера (тип ключа, даты ключа, OID ключа)
/opt/cprocsp/bin/amd64/csptest -keyset -container '{container_path}'
# Прим
/opt/cprocsp/bin/amd64/csptest -keyset -container '\\.\HDIMAGE\container2025'

# Посмотреть детально все свойства контейнера (очень много информации, включая линкованные сертификаты которые не истекли)
/opt/cprocsp/bin/amd64/csptest -keyset -container '{container_path}' -info
# Прим
/opt/cprocsp/bin/amd64/csptest -keyset -container '\\.\HDIMAGE\container2025' -info

# Убрать/поменять пароль контейнера
/opt/cprocsp/bin/amd64/csptest -passwd -change '{new password or empty}' -container '{container_path}' -passwd '{current_password}'
# Прим
/opt/cprocsp/bin/amd64/csptest -passwd -change '' -container '\\.\HDIMAGE\container2025' -passwd '12345678'

# Удалить контейнер. Лучше использовать полный путь вида "\\.\HDIMAGE\HDIMAGE\\..."
/opt/cprocsp/bin/amd64/csptest -keyset -deletekeyset -container '{container_path}'
# Прим
/opt/cprocsp/bin/amd64/csptest -keyset -deletekeyset -container '\\.\HDIMAGE\HDIMAGE\\container2025.001\D09E'

# Установка сертификатов из всех контейнеров. Если сертификаты есть в контейнерах - будут установлены в личное хранилище с линковкой к контейнерам. От Захар Тихонов
/opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov

###############################################################################

# Посмотреть сертификаты
/opt/cprocsp/bin/amd64/certmgr -list

# Посмотреть определенный сертификат
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint '{CERT_THUMBPRINT}'
# Прим
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint '7d18631aad54ca3705207ace5005ea8de274a11b'

# Экспортировать сертификата из локального хранилища
/opt/cprocsp/bin/amd64/certmgr -export -thumbprint '{CERT_THUMBPRINT}' -dest {CERT_PATH_EXPORT}
# Прим
/opt/cprocsp/bin/amd64/certmgr -export -thumbprint '7d18631aad54ca3705207ace5005ea8de274a11b' -dest /tmp/test.cer

# Установить сертификат без ключа в общее хранилище (uMy)
/opt/cprocsp/bin/amd64/certmgr -inst -file {CERT_PATH}
# Прим
/opt/cprocsp/bin/amd64/certmgr -inst -file /tmp/mycert.cer

# Установить сертификат связав с закрытым ключом в общее хранилище (uMy)
/opt/cprocsp/bin/amd64/certmgr -inst -file {CERT_PATH} -cont '{container_path}'
# Прим
/opt/cprocsp/bin/amd64/certmgr -inst -file /tmp/mycert.cer -cont '\\.\HDIMAGE\container.name'

# Установить сертификат без ключа в хранилище. Если хранилища не существует, оно создастся автоматически
/opt/cprocsp/bin/amd64/certmgr -inst -file {CERT_PATH} -store {STORE_NAME}
# Прим
/opt/cprocsp/bin/amd64/certmgr -inst -file /tmp/mycert.cer -store uTrusted

# Установить сертификат связав с закрытым ключом в хранилище
/opt/cprocsp/bin/amd64/certmgr -inst -file {CERT_PATH} -cont '{container_path}' -store uTrusted
# Прим
/opt/cprocsp/bin/amd64/certmgr -inst -file /tmp/mycert.cer -cont '\\.\HDIMAGE\container.name' -store uTrusted

# Установить все сертификаты из файла в хранилище
/opt/cprocsp/bin/amd64/certmgr -inst -all -store {STORE_NAME} -file {CERT_PATH}
# Прим
/opt/cprocsp/bin/amd64/certmgr -inst -all -store uroot -file cacer.p7b

# Проверка цепочки сертификатов, можно использовать со -store
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint '{CERT_THUMBPRINT}'  -chain
# Прим
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint '7d18631aad54ca3705207ace5005ea8de274a11b' -chain

# Чтобы проверить цепочку сертификатов, можно скопировать персональный сертификат в файл, запущено с дебагом
CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -thumbprint '{CERT_THUMBPRINT}' -df {CERT_PATH_COPY}
# Прим
CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -thumbprint '7d18631aad54ca3705207ace5005ea8de274a11b' -df /tmp/test_chain.cer

###############################################################################

# Посмотреть список CRL
/opt/cprocsp/bin/amd64/certmgr -list -crl

# Установить CRL. Информация разница на форуме по поводу места установки (uMy или uCA). В документации нет информации.
/opt/cprocsp/bin/amd64/certmgr -inst -file {CRL_FILE_PATH} -crl
# Прим
/opt/cprocsp/bin/amd64/certmgr -inst -file /tmp/aucbr-D944F67B23B815C9803690ECFE34B2C5F09652A2.crl -crl

# Удалить CRL
/opt/cprocsp/bin/amd64/certmgr -delete -crl -keyid '{AuthKeyID}'
# Прим
/opt/cprocsp/bin/amd64/certmgr -delete -crl -keyid 'c91358b14ca7623a7ed23f3ca6e7147c9d70a386'


###############################################################################

# Копировать контейнер (ключ) можно с другого ПК, будет работать как и копирование хранилищ

# Посмотреть все созданные хранилища пользователя. Физические пути на локальной машине
ls -la /var/opt/cprocsp/users/{USER}/stores/
# Прим
ls -la /var/opt/cprocsp/users/nginx/stores/

# Посмотреть все созданные контейнеры(ключи) пользователя. Физические пути на локальной машине
ls -la /var/opt/cprocsp/keys/{USER}
# Прим
ls -la /var/opt/cprocsp/keys/nginx

# Скопировать приватный ключ(контейнер), где {USER}
cp -R /tmp/container2025.000 /var/opt/cprocsp/keys/{USER}/

# Поставить права
chmod -R 600 /var/opt/cprocsp/keys/{USER}/container2025.000

###############################################################################

Хранилища по умолчанию. Параметры: 'u' для текущего пользователя, 'm' для хранилища локального компьютера
My — хранилище для пользовательских сертификатов, вляется значением по умолчанию (uMy) если не указано другое
Root — для корневых CA сертификатов
CA — для промежуточных CA сертификатов или CRL
AddressBook — для других пользовательских сертификатов
Cache — хранилище кэша сертификатов/CRL (доступно только чтение и удаление)

SCP Проверяя цепочку My сертификата, берет значения из сначала из Root, потом CA

###############################################################################

Если сертификат выпущен сторонним Центром( например. вашей компанией), и допустим у вас нет в цепочке промежуточного, а только СА

# Прим
company_server.cer - company_ca.cer
То сompany_ca.cer ужно установить в Root, а company_server.cer нужно установить в uСА, так как он сам себя ставит в цепочку вместо промежуточного(линковать не обязательно). Плюс company_server.cer нужно установить в uMy как клиентский

PS.
Как работают Trusted хранилища для Nginx, не ясно.
В теории в нем дожны хранится только CA из Цепочки сертификата, но оно не работает корректно.
Иногда требуется докинуть туда по мимо CA из Цепочки сертификата, неочевидные сертификаты типо СА минкомсвязь или какой-то другой(методом тыка).
Если неочевидного СА сертификата не хватает, то будет ошибка в логах(systemctl) при старте Nginx, хотя сам Nginx запуститься, но соединения не пройдут. Так же ошибка может быть в общем error.log

Отредактировано пользователем 17 мая 2025 г. 17:00:12(UTC)  | Причина: Изменена информация о физическом копировании

thanks 1 пользователь поблагодарил vamadir за этот пост.
Захар Тихонов оставлено 16.05.2025(UTC)
Offline Захар Тихонов  
#2 Оставлено : 16 мая 2025 г. 15:30:59(UTC)
Захар Тихонов

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

Группы: Участники
Зарегистрирован: 17.08.2015(UTC)
Сообщений: 3,311
Мужчина
Тонга
Откуда: Калининград

Сказал «Спасибо»: 40 раз
Поблагодарили: 583 раз в 560 постах
# Вот хорошая и полезная команда по установке сертификатов из контейнеров - данная команда установит сертификаты с привязкой к закрытому ключу, со всех доступных контейнеров
/opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov
Техническую поддержку оказываем тут.
Наша база знаний.
Offline vamadir  
#3 Оставлено : 16 мая 2025 г. 19:42:35(UTC)
vamadir

Статус: Новичок

Группы: Участники
Зарегистрирован: 22.04.2024(UTC)
Сообщений: 8
Мужчина
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Автор: Захар Тихонов Перейти к цитате
# Вот хорошая и полезная команда по установке сертификатов из контейнеров - данная команда установит сертификаты с привязкой к закрытому ключу, со всех доступных контейнеров
/opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov

Добавил.

А можно немного подробнее про команду? Несколько раз видел на форуме, но не доконца понимаю когда применять.
absorb линкуем все сертификаты из контеров с ключами, тут не понятно. В контейнере же по умолчанию только ключи и линк на сертификат в хранилище?
Какое свойство должно быть у контейнера с сертификатом?

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

Offline Андрей *  
#4 Оставлено : 16 мая 2025 г. 21:04:20(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,672
Мужчина
Российская Федерация

Сказал «Спасибо»: 572 раз
Поблагодарили: 2301 раз в 1802 постах
Автор: vamadir Перейти к цитате
Автор: Захар Тихонов Перейти к цитате
# Вот хорошая и полезная команда по установке сертификатов из контейнеров - данная команда установит сертификаты с привязкой к закрытому ключу, со всех доступных контейнеров
/opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov

Добавил.

А можно немного подробнее про команду? Несколько раз видел на форуме, но не доконца понимаю когда применять.
absorb линкуем все сертификаты из контеров с ключами, тут не понятно. В контейнере же по умолчанию только ключи и линк на сертификат в хранилище?
Какое свойство должно быть у контейнера с сертификатом?


в контейнере могут быть не только ключи и атрибуты, но и сертификат,
утилита получает список контейнеров, запрашивает у каждого сертификат, если он есть - записывает его в личное и добавляет ссылку на контейнер.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#5 Оставлено : 16 мая 2025 г. 21:11:49(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,672
Мужчина
Российская Федерация

Сказал «Спасибо»: 572 раз
Поблагодарили: 2301 раз в 1802 постах
Автор: vamadir Перейти к цитате

# Просмотр лицензии:
/opt/cprocsp/bin/amd64/cpconfig -license -view

# Для установки другой лицензии (под root):
/opt/cprocsp/bin/amd64/cpconfig -license -set {SERIAL_NUMBER}



а если вдруг...

Цитата:
bash: /opt/cprocsp/bin/amd64/cpconfig: Нет такого файла или каталога

тогда сюда:
/opt/cprocsp/sbin/amd64/cpconfig
Техническую поддержку оказываем тут
Наша база знаний
Offline vamadir  
#6 Оставлено : 17 мая 2025 г. 16:44:34(UTC)
vamadir

Статус: Новичок

Группы: Участники
Зарегистрирован: 22.04.2024(UTC)
Сообщений: 8
Мужчина
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Автор: Андрей * Перейти к цитате
Автор: vamadir Перейти к цитате

# Просмотр лицензии:
/opt/cprocsp/bin/amd64/cpconfig -license -view

# Для установки другой лицензии (под root):
/opt/cprocsp/bin/amd64/cpconfig -license -set {SERIAL_NUMBER}



а если вдруг...

Цитата:
bash: /opt/cprocsp/bin/amd64/cpconfig: Нет такого файла или каталога

тогда сюда:
/opt/cprocsp/sbin/amd64/cpconfig


Добавил
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.