Настройка поддерживаемых типов ключей
Настройку поддерживаемых типов ключей в КриптоПро Ключ следует выполнять в два этапа:
1. Настройка поддерживаемой группы ключей в рамках одного мобильного приложения.
2. Отключение возможности использования ключей определенного типа.
Настройка поддерживаемой группы ключей в рамках одного мобильного приложения
Ключи подписи, хранимые различными способами в КриптоПро Ключ можно условно разделить на следующие группы:
- разделенные ключи подписи,
- "мобильные", "серверные" и ключи подписи на токене.
Для одного зарегистрированного на сервере набора настроек мобильного приложения (MyDssSystem) допустимо использование только ключей подписи, принадлежащих к одной группе. В случае если требуется в одном мобильном приложении использовать все виды ключей, необходимо зарегистрировать отдельный набор настроек (MyDssSystem) для каждой группы ключей.
Настройки на сервере (Центр Идентификации)
# Получить список зарегистрированных MyDssSystem
Get-IdsMobileAppConfiguration
# Получить GUID выбранного мобильного приложения MyDssSystem
$sys = Get-IdsMobileAppConfiguration | where { $_.DisplayName -eq "<отображаемое имя (DisplayName)>" }
# Задать значение группы ключей
Set-IdsMobileAppConfiguration -SystemId $sys.Id -AuthKeyType <Группа ключей>
Допустимы следующие значения параметра -AuthKeyType
:
Cryptokey
- только разделенные ключи,DssSdk
(используется также по умолчанию) - все остальные типы хранения ключей.
Настройки в Ключ SDK
Заданное на сервере значение параметра -AuthKeyType
будет получено
в параметрах isCryptoKeySdkAuthSupported
для разделенных ключей и
isDssSdkAuthSupported
для всех остальных типов в политике взаимодействия с сервером (iOS, Android).
В случае если сервер не поддерживает тип аутентификации (описанные выше параметры будут отсутствовать в политике), Ключ SDK автоматически установит следуюшие значения:
isCryptoKeySdkAuthSupported
- False,isDssSdkAuthSupported
- True.
В случае сценария привязки мобильного устройства к учетной записи при помощи
QR-кода получить политику сервера заранее не представляется
возможным, так как адрес сервера будет получен впервые в содержимом указанного QR-кода.
В этом случае тип аутентификации, поддерживаемый сервером для мобильного приложения, выбранного
пользователем или Оператором при генерации QR-кода, может быть
указан в поле auth_key_type
в QR-коде (iOS, Android).
В этом случае допустимо указать аналогичный тип аутентификации в поле authKeyType
при вызове
метода регистрации Kinit (iOS, Android).
При отсутствии данного поля будет использован тип аутентификации, указанный в QR-коде.
В случае если поле auth_key_type
в QR-коде отсутствует, будет использовано
значение по умолчанию dssSdk
.
Отключение возможности использования ключей определенного типа
Сервис взаимодействия с SDK позволяет запретить создание ключей с определенным типом хранения. Данная настройка имеет смысл только в связке с заданной группой ключей, так как выключение единственного типа ключа в группе (например, разделенного) повлечет за собой невозможность работы с мобильным приложением.
Настройки на сервере (Сервис взаимодействия с SDK)
Set-MdagProperties -DisplayName <Имя экземпляра Сервиса взаимодействия с SDK> -DisableDskKeys <bool> -DisableClientKeys <bool> -DisableServerKeys <bool>
Возможно настроить запрет использования следующих ключей:
DisableDskKeys
- разделенные,DisableClientKeys
- хранимые в мобильном приложении и на токене,DisableServerKeys
- хранимые на сервере.
Настройки в Ключ SDK
Заданные на сервере значения параметров-DisableDskKeys
,
-DisableClientKeys
, -DisableServerKeys
будут получены
в параметрах isServerKeysSupported
(серверные ключи),
isMobileKeysSupported
(мобильные ключи и ключи на токене),
isDskKeysSupported
(разделенные ключи)
в политике взаимодействия с Сервисом Подписи (iOS, Android).