Создание и настройка экземпляров компонентов КриптоПро Ключ
Внимание!
Перед выполнением данного этапа необходимо выполнить подготовительный этап, установить КриптоПро Ключ и дополнительное ПО, настроить подключение к КриптоПро HSM или тестовому считывателю.
Создание экземпляров сервисов КриптоПро Ключ и подключение к БД
1. Запустите CPShell или PowerShell:
sudo cpsh
# ИЛИ
sudo pwsh
2. Объявите переменные с данными подключения к СУБД:
#Подключение к СУБД
$sql_address = "*.*.*.*:*" # IP-адрес сервера с PostgreSQL и TSP-порт, на котором по умолчанию прослушиваются соединения
$AsUser = "postgres" #Имя служебного пользователя СУБД
$AsUserPassword = "***" #Пароль для УЗ служебного пользователя СУБД
3. Объявите переменную с hostname сервера "КриптоПро Ключ":
$hostname = "hostname"
4. Объявите переменные с наименованиями создаваемых БД экземпляров:
#Наименования создаваемых БД
$idpdb = "IdentityServiceDB"
$ssdb = "SignatureServerDB"
$auditdb = "AnalyticServiceDB"
$dsdb = "DocumentStoreDB"
$osdb = "OperationsDB"
5. Объявите переменные с наименованиями создаваемых экземпляров:
$idp_name = "sts" #Имя экземпляра Центра Идентификации
$ss_name = "signserver" #Имя экземпляра Сервиса Подписи
$fe_name = "frontend" #Имя экземпляра веб-интерфейса
$audit_name = "analyticsservice" #Имя экземпляра Сервиса Аудита
$ds_name = "documentstore" #Имя экземпляра Сервиса обработки документов
$mdag_name = "cprokey" #Имя экземпляра mDAG для МП КриптоПро Ключ
$mdag_name_2 = "cryptokey" #Имя экземпляра mDAG для МП КриптоКлюч
$lite_name = "lite" #Имя экземпляра Сервиса Lite
$pp_module = "cprokey" #Имя модуля сервиса PushProxy для МП КриптоПро Ключ
$pp_module_cryptokey = "cryptokey" #Имя модуля сервиса PushProxy для МП КриптоКлюч
6. Сформируйте строки подключения к БД экземпляров:
Примечание
В случае использования в качестве утилиты конфигурирования CPShell необходимо создавать строку подключения к БД явно для требуемого компонента.
#Строка подключения к БД Центра Идентификации
$idp_conn = New-IdsSqlConnectionInfo -ServerName $sql_address -DatabaseName $idpdb -DbType postgresql -ServiceAccountName $AsUser -ServiceAccountPassword $AsUserPassword -AsUser $AsUser -AsUserPassword $AsUserPassword
#Строка подключения к БД Сервиса Подписи
$ss_conn = New-SignSqlConnectionInfo -ServerName $sql_address -DatabaseName $ssdb -DbType postgresql -ServiceAccountName $AsUser -ServiceAccountPassword $AsUserPassword -AsUser $AsUser -AsUserPassword $AsUserPassword
#Строка подключения к БД Сервиса Аудита
$audit_conn = New-AuditSqlConnectionInfo -ServerName $sql_address -DatabaseName $auditdb -DbType postgresql -ServiceAccountName $AsUser -ServiceAccountPassword $AsUserPassword -AsUser $AsUser -AsUserPassword $AsUserPassword
#Строка подключения к БД Сервиса обработки документов
$ds_conn = New-DsSqlConnectionInfo -ServerName $sql_address -DatabaseName $dsdb -DbType postgresql -ServiceAccountName $AsUser -ServiceAccountPassword $AsUserPassword -AsUser $AsUser -AsUserPassword $AsUserPassword
#Строка подключения к БД Сервиса обработки операций для ЦИ
$ids_os_conn = New-IdsSqlConnectionInfo -ServerName $sql_address -DatabaseName $osdb -DbType postgresql -ServiceAccountName $AsUser -ServiceAccountPassword $AsUserPassword -AsUser $AsUser -AsUserPassword $AsUserPassword
#Строка подключения к БД Сервиса обработки операций для СП
$sign_os_conn = New-SignSqlConnectionInfo -ServerName $sql_address -DatabaseName $osdb -DbType postgresql -ServiceAccountName $AsUser -ServiceAccountPassword $AsUserPassword -AsUser $AsUser -AsUserPassword $AsUserPassword
7. Создайте экземпляры Сервисов:
#Создание экземпляра Центра Идентификации
Add-IdsInstance -DisplayName $idp_name -ApplicationName $idp_name -ServiceAccountName cprokey-srv -ConnectionInfo $idp_conn
#Создание экземпляра Сервиса Подписи
Add-SignInstance -DisplayName $ss_name -ApplicationName $ss_name -ServiceAccountName cprokey-srv -ConnectionInfo $ss_conn
#Создание экземпляра Веб-интерфейса
Add-FeInstance -DisplayName $fe_name -ApplicationName $fe_name -ServiceAccountName cprokey-srv
#Создание экземпляра Сервиса Аудита
Add-AuditInstance -DisplayName $audit_name -ApplicationName $audit_name -ServiceAccountName cprokey-srv -ConnectionInfo $audit_conn
#Создание экземпляра Сервиса Обработки Документов
Add-DsInstance -DisplayName $ds_name -ApplicationName $ds_name -ServiceAccountName cprokey-srv -ConnectionInfo $ds_conn
#Создание экземпляра mDAG для МП КриптоПро Ключ
Add-MdagInstance -DisplayName $mdag_name -ApplicationName $mdag_name -ServiceAccountName cprokey-srv
#Создание экземпляра mDAG для МП КриптоКлюч
Add-MdagInstance -DisplayName $mdag_name_2 -ApplicationName $mdag_name_2 -ServiceAccountName cprokey-srv
#Создание и подключение БД Сервиса Обработки Операций
#Для Центра Идентификации
Connect-IdsOperationStore -DisplayName $idp_name -ConnectionInfo $ids_os_conn
#Для Сервиса Подписи
Connect-SignOperationStore -DisplayName $ss_name -ConnectionInfo $sign_os_conn
#Создание экземпляра Сервиса Lite
Add-LiteInstance -DisplayName $lite_name -ApplicationName $lite_name -ServiceAccountName cprokey-srv
#Создание экземпляра Сервиса PushProxy
Install-PushInstance -ServiceAccountName cprokey-srv
Лицензирование КриптоПро Ключ и дополнительного ПО
Для обеспечения работоспособности СЭП требуются следующие лицензии:
- лицензия на необходимые модули аутентификации мобильных приложений КриптоПро Ключ,
- лицензия на Сервис Подписи КриптоПро Ключ,
- лицензия на СКЗИ "КриптоПро CSP" версии 5.0 с поддержкой TLS-сервера,
- лицензия на ПО "КриптоПро OCSP Client" (если планируется создание подписи форматов, требующих взаимодействия со Службами УЦ),
- лицензия на ПО "КриптоПро TSP Client" (если планируется создание подписи форматов, требующих взаимодействия со Службами УЦ).
Ввод лицензии на компоненты КриптоПро Ключ
Для ввода лицензии выполните (выполняется при помощи утилиты CPShell (sudo cpsh
)):
# Модули аутентификации
# Создайте группу лицензий и добавьте в нее группу пользователей:
$gr_lic = Add-IdsLicenseGroup -DisplayName $idp_name -Name license -LicenseeGroups Default #Default в данном случае – имя группы пользователей по умолчанию
# Активируйте лицензии на право использования мобильных приложений и добавьте их в ранее созданную группу лицензий:
# Лицензия на модуль аутентификации мобильных приложений (повторить для разных мобильных приложений)
Add-IdsLicense -DisplayName $idp_name -SerialNumber ‘Серийный номер лицензии’ -CompanyName 'Наименование конечного пользователя' -LicenseGroupId $gr_lic.id
# Активируйте лицензию Сервиса Подписи:
Add-SignLicense -SerialNumber ‘Серийный номер лицензии’ -CompanyName 'Наименование конечного пользователя'
Примечание
Если не указывать параметры SN
и CompanyName
, будет введена временная тестовая лицензия на три месяца.
Перезапустите экземпляры ЦИ и Сервиса Подписи:
Restart-IdsInstance -DisplayName $displayName
Restart-SignInstance -DisplayName $displayName
Ввод лицензии на КриптоПро CSP
Для просмотра информации о текущей лицензии выполните:
sudo "/opt/cprocsp/sbin/amd64/cpconfig" -license -view
Для ввода лицензии выполните:
sudo ./cpconfig -license -set <серийный_номер>
3. Активируйте лицензию TLS-сервера для CSP:
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set ‘Серийный номер лицензии’
Примечание
Серийный номер следует вводить с соблюдением регистра символов.
Ввод лицензии на TSP и OCSP Клиенты
Для ввода лицензии выполните:
sudo /opt/cprocsp/bin/amd64/ocsputil li -s <серийный_номер>
sudo /opt/cprocsp/bin/amd64/tsputil li -s <серийный_номер>
Активация и запуск сервисов
Внимание!
Перед выполнением данного этапа необходимо выполнить подготовительный этап, установить КриптоПро Ключ и дополнительное ПО, настроить подключение к КриптоПро HSM или тестовому считывателю, развернуть необходимые компоненты КриптоПро Ключ.
#Активация nginx
sudo systemctl enable --now cpnginx.service
#Активация сервисов КриптоПро Ключ
sudo systemctl enable --now cprokey-idsrv-sts.service
sudo systemctl enable --now cprokey-signsrv-signserver.service
sudo systemctl enable --now cprokey-fesrv-frontend.service
sudo systemctl enable --now cprokey-auditsrv-analyticsservice.service
sudo systemctl enable --now cprokey-docsrv-documentstore.service
sudo systemctl enable --now cprokey-mdagsrv-cprokey.service
sudo systemctl enable --now cprokey-mdagsrv-cryptokey.service
sudo systemctl enable --now cprokey-litesrv-lite.service
sudo systemctl enable --now cprokey-pushsrv.service
Конечные точки
В КриптоПро Ключ доступна проверка состояния конечных точек сервисов. В случае если сервис работает
штатно, при обращении к его конечной точке при помощи POST/GET-запроса будет возвращен HTTP-ответ с
кодом StatusCode = "200"
и JSON-Content: {"status": "Healthy"}
.
Список конечных точек сервисов КриптоПро Ключ:
#Центр Идентификации
https://$hostname/$idp_name/health
#Сервис Подписи
https://$hostname/$ss_name/health
#Сервис Аудита
https://$hostname/$audit_name/health
#Сервис обработки документов
https://$hostname/$ds_name/health
#SDK Gateway
https://$hostname:4431/$mdag_name/health
#Сервис Lite
https://$hostname/$lite_name/health
#Сервис PUSH-уведомлений
https://$hostname/pushsrv/health
Аутентификация на Веб-интерфейсе
В КриптоПро Ключ аутентификация и Операторов и пользователей на Веб-интерфейсе выполняется через единую конечную точку:
https://$hostname/$fe_name
После успешного прохождения аутентификации пользователю или Оператору будут предоставлены соответствующие возможности КриптоПро Ключ.
Настройка экземпляров сервисов КриптоПро Ключ
Центр Идентификации
1. Настройте сервисный сертификат Центра Идентификации (ЦИ) для обеспечения межсервисного взаимодействия компонентов. Сервисный сертификат может быть создан (или установлен из файла) при помощи соответствующего командлета:
$ids = New-IdsServiceCertificate -DisplayName $idp_name -SelfSigned -Install -Exportable -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType GR3410_2012_256 -ExpiresInDays 365 -Usage Service-Communications -PublicKeyOutput /opt/tmp/ids_self.cer -AddToLocalMachineRoot
#Где:
#SelfSigned – параметр, указывающий, что необходимо создать самоподписанный сервисный сертификат;
#Install – параметр, указывающий, что сервисный сертификат необходимо установить в хранилище mMy, с привязкой к ЗК;
#Exportable – флаг экспортируемости ключевого контейнера сервисного сертификата;
#ProviderName – имя провайдера для создания ключевого контейнера. На текущем примере выбран провайдер локального CSP, можно указать и провайдер HSM: "Crypto-Pro GOST R 34.10-2012 HSM CSP";
#ProviderType – тип алгоритма провайдера;
#ExpiresInDays – параметр, определяющий срок действия сервисного сертификата в днях;
#Usage = Service-Communications – параметр, указывающий, что необходимо создать сервисный сертификат для межсервисного взаимодействия;
#PublicKeyOutput – параметр, в котором указывается место сохранения сертификата открытого ключа;
#AddToLocalMachineRoot – параметр, указывающий на необходимость установки самоподписанного сертификата в хранилище mRoot.
2. Создайте сертификат Центра Идентификации для подписания маркеров безопасности:
$ids_token = New-IdsServiceCertificate -DisplayName $idp_name -SelfSigned -Install -Exportable -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType GR3410_2012_256 -ExpiresInDays 365 -Usage Token-Signing -PublicKeyOutput /opt/tmp/ids_self_token.cer -AddToLocalMachineRoot
#Где:
#Usage = Token-Signing – параметр, указывающий, что необходимо создать сервисный сертификат для подписания маркеров.
3. Задайте созданные сертификаты в качестве используемых по умолчанию Центром Идентификации:
Add-IdsServiceCertificate -DisplayName $idp_name -Thumbprint $ids.Certificate.Thumbprint -Usage Service-Communications -Primary
Add-IdsServiceCertificate -DisplayName $idp_name -Thumbprint $ids_token.Certificate.Thumbprint -Usage Token-Signing -Primary
#Где:
#Primary – параметр, указывающий, что сертификат с выбранным отпечатком должен использоваться Центром Идентификации по умолчанию (быть первичным).
Примечание
Перед установкой сертификата ЦИ Администратор должен убедиться, что в сертификате указано корректное назначение ключа (digitalSignature).
См. также:
4. Укажите порт, на котором будут прослушиваться соединения для аутентификации операторов и пользователей, с использованием сертификата:
Set-IdsProperties -DisplayName $idp_name -SslAuthPort 4430
5. Зарегистрируйте Оператора:
Add-IdsIdentityOperator -DisplayName $idp_name -Login "Логин Оператора" -Name "Имя Оператора" -IssuerName realsts -Certificate "Путь до файла сертификата оператора (.cer)"
6. Добавьте сертификат издателя сертификата Оператора в список доверенных:
Add-IdsX509Entry -DisplayName $idp_name -Certificate "Путь к файлу сертификата издателя сертификата оператора" -StoreName 'Client Certificate Issuers'
Внимание!
Установка сертификата издателя будет выполнена в БД Центра Идентификации. Выделенное системное хранилище сертификатов издателей не требуется.
7. Установите алгоритм шифрования ключа DPAPI для защиты cookie равным ГОСТ Р 34.12 - 2015 (К) в режиме MGM (выполнять только в случае, если сервисный сертификат Центра Идентификации создан с применением российских криптографических алгоритмов):
Set-IdsDataProtectionProperties -DisplayName $idp_name -EncryptionAlgorithm GR3412_2015_K_MGM
8. Сгенерируйте долгосрочный ключ DPAPI:
Add-IdsDataProtectionKey -DisplayName $idp_name -ActivateInDays 0 -ExpiresInDays 365
#В параметре -ActivateInDays указывается срок в днях, по истечении которого ключ будет активирован. При значении "0" – ключ активируется немедленно.
#В параметре -ExpiresInDays указывается срок действия ключа.
9. Добавьте криптопровайдеры, которые будут использоваться для создания ключей аутентификации мобильных приложений:
#Профиль двух криптопровайдеров HSM 80-ого типа
Add-IdsCryptoProviderProfile -DisplayName $idp_name -Name "mdag" -PrimaryProviderName "Crypto-Pro GOST R 34.10-2012 HSM CSP" -PrimaryProviderType 80 -Type MyDss
Параметр -Type
должен иметь следующее значение:
- для распределенных ключей:
cryptokey2
, - для всех остальных ключей:
mydss
.
10. Создайте группу лицензий и добавьте в нее группу пользователей:
$gr_lic = Add-IdsLicenseGroup -DisplayName $idp_name -Name license -LicenseeGroups Default #Default в данном случае – имя группы пользователей по умолчанию
11. Активируйте лицензии на право использования мобильных приложений и добавьте их в ранее созданную группу лицензий:
#Лицензия на модуль аутентификации мобильных приложений
Add-IdsLicense -DisplayName $idp_name -SerialNumber ‘Серийный номер лицензии’ -CompanyName 'Наименование конечного пользователя' -LicenseGroupId $gr_lic.id
См. также:
12. Включите метод аутентификации с использованием мобильных приложений:
Enable-IdsAuthenticationMethod -DisplayName $idp_name -Uri http://dss.cryptopro.ru/identity/authenticationmethod/mydss
Дополнительные настройки для мобильных приложений
Использование мобильного приложения со встроенным SDK в режиме без пользовательского интерфейса (Silent Mode)
Внимание!
Использование silent mode допускается только в сценарии сохранения пароля на устройстве для автоматизации последующего его ввода. В случае сохранения пароля на устройстве к нему предъявляются требования как к устройству хранения ключей (см. подробнее Правила пользования).
При необходимости подтверждать данные УЗ, формировать значение ЭП в автоматическом режиме без отображения их пользователю требуется оценка влияния (см. подробнее Правила пользования).
Разрешить работу SDK в режиме Silent Mode можно при помощи следующей команды:
Set-IdsMobileAppConfiguration -Id <ID выбранного мобильного приложения в выводе Get-idsMobileAppConfiguration> MyDssKeyProtectionType Weak
Другие настройки
Настройки могут быть выполнены на следующих уровнях (доступный уровень указан в таблице):
- Для всех пользователей (ЦИ) - командлет
Set-IdsMyDssProperties
, - Мобильное приложение (МП) - командлет
Set-IdsMobileAppConfiguration
.
Примечание
Настройки, выполненные на уровне мобильного приложения (Set-IdsMobileAppConfiguration
)
переопределяют настройки, заданные на уровне ЦИ (Set-IdsMyDssProperties
).
Рекомендуется выполнять настройки, доступные на обоих уровнях, на уровне мобильного приложения.
Общие параметры
Параметр | Тип | Уровень, на котором можно настроить | Описание |
---|---|---|---|
DisplayName | string | ЦИ | Имя экземпляра сервиса ЦИ, на котором выполняется настройка |
MyDssServiceUrl | string | ЦИ | Адрес Сервиса взаимодействия с SDK (mdag). Взаимоисключающий с параметром MdagAddress |
MdagAddress | string | МП | Адрес Сервиса взаимодействия с SDK (mdag). Взаимоисключающий с параметром MyDssServiceUrl |
UseLocalDocumentView | bool | ЦИ, МП | Отображать документ локально встроенными средствами SDK. См. также примечание ниже |
DocumentSelectionMode | string | ЦИ, МП | Возможность разрешить\запретить подтверждение части документов в операции. Допустимые значения: * none - значение используется по умолчанию и зависит от настроек в мобильном приложении, * ForcePartialPackageOperation - разрешить частичное подтверждение, * ForceEntirePackageOperation - запретить частичное подтверждение. Подробнее см. Руководство разработчика для мобильных приложений |
DenyOSProtection | bool | ЦИ, МП | Разрешить использование биометрических данных в мобильном приложении. Подробнее см. Руководство разработчика для мобильных приложений |
MyDssKeyProtectionType | string | ЦИ, МП | Режим без пользовательского интерфейса |
MyDssTimeWindow | int | ЦИ | Допустимое расхождение времени между клиентом и сервером в интервалах по 180 секунд |
PasswordPolicy | string | ЦИ, МП | Настройка сложности ПИН-кода (пароля) в мобильном приложении. Допустимы следующие значения параметра * -PasswordPolicy :* NoPolicy - требования не предъявляются,* Weak - минимум 6 символов,* Medium минимум 8 символов, обязательно должен содержать строчные и прописные буквы,* Strong - минимум 8 символов, обязательно должен содержать строчные и прописные буквы, а также цифры. Подробнее см. Руководство разработчика для мобильных приложений |
IncludeLoginInProfile | bool | ЦИ, МП | Включать логин пользователя в список подтверждаемых данных при привязке мобильного устройства к учетной записи. Тип включаемых данных можно указать в параметре LoginType |
LoginType | string | ЦИ, МП | Тип данных о пользователе, которые отображаются в МП при подтверждении учетной записи. Допустимые значения: * None - не включать данные, * Login - логин пользователя, * DisplayName - отображаемое имя пользователя, * UserId - идентификатор пользователя, * Phone - номер телефона,* Email - адрес электронной почты |
KeyCacheCapacity | uint | ЦИ | Размер кэша ключей аутентификации в количестве ключей |
KeyCacheTimeOutSeconds | uint | ЦИ | Время жизни ключей аутентификации в кэше (в секундах) |
AuthKeyType | string | МП | Поддерживаемые типы ключей. Допустимые значения: * AuthKeyType :* Cryptokey2 - только распределенные ключи,DssSdk - все остальные типы хранения ключей. Подробнее см. Руководство разработчика для мобильных приложений |
PushType | string | МП | Тип модуля для PUSH-уведомлений. Допустимые значения: * none - не используется ,* PushProxy - если используется Сервис PUSH-уведомлений |
SDKType | string | МП | Тип лицензии для модулей аутентификации мобильных приложений. Допустимые значения: * CryptoPro ,* SafeTech |
SystemId | string | МП | GUID настраиваемого мобильного приложения. Получить список настроенных приложений можно при помощи командлета Get-IdsMobileAppConfiguration |
Примечание
Использование локального отображения средствами SDK (параметр UseLocalDocumentView) является обязательным в случае использования Группы исполнений 1 (поддержки распределенного хранения и использования ключей подписи).
Параметры для работы с распределенными ключами
Параметр | Тип | Уровень, на котором можно настроить | Описание |
---|---|---|---|
CkLockOutTimeOuts | List[uint] | ЦИ, МП | Список интервалов времени блокировки при исчерпании количества неверных попыток ввода пароля. Используется в сценариях работы с распределенными ключами |
CkMaxSequentialPasswordFailedAttempts | uint | ЦИ, МП | Количество неверных попыток ввода пароля подряд. Используется в сценариях работы с распределенными ключами |
CkSessionTimeOutSeconds | uint | ЦИ, МП | Время жизни сессии (пароль не будет повторно запрошен) в секундах. Используется в сценариях работы с распределенными ключами |
PasswordAutoGeneration | bool | ЦИ, МП | Требовать генерацию пароля на ключ аутентификации в SDK. Используется в сценариях работы с распределенными ключами |
Привязка устройства с уникальным идентификатором
Параметр | Тип | Уровень, на котором можно настроить | Описание |
---|---|---|---|
GeneratedAliasLength | int | ЦИ | Длина сгенерированного сервером уникального идентификатора мобильного устройства. Используется в сценарии онлайн-регистрации ("анонимная" с уникальным идентификатором) |
MyDssSelfRegEnabled | bool | ЦИ, МП | Разрешение самостоятельной привязки пользователем мобильного устройства к учетной записи. Используется в сценарии онлайн-регистрации ("анонимная" с уникальным идентификатором). Подробнее см. Руководство разработчика для мобильных приложений |
NonceVerificationRequired | bool | ЦИ, МП | Использовать дополнительный QR-код для подтверждения привязки мобильного устройства к учетной записи пользователя. Используется в сценарии онлайн-регистрации ("анонимная" с уникальным идентификатором) |
UseAliasCheckSum | bool | ЦИ | Вычислять контрольную сумму для уникального идентификатора. Используется в сценарии онлайн-регистрации ("анонимная" с уникальным идентификатором) |
Привязка устройства при помощи QR-кода
Параметр | Тип | Уровень, на котором можно настроить | Описание |
---|---|---|---|
KeyInfoDivideByUserRequired | bool | ЦИ, МП | Использовать код подтверждения при создании QR-кода пользователем. Используется в сценарии привязки мобильного устройства при помощи QR-кода. Подробнее см. Руководство разработчика для мобильных приложений |
KeyInfoDivideRequired | bool | ЦИ, МП | Использовать код подтверждения при создании QR-кода Оператором. Используется в сценарии привязки мобильного устройства при помощи QR-кода. Подробнее см. Руководство разработчика для мобильных приложений |
KInitLifeTimeDays | int | ЦИ, МП | Срок действия QR-кода в днях. По умолчанию равен 7. Используется в сценарии привязки мобильного устройства при помощи QR-кода |
QrCodeDisplayFormat | string | ЦИ, МП | Способы получения QR-кода Оператором. Допустимые значения: * Screen - Вывод QR-кода на экран. * File - Сохранение QR-кода в файл. * Frame - Отображение QR-кода на отдельном экране.* PrintOnly - Отправка QR-кода на печать без отображения. Используется в сценарии привязки мобильного устройства при помощи QR-кода |
SecondKeyPartLength | int | ЦИ, МП | Длина кода подтверждения. Используется в сценарии привязки мобильного устройства при помощи QR-кода |
SendQrCodeByEmailPermitted | bool | ЦИ, МП | Отправлять QR-код в сообщении электронной почты. Используется в сценарии привязки мобильного устройства при помощи QR-кода |
Привязка устройства при помощи сертификата
Параметр | Тип | Уровень, на котором можно настроить | Описание |
---|---|---|---|
CertifyCallbackUrl | string | ЦИ | Адрес взаимодействия с Сервисом Подписи. Используется в сценариях регистрации при помощи мобильного приложения по сертификату |
CertifyDnPolicyId | int | ЦИ, МП | Идентификатор политики различительного имени пользователя. Используется в сценариях регистрации при помощи мобильного приложения по сертификату |
CertifyRdnOidForLogin | string | ЦИ, МП | OID компонента имени в имени субъекта сертификата, который будет использован в качестве логина пользователя. Используется в сценариях регистрации при помощи мобильного приложения по сертификату |
CertifyUserGroup | string | ЦИ, МП | Группа, в которую будет добавлен пользователь. Используется в сценариях регистрации при помощи мобильного приложения по сертификату |
CertifyWithApproveRequired | bool | ЦИ, МП | Повторная привязка устройства по сертификату требует подтвержденной оператором учётной записи пользователя. Используется в сценариях регистрации при помощи мобильного приложения по сертификату |
CertifyWithUntrustedIssuers | bool | ЦИ, МП | Разрешается ли создание УЗ через установку сертификата от "недоверенного издателя". Используется в сценариях регистрации при помощи мобильного приложения по сертификату |
ProfileChangesVerificationRequired | bool | ЦИ, МП | Подтверждать изменения профиля пользователя в мобильном приложении повторно. Используется в сценариях регистрации при помощи мобильного приложения по сертификату |
Сервис Подписи
1. Создайте сертификат Сервиса Подписи для межсервисного взаимодействия:
$ss = New-SignServiceCertificate -DisplayName $ss_name -SelfSigned -Install -Exportable -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType GR3410_2012_256 -ExpiresInDays 365 -PublicKeyOutput /opt/tmp/ss_self.cer -AddToLocalMachineRoot
2. Задайте созданный сертификат в качестве используемого по умолчанию Сервисом Подписи:
Add-SignServiceCertificate -DisplayName $ss_name -Thumbprint $ss.Certificate.Thumbprint -Primary
3. Настройте отношения доверия с Центром Идентификации:
Add-SignClaimsProviderTrust -DisplayName $ss_name -IssuerName realsts -Certificate /opt/tmp/ids_self.cer
Add-SignClaimsProviderTrust -DisplayName $ss_name -IssuerName realsts2 -Certificate /opt/tmp/ids_self_token.cer
4. Активируйте лицензию Сервиса Подписи:
Add-SignLicense -DisplayName $ss_name -SerialNumber ‘Серийный номер лицензии’ -CompanyName 'Наименование конечного пользователя'
5. Добавьте криптопровайдеры:
#Криптопровайдер локального CSP 80-ого типа для создания неподписанных запросов для мобильных приложений
Add-SignCryptoProvider -DisplayName $ss_name -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType 80 -TypeId Lite
#Криптопровайдер HSM 80-ого типа для создания распределенных ключей
Add-SignCryptoProvider -DisplayName $ss_name -ProviderName "Crypto-Pro GOST R 34.10-2012 HSM CSP" -ProviderType 80 -TypeId DistributedKey
6. Добавьте офлайн-обработчик запросов на сертификат:
Add-SignEnrollment -DisplayName $ss_name -Type EnrollOutOfBand -EnrollDisplayName "Сторонний УЦ" -ValidationMode ChainOnline -RdnConfig "Путь к файлу rdn.config" -TemplatesConfig "Путь к файлу templates.config"
7. Добавьте обработчик для Windows-исполнения УЦ 2.0 (только для работы в тестовом режиме):
#Установите сертификат Оператора ЦР
/opt/cprocsp/bin/amd64/certmgr -inst -file /path/to/oper.pfx -pfx -pin <pin_for_pfx> -store mmy
#Выдайте права на чтение УЗ dss_service на ключевой контейнер с сертификатом Оператора ЦР
#Объявите параметры обработчика:
$endn = 'Тестовый подчиненный УЦ ООО "КРИПТО-ПРО" ГОСТ 2012 (УЦ 2.0)' #Отображаемое имя
$enuri = "https://testca2012.cryptopro.ru/RA/RegAuthLegacyService.svc" #Адрес Сервиса ЦР
$enfolder = "3bdbf973-b216-4335-b443-ac5900a92715" #ID папки ЦР
$enauth = 'Тестовый подчиненный УЦ ООО "КРИПТО-ПРО" ГОСТ 2012 (УЦ 2.0)' #AuthorityName ЦС
$oper_ra = 'отпечаток сертификата оператора ЦР'
#Добавляем обработчик:
Add-SignEnrollment -DisplayName $ss_name -Type CryptoProCA20 -EnrollDisplayName $endn -CAServiceUrl $enuri -ValidationMode ChainOnline -FolderId $enfolder -AuthorityName $enauth – OperatorCertificateThumbprint $oper_ra
Примечание
Ключ и сертификат администратора ЦР после добавления обработчика будут добавлены в БД Сервиса Подписи
8. Добавление обработчика для *-nix-исполнений КриптоПро УЦ 2.0
Установите сертификаты Операторов ЦР для подписания запросов и 2-X TLS.
/opt/cprocsp/bin/amd64/certmgr -inst -file /path/to/oper.pfx -pfx -pin <pin_for_pfx> -store mmy
#Выдайте права на чтение УЗ dss_service на ключевые контейнеры с сертификатами Операторов ЦР
#Объявите параметры обработчика:
$endn = 'УЦ REST' #Отображаемое имя обработчика
$ra_foldername = 'RA' #Наименование целевой папки на ЦР
$ra_url = 'https://ra_hostname' #Адрес ЦР
$oper_sign = 'отпечаток сертификата оператора ЦР для подписания запросов'
$oper_tls = 'отпечаток сертификата оператора ЦР для 2-X TLS'
#Добавляем обработчик:
Add-SignEnrollment -DisplayName $ss_name -Type CryptoProCA20Rest -EnrollDisplayName $endn -OperatorCertificateThumbprint $oper_sign -OperatorTlsCertThumbprint $oper_tls -UserSearchOid 2.5.4.3 -CAServiceUrl $ra_url -FolderName $ra_foldername -SubjectRenamePolicy AdminUser -ValidationMode ChainOnline
#Где:
#UserSearchOid – OID компонента имени для поиска пользователя в ЦР
#SubjectRenamePolicy – политика переименования пользователя на ЦР в случае, если компоненты имени из запроса на сертификат отличаются от компонент имени пользователя ЦР. Возможные значения:
#- Forbidden – модулю УЦ запрещено выполнять переименование пользователя на ЦР.
#- AdminOnly – модуль УЦ будет пытаться переименовать пользователя ЦР только в том случае, если запрос на сертификат создавался от имени Оператора Ключа (не путать с оператором УЦ).
#- AdminUser - модуль УЦ будет пытаться переименовать пользователя ЦР всегда.
9. Зарегистрируйте службу TSP:
Add-SignTspService -DisplayName $ss_name -Name <имя службы TSP> -Title <отображаемое имя службы TSP> -Url <адрес службы TSP>
# Добавление тестовой службы TSP:
Add-SignTspService -DisplayName $ss_name -Name testca2012 -Title testca2012 -Url http://testca2012.cryptopro.ru/tsp/tsp.srf
10. Добавьте проверяющую сторону Сервиса Подписи:
Add-IdsRelyingPartyTrust -DisplayName $idp_name -name signserver -Description "Сервис Подписи" -Identities "urn:cryptopro:dss:signserver:$ss_name","https://$hostname/$ss_name/rest/api","https://$hostname/$ss_name"
11. Зарегистрируйте плагины XML-преобразований:
#Плагин XML-преобразования XPath Filter 2.0
Add-SignTransformPlugin -DisplayName $ss_name -Assembly CryptoPro.Plugins.Xml.Transforms.dll -Classname CryptoPro.Plugins.Xml.Transforms.Filter2SubstractTransform -Identifiers "http://www.w3.org/2002/06/xmldsig-filter2"
#Плагин XML-преобразования Фонда Социального Страхования (ФСС)
Add-SignTransformPlugin -DisplayName $ss_name -Assembly CryptoPro.Plugins.Xml.Transforms.dll -Classname CryptoPro.Plugins.Xml.Transforms.XmlFssTransform -Identifiers "urn:xml-dsig:transformation:v1.1"
Дополнительные настройки
Изменение алгоритма шифрования по умолчанию:
Set-SignProperties -DefaultEncryptionAlg [G28147 | GR3412_K | GR3412_K_OMAC | GR3412_M | GR3412_M_OMAC]
Доступные значения:
- 1.2.643.7.1.1.5.1.1 - "Магма",
- 1.2.643.7.1.1.5.2.1 - "Кузнечик",
- 1.2.643.2.2.21 - ГОСТ Р 28147-89.
Значения OMAC:
- 1.2.643.7.1.1.5.1.2 - "Магма",
- 1.2.643.7.1.1.5.2.2 - "Кузнечик".
По умолчанию используется 1.2.643.7.1.1.5.2.1 - "Кузнечик".
Веб-интерфейс
1. Создайте сертификат Веб-интерфейса для межсервисного взаимодействия:
$fe = New-FeServiceCertificate -DisplayName $fe_name -SelfSigned -Install -Exportable -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType GR3410_2012_256 -ExpiresInDays 365 -PublicKeyOutput /opt/tmp/fe_self.cer -AddToLocalMachineRoot
2. Задайте созданный сертификат в качестве используемого по умолчанию Веб-интерфейсом:
Add-FeServiceCertificate -DisplayName $fe_name -Thumbprint $fe.Certificate.Thumbprint -Primary
3. Настройте отношения доверия с Центром Идентификации:
Add-FeClaimsProviderTrust -DisplayName $fe_name -IssuerName realsts -Certificate /opt/tmp/ids_self.cer
Add-FeClaimsProviderTrust -DisplayName $fe_name -IssuerName realsts2 -Certificate /opt/tmp/ids_self_token.cer
4. Укажите адреса Центра Идентификации и Сервиса Подписи:
Set-FEProperties -DisplayName $fe_name -SignServerAddress http://$hostname/$ss_name -StsAddress http://$hostname/$idp_name
5. Установите алгоритм шифрования ключа DPAPI (Data Protection API) для шифрования cookie равным ГОСТ Р 34.12 - 2015 (К) в режиме MGM (выполнять только в том случае, если сервисный сертификат Веб-интерфейса создан с применением российских криптографических алгоритмов):
Set-FeDataProtectionPropterties -DisplayName $fe_name -EncryptionAlgorithm GR3412_2015_K_MGM
6. Сгенерируйте долгосрочный ключ для шифрования cookie:
Add-FeDataProtectionKey -DisplayName $fe_name -ActivateInDays 0 -ExpiresInDays 365
7. Выполните настройку для обеспечения связки "Центр Идентификации" – "Веб-интерфейс":
#Создание oauth-клиента на Центре Идентификации
Add-IdsClient -DisplayName $idp_name -Identifier "cryptopro.dss.frontend.$fe_name" -Name frontend -AllowedFlow AuthorizationCode,ClientCredentials,TokenExchange,RefreshToken -RedirectUri "https://$hostname/$fe_name/signin-oidc" -RefreshTokenUsage ReUse -GenerateSecret -SecretLifetime 0 -ElevateLoa
#Получение значение секрета для созданного oauth-клиента
$clientfe_secret = (Get-IdsClientSecret -DisplayName $idp_name -ClientId "cryptopro.dss.frontend.$fe_name").value
#Настройка доступа на Веб-интерфейсе:
Set-FeOidcSettings -DisplayName $fe_name -ClientId "cryptopro.dss.frontend.$fe_name" -ClientSecret $clientfe_secret -Realm "https://$hostname/$fe_name/" -Issuer "https://$hostname/$idp_name/" -AuthorizationEndpoint "https://$hostname/$idp_name/oauth/authorize" -TokenEndpoint "http://$hostname/$idp_name/oauth/token" -EndSessionEndpoint "https://$hostname/$idp_name/oauth/endsession"
Примечание
При регистрации OAuth-клиента Веб-интерфейса необходимо обязательно указывать параметр -ElevateLoa
,
позволяющий повысить уровень доверия.
8. Добавьте проверяющую сторону Веб-Интерфейса:
Add-IdsRelyingPartyTrust -DisplayName $idp_name -name frontend -Description "Веб-интерфейс" -Identities "urn:cryptopro:dss:frontend:$fe_name"
9. Настройте интеграцию Веб-Интерфейса и Службы проверки сертификатов и электронной подписи КриптоПро SVS (при его использовании):
Set-FeProperties -DisplayName $fe_name -VerificationServiceAddress https://svs_hostname/svs_appname
Сервис Аудита
1. Создайте сертификат Сервиса Аудита для межсервисного взаимодействия:
$audit = New-AuditServiceCertificate -DisplayName $audit_name -SelfSigned -Install -Exportable -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType GR3410_2012_256 -ExpiresInDays 365 -PublicKeyOutput /opt/tmp/audit_self.cer -AddToLocalMachineRoot
2. Задайте созданный сертификат в качестве используемого по умолчанию Сервисом Аудита:
Add-AuditServiceCertificate -DisplayName $audit_name -Thumbprint $audit.Certificate.Thumbprint -Primary
3. Настройте отношения доверия с Центром Идентификации:
Add-AuditClaimsProviderTrust -DisplayName $audit_name -IssuerName realsts -Certificate /opt/tmp/ids_self.cer
Add-AuditClaimsProviderTrust -DisplayName $audit_name -IssuerName realsts2 -Certificate /opt/tmp/ids_self_token.cer
4. Добавьте проверяющую сторону Сервиса Аудита:
Add-IdsRelyingPartyTrust -DisplayName $idp_name -name analyticsservice -Identities "urn:cryptopro:dss:analytics:$audit_name" -Description "Сервис Аудита"
5. Настройте интеграцию прочих Сервисов с Сервисом Аудита:
#Центр Идентификации
Set-IdsProperties -DisplayName $idp_name -AnalyticsServiceAddress http://$hostname/$audit_name
#Веб-Интерфейс
Set-FeProperties -DisplayName $fe_name -AnalyticsServiceAddress http://$hostname/$audit_name
#mDAG
Set-MdagProperties -DisplayName $mdag_name -AnalyticsBaseAddress http://$hostname/$audit_name
Set-MdagProperties -DisplayName $mdag_name_2 -AnalyticsBaseAddress http://$hostname/$audit_name
6. Добавьте модули формирования событий Аудита:
#Центр Идентификации
New-IdsAudit -DisplayName $idp_name -AuditServiceAddress http://$hostname/$audit_name/api/writer
#Сервис Подписи
New-SignAudit -DisplayName $ss_name -AuditServiceAddress http://$hostname/$audit_name/api/writer
#Сервис Обработки Документов
New-DsAudit -DisplayName $ds_name -AuditServiceAddress http://$hostname/$audit_name/api/writer
См. также:
Сервис Обработки Документов
1. Создайте сертификат Сервиса обработки документов для межсервисного взаимодействия:
$ds = New-DsServiceCertificate -DisplayName $ds_name -SelfSigned -Install -Exportable -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType GR3410_2012_256 -ExpiresInDays 365 -PublicKeyOutput /opt/tmp/ds_self.cer -AddToLocalMachineRoot
2. Задайте созданный сертификат в качестве используемого по умолчанию Сервисом обработки документов:
Add-DsServiceCertificate -DisplayName $ds_name -Thumbprint $ds.Certificate.Thumbprint -Primary
3. Настройте отношения доверия с Центром Идентификации и Сервисом Подписи:
Add-DsClaimsProviderTrust -DisplayName $ds_name -IssuerName realsts -Certificate /opt/tmp/ids_self.cer
Add-DsClaimsProviderTrust -DisplayName $ds_name -IssuerName realsts2 -Certificate /opt/tmp/ids_self_token.cer
Add-DsClaimsProviderTrust -DisplayName $ds_name -IssuerName signserver -Certificate /opt/tmp/ss_self.cer
4. Добавьте проверяющую сторону Сервиса обработки документов:
Add-IdsRelyingPartyTrust -DisplayName $idp_name -name documentstore -Description "Сервис обработки документов" -Identities "urn:cryptopro:dss:documentstore:$ds_name"
5. Настройте интеграцию прочих сервисов с Сервисом Обработки Документов:
#Центр Идентификации
Set-IdSProperties -DisplayName $idp_name -DocumentStoreAddress http://$hostname/$ds_name
#Сервис Подписи
Set-SignProperties -DisplayName $ss_name -DocumentStoreAddress http://$hostname/$ds_name
#Веб-интерфейс
Set-FeProperties -DisplayName $fe_name -DocumentStoreAddress http://$hostname/$ds_name
#mDAG
Set-MdagProperties -DisplayName $mdag_name -DocumentStoreBaseAddress http://$hostname/$ds_name
Set-MdagProperties -DisplayName $mdag_name_2 -DocumentStoreBaseAddress http://$hostname/$ds_name
Настройка PUSH-уведомлений
Настройка PUSH-уведомлений представляет собой набор следующих шагов, некоторые из которых могут быть пропущены в зависимости от текущих настроек.
- Настройка Сервиса PUSH-уведомлений.
- Настройка плагина рассылки PUSH-уведомлений.
См. также:
Настройка Сервиса PUSH-уведомлений (PUSH Service)
Сервис PUSH-уведомлений позволяет управлять доставкой PUSH-уведомлений пользователям в различные мобильные приложения. При необходимости PUSH Service позволяет организовать соединение с внешними PUSH-серверами из выделенного сегмента сети (DMZ), как это изображено на рисунке ниже.
Предварительные настройки
PUSH Service представляет собой веб-сервис, не требующий наличия БД. Перед установкой и развертыванием PUSH Service необходимо обеспечить наличие следующих компонентов:
- Сервер в DMZ для доступа к PUSH-серверам (выделять отдельный сервер под PUSH Service необязательно);
- ОС из списка поддерживаемых ОС (см. Общее Описание из комплекта документации);
- Установленный и настроенный веб-сервер;
- Установленный PUSH Service (входит в комплект поставки либо может быть получен на сайте);
- Созданный экземпляр PUSH Service;
- Доступ к PUSH-серверам.
Примечание
PUSH Service использует новый протокол взаимодействия с сервером Apple Push Notification Service. Доступ к APNS осуществляется по протоколу HTTP/2 и TLS 1.2.
- Development server:
api.sandbox.push.apple.com:443
- Production server:
api.push.apple.com:443
Доступ к Google API HTTP v1: *.googleapis.com:443
.
Доступ к Huawei Mobile Services:
https://oauth-login.cloud.huawei.com/oauth2/v2/token
https://push-api.cloud.huawei.com/v1
Примечание
Для отправки PUSH-уведомлений на устройства Apple требуется сертификат с клиентской
аутентификацией (-ApnClientCertPath
и -ApnClientCertPassword
) на Apple Push Notification Service. Получить данный сертификат можно по запросу
на dsssupport@cryptopro.ru
. В запросе необходимо указать также имя приложения, для которого требуется получать уведомления.
Для отправки PUSH-уведомлений на устройства Android требуется получить ключ доступа к Firebase
Google API HTTP v1 (-ServiceAccountFile
). Получить данный ключ можно по запросу на dsssupport@cryptopro.ru
.
В запросе необходимо указать также имя приложения, для которого требуется получать уведомления.
Для отправки PUSH-уведомлений на устройства Huawei требуется получить ключ доступа к
HUAWEI Mobile Services (-ClientID
, -ClientSecret
). Получить данный ключ можно по запросу на dsssupport@cryptopro.ru
.
В запросе необходимо указать также имя приложения, для которого требуется получать уведомления.
Настройка уведомлений для мобильного приложения
Внимание!
Рекомендуется настраивать один модуль для одного мобильного приложения.
1. Создайте модуль PUSH Service, плагины которого будут использоваться для отправки Push-уведомлений в мобильное приложение на устройствах под управлением ОС iOS и Android (включая устройства без поддержки сервисов Google Play). Модуль PUSH Service представляет собой набор плагинов, позволяющих отправлять PUSH-уведомления на устройства пользователей под управлением ОС iOS и Android (в т.ч. для устройств Huawei).
$pp_module = "mymobileapp" #Имя модуля сервиса PUSH Service для выбранного мобильного приложения
New-PushModule -ModuleName $pp_module -AuthLogin {{логин}} -AuthPassword {{пароль}}
#В AuthLogin и AuthPassword передаются соответственно произвольное имя УЗ и пароль, которые были\будут указаны при создании прикладной системы оповещения в настройке плагинов (см. ниже)
2. Настройте плагин отправки Push-уведомлений для устройств под управлением ОС iOS:
Set-PushModuleApnProperties -ModuleName $pp_module -AppBundleIdentifier "..." -TeamId "..." -P8PrivateKeyId "..." -P8PrivateKeyFile "Путь к файлу ..."
#Где:
* `-AppBundleIdentifier` - уникальный идентификатор приложения в магазине приложений App Store;
* `-TeamId` - уникальный идентификатор группы разработчиков;
* `-P8PrivateKeyId` идентификатор ключа, используемого для подключения к APN;
* `-P8PrivateKeyFile` - контейнер с закрытым ключом для подключения к APN;
3. Настройте плагин отправки Push-уведомлений для устройств под управлением ОС Android (с поддержкой Google-сервисов):
Set-PushModuleFcmProperties -ModuleName $pp_module -GoogleServiceKey "..."
#Где:
#GoogleServiceKey – ключ доступа к серверу рассылки Push-уведомлений Google
4. Настройте плагин отправки Push-уведомлений для устройств под управлением ОС Android (без поддержки Google-сервисов, устройства Huawei):
Set-PushModuleHmsProperties -ModuleName $pp_module -ClientId "..." -ClientSecret "..."
#Где:
#ClientId – идентификатор для подключения к серверу рассылки Push-уведомлений Huawei
#ClientSecret – ключ доступа к серверу рассылки Push-уведомлений
5. Включите плагины отправки Push-уведомлений:
# Включение модуля APNS
Enable-PushModuleApn -ModuleName $pp_module
# Включение модуля FCM
Enable-PushModuleFcm -ModuleName $pp_module
# Включение модуля HMS
Enable-PushModuleHms -ModuleName $pp_module
Настройка плагинов рассылки PUSH-уведомлений
В большинстве случаев данный этап мог быть выполнен на этапе развертывания Сервиса Взаимодействия с SDK. Данный этап необходим, если настройка плагина выполняется впервые либо необходима перенастройка существующего плагина.
В ЦИ может быть зарегистрировано несколько наборов плагинов (прикладных систем) для отправки PUSH-уведомлений. Каждая из этих прикладных систем ассоциирована с одним мобильным приложением, используемым какой-либо организацией.
Примечание
Несколько прикладных систем, находящихся в пределах одного ЦИ, могут быть подключены к одному экземпляру сервиса PUSH Service. При этом для каждой из систем на сервисе PUSH Service должен быть зарегистрирован соответствующий модуль.
Примечание
Несколько экземпляров ЦИ с зарегистрированными на них прикладными системами также могут быть подключены к одному экземпляру PUSH Service. В этом случае для каждой из прикладных систем каждого экземпляров ЦИ должен быть зарегистрирован соответствующий модуль на сервисе PUSH Service.
Настройка нового плагина рассылки PUSH-уведомлений
Для того, чтобы настроить новый транспортный плагин для использования с PUSH Service, необходимо задать следующие параметры в командлете Add-MyDssSystem:
PushType
- сущность, создающая PUSH-уведомления. Для PUSH Service необходимо использовать значениеPushProxy
.PushProxyLogin
,PushProxyPassword
- учетные данные для подключения к экземпляру сервиса PUSH Service, которые были заданы на этапе настройки модуля PUSH ServicePushProxyAddress
- URL-адрес PUSH Service
URL-адрес сервиса PUSH Service имеет следующий формат:
http(s)://<hostname>/pushproxy/<modulename>
где
hostname
- DNS-имя сервера, на котором развернут PUSH Service;pushproxy
- имя экземпляра сервиса, указанное при его создании в параметре-InstanceName
;modulename
- имя модуля PUSH Service.
Пример развертывания:
#Имя экземпляра Центра Идентификации
$STSAppName = "STS"
#URL MDAG
$mdagUrl = "https://<hostname>/mdag"
#Отображаемое имя системы
$systemDisplayName = "system_display_name"
#Регистрация системы
#При регистрации также будут зарегистрированы модули оповещения и OAuth-клиент
Add-IdsMobileAppConfiguration -DisplayName $idp_name -Name cprokey -MyDssAddress "https://$($hostname):4431/$mdag_name" -PushType PushProxy -PushProxyAddress "http://$($hostname)/pushsrv/$pp_module" -PushProxyLogin Admin -PushProxyPassword "1qaz@WSX"```
Настройка существующего плагина рассылки PUSH-уведомлений
Для того, чтобы перенаправить PUSH-уведомления, отправляемые траспортным плагином, на сервис PUSH Service, необходимо получить идентификатор данного плагина. Получить идентификатор возможно при помощи командлета Get-IdsPlugin. После этого необходимо задать новые параметры для выбранного плагина:
UsePushProxy
- включение/отключение отправки Push-уведомлений через сервис PUSH ServicePushProxyLogin
,PushProxyPassword
- учетные данные для подключения к экземпляру сервиса PUSH Service, которые были заданы на этапе настройки модуля PUSH ServicePushProxyAddress
- URL-адрес PUSH Service
URL-адрес сервиса PUSH Service имеет следующий формат:
http(s)://<hostname>/pushproxy/<modulename>
где
hostname
- DNS-имя сервера, на котором развернут PUSH Service;pushproxy
- имя экземпляра сервиса, указанное при его создании в параметре-InstanceName
;modulename
- имя модуля PUSH Service.
Пример перенастройки:
#Подготовка данных
#Идентификатор прикладной системы. Значение можно получить при помощи командлета Get-IdsMobileAppConfiguration
$systemID = "ID прикладной системы"
#Наименование экземпляра ЦИ
$STSAppName = "STS"
$hostname = "DNS-имя сервера, на котором развернут сервис PushProxy"
$pushproxy_instance = "Имя экземпляра сервиса PushProxy"
$modulename = "Имя модуля рассылки сервиса PushProxy"
$proxy_login = "Логин для подключения к модулю рассылки сервиса PushProxy"
$proxy_password = "Пароль для подключения к модулю рассылки сервиса PushProxy"
#Интеграция с сервисом PushProxy
Set-IdsMobileAppConfiguration -DisplayName $STSAppName -SystemId $systemID -PushType PushProxy -PushProxyAddress "https://$hostname/$pushproxy_instance/$modulename" -PushProxyLogin $proxy_login -PushProxyPassword $proxy_password
#Перезапуск экземпляра ЦИ
Restart-IdsInstance
Шаблоны PUSH-уведомлений
Шаблоны уведомлений КриптоПро Ключ
#CertificateCreated
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 20 -MyDssSystemId $mydsssystem.id -Text 'Изменился статус сертификата' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}", "login":"{0:Login}", "action":"cert_created"}'
#CertificateDeleted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 46 -MyDssSystemId $mydsssystem.id -Text 'Сертификат удалён' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Сертификат удалён", "body": "Для учетной {0:Login} был удален сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_deleted"}'
#CertificateRevoke
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 48 -MyDssSystemId $mydsssystem.id -Text 'Сертификат отозван' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.revoked", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} был отозван сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_revoked"}'
#CertificateHold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 49 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата приостановлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_suspended"}'
#CertificateUnhold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 50 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата возобновлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_resumed"}'
#CertificateSetDefault
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 53 -MyDssSystemId $mydsssystem.id -Text 'Назначен сертификат по умолчанию' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Установлен сертификат по умолчанию", "body": "Для учетной {0:Login} установлен сертификат по умолчанию", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_change_default"}'
#CertificateInstalled
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 58 -MyDssSystemId $mydsssystem.id -Text 'Сертификат установлен' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_sent"}'
#SecondaryAuthLogin
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 92 -MyDssSystemId $mydsssystem.id -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title":"Доступна новая операция для подтверждения", "body": "Новая операция ожидает подтверждения в приложении", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}", "login":"{0:Login}", "action":"operation_created"}'
#SecondaryAuthSign
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 93 -MyDssSystemId $mydsssystem.id -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title": "{0:CertFriendlyName}", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
#SecondaryAuthSignDocs
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 94 -MyDssSystemId $mydsssystem.id -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title": "Доступна новая операция для подтверждения", "body": "Новый пакет документов на подпись ожидает подтверждения в приложении", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}", "login":"{0:Login}", "action":"sign_operation_created"}'
#CertificateRequestOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 270 -MyDssSystemId $mydsssystem.id -Text 'Изменился статус сертификата' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}", "login":"{0:Login}", "action":"cert_created"}'
#ChangeCertificateStatusOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 276 -MyDssSystemId $mydsssystem.id -Text 'Назначен сертификат по умолчанию' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Установлен сертификат по умолчанию", "body": "Для учетной {0:Login} установлен сертификат по умолчанию", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_change_default"}'
#DeleteCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 280 -MyDssSystemId $mydsssystem.id -Text 'Сертификат удалён' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Сертификат удалён", "body": "Для учетной {0:Login} был удален сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_deleted"}'
#RevokeCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 282 -MyDssSystemId $mydsssystem.id -Text 'Сертификат отозван' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.revoked", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} был отозван сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_revoked"}'
#HoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 284 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата приостановлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_suspended"}'
#UnHoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 286 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата возобновлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_resumed"}'
#AssignMyDssSdkDevice
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 234 -MyDssSystemId $mydsssystem.id -Text 'Подтвердите данные учётной записи' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.info.changed", "loc_key": "notification.user.accept", "title": "Изменились данные пользователя", "body": "Оператор привязал устройство к учетной записи {0:Login}", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"binded"}'
#myDssDeviceLocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 320 -MyDssSystemId $mydsssystem.id -Text 'Профиль устройства заблокирован на сервере' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.blocked", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была заблокирована", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"blocked"}'
#myDssDeviceUnlocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 321 -MyDssSystemId $mydsssystem.id -Text 'Профиль устройства разблокирован на сервере' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.unblocked", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была разблокирована", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"unblocked"}'
#myDssDeviceDelete
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 322 -MyDssSystemId $mydsssystem.id -Text 'Устройство отвязано от учётной записи' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.deleted", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была разорвана", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"unbinded"}'
Шаблоны уведомлений КриптоКлюч
#AssignMyDssSdkDevice
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 234 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Подтвердите данные учётной записи" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.info.changed", "loc_key": "notification.user.accept", "title": "Изменились данные подписи", "body": "Подтвердите данные учётной записи", "userID": "{0:UserID}"}'
#myDssDeviceLocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 320 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Профиль устройства заблокирован на сервере" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.blocked", "title": "Изменился статус профиля", "body": "Профиль устройства заблокирован на сервере", "userID": "{0:UserID}"}'
#myDssDeviceUnlocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 321 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Профиль устройства разблокирован на сервере" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.unblocked", "title": "Изменился статус профиля", "body": "Профиль устройства разблокирован на сервере", "userID": "{0:UserID}"}'
#CertificateInstalled
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 58 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": "Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateRequestOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 270 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": "Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateCreated
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 20 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": "Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateHold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 49 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата приостановлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Действие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#HoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 284 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата приостановлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Действие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateUnhold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 50 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата возобновлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#UnHoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 286 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата возобновлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#SecondaryAuthLogin
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 92 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
#SecondaryAuthSign
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 93 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
#SecondaryAuthSignDocs
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 94 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
Сервис взаимодействия с SDK (mDAG)
1. Добавьте проверяющие стороны mDAG:
#КриптоПро Ключ
Add-IdsRelyingPartyTrust -DisplayName $idp_name -name cprokey -Description cprokey -Identities "urn:cryptopro:dss:mdag:$mdag_name"
#КриптоКлюч
Add-IdsRelyingPartyTrust -DisplayName $idp_name -name cryptokey -Description cryptokey -Identities "urn:cryptopro:dss:mdag:$mdag_name_2"
2. Создайте прикладные системы оповещения (при этом также создается oauth-клиент на Центре Идентификации, который нужно будет использовать для настройки связки "Центр Идентификации" - mDAG).
#КриптоПро Ключ
$mydsssystem = Add-IdsMobileAppConfiguration -DisplayName $idp_name -Name cprokey -MyDssAddress "https://$($hostname):4431/$mdag_name" -PushType PushProxy -PushProxyAddress "http://$($hostname)/pushsrv/$pp_module" -PushProxyLogin Admin -PushProxyPassword "1qaz@WSX"
#КриптоКлюч
$mydsssystem_cryptokey = Add-IdsMobileAppConfiguration -DisplayName $idp_name -Name cryptokey -MyDssAddress "https://$($hostname):4431/$mdag_name_2" -PushType PushProxy -PushProxyAddress "http://$($hostname)/pushsrv/$pp_module_cryptokey" -PushProxyLogin Admin -PushProxyPassword "1qaz@WSX"
#4431 – выделенный порт, на котором mDAG будет прослушивать соединения от мобильных приложений
3. Объявите переменные с данными oauth-клиентов, созданных вместе с прикладными системами оповещения:
#КриптоПро Ключ
$mdagclient = Get-IdsClient -DisplayName $idp_name|where {$_.ExtendedProperties["MyDssSystemId"] -eq $mydsssystem.id}
#КриптоКлюч
$mdagclient_cryptokey = Get-IdsClient -DisplayName $idp_name|where {$_.ExtendedProperties["MyDssSystemId"] -eq $mydsssystem_cryptokey.id}
4. Сгенерируйте бессрочные секреты для oauth-клиентов:
#КриптоПро Ключ
Set-IdsClient -DisplayName $idp_name -ClientId $mdagclient.ClientId -GenerateSecret -SecretLifetime 0
#КриптоКлюч
Set-IdsClient -DisplayName $idp_name -ClientId $mdagclient_cryptokey.ClientId -GenerateSecret -SecretLifetime 0
5. Объявите переменные со значениями сгенерированных бессрочных секретов oauth-клиентов:
#КриптоПро Ключ
$mdagclient_secret = (Get-IdsClientSecret -DisplayName $idp_name -ClientId $mdagclient.ClientId).value
#КриптоКлюч
$mdagclient_cryptokey_secret = (Get-IdsClientSecret -DisplayName $idp_name -ClientId $mdagclient_cryptokey.ClientId).value
6. Настройте интеграцию Центра Идентификации и Сервиса Подписи с mDAG:
#КриптоПро Ключ
Set-MdagProperties -DisplayName $mdag_name -ClientId $mdagclient.ClientId -ClientSecret $mdagclient_secret -IdpBaseAddress http://$hostname/$idp_name -SignServerBaseAddress http://$hostname/$ss_name
#КриптоКлюч
Set-MdagProperties -DisplayName $mdag_name_2 -ClientId $mdagclient_cryptokey.ClientId -ClientSecret $mdagclient_cryptokey_secret -IdpBaseAddress http://$hostname/$idp_name -SignServerBaseAddress http://$hostname/$ss_name
7. Активируйте возможность использования сценария анонимной регистрации пользователей из мобильного приложения, а также проверку уникальности отпечатка мобильного устройства:
Set-IdsMyDssProperties -DisplayName $idp_name -MyDssSelfRegEnabled 1 -DeviceFingerprintRequired 1
См. также:
Удаление экземпляров сервисов
При удалении экземпляров сервисов необходимо выполнить следующие действия.
1. Остановка сервисов.
sudo systemctl stop cprokey-*.service
2. Отключение Сервиса Операций от Сервиса Подписи и Центра Идентификации.
#Отключение Сервиса Обработки Операций от экземпляра Сервиса "Центр Идентификации"
Disconnect-IdsOperationStore -DisplayName $idp_name
#Отключение Сервиса Обработки Операций от экземпляра Сервиса Подписи (с опциональным флагом DeleteDB для удаления БД Сервиса Обработки Операций)
Disconnect-SignOperationStore -DisplayName $ss_name -DeleteDB
3. Удаление экземпляров сервисов и БД.
#Удаление экземпляра Центра Идентификации (с опциональным флагом DeleteDB для удаления БД)
Remove-IdsInstance -DisplayName $idp_name -DeleteDB
#Удаление экземпляра Сервиса Подписи (с опциональным флагом DeleteDB для удаления БД)
Remove-SignInstance -DisplayName $ss_name -DeleteDB
#Удаление экземпляра Веб-интерфейса
Remove-FeInstance -DisplayName $fe_name
#Удаление экземпляра Сервиса Аудита (с опциональным флагом DeleteDB для удаления БД)
Remove-AuditInstance -DisplayName $audit_name -DeleteDB
#Удаление экземпляра Сервиса Обработки Документов (с опциональным флагом DeleteDB для удаления БД)
Remove-DsInstance -DisplayName $ds_name -DeleteDB
#Удаление экземпляров Сервиса Взаимодействия с SDK
Remove-MdagInstance -DisplayName $mdag_name
Remove-MdagInstance -DisplayName $mdag_name_2
#Удаление экземпляра Сервиса Ключ Lite
Remove-LiteInstance -DisplayName $lite_name
#Удаление модулей Сервиса PUSH-уведомлений
Remove-PushModule -ModuleName $pp_module
Remove-PushModule -ModuleName $pp_module_mydss20
#Удаление экземпляра Сервиса PUSH-уведомлений
Uninstall-PushInstance
Примечание
В случае необходимости полного удаления КриптоПро Ключ необходимо также удалить соответствующие пакеты.