Настройка архивирования ключей, хранимых в мобильном приложении
Ключи подписи, хранящиеся на устройстве пользователя, могут быть сохранены на сервере в виде архивных копий. Архивные копии ключей подписи, сохраненные на сервере, могут быть загружены на устройство пользователя.
Архивирование ключей подписи используется для случаев, когда необходимо перенести ключ на новое устройство и продолжить пользоваться ключом на нем либо обеспечить возможность восстановить ключ в случае переустановки приложения, гибели или порчи первого устройства. Архивирование может быть применено только для ключей, использующихся для создания усиленной неквалифицированной электронной подписи.
Примечание
Архивирование ключей подписи доступно только для ключей, использующихся для создания усиленной неквалифицированной электронной подписи (НЭП).
Настройки на сервере (Сервис Подписи)
По умолчанию архивирование ключей на сервере отключено. Для включения возможности архивирования ключей необходимо выполнить следующие действия.
# Добавить соответствующий криптопровайдер с типом Archive
# -ProviderName и -ProviderType должны соответствовать параметрам криптопровайдера GostWithMasterKey (Get-SignCryptoProvider)
Add-SignCryptoProvider -DisplayName <Имя экземпляра сервиса> -ProviderName "Имя криптопровайдера" -ProviderType <Тип криптопровайдера> -TypeId Archive
# Включить архивирование
Enable-SignCertificateKeyArchiveSettings -DisplayName <Имя экземпляра сервиса>
# (ОПЦИОНАЛЬНО) Настроить архивирование
Set-SignCertificateKeyArchiveSettings -DisplayName <Имя экземпляра сервиса> -AllowCrossSystemArchive <1/0> -DeleteArchiveOnExport <1/0>
Дополнительные настройки архивирования (Set-SignCertificateKeyArchiveSettings):
AllowCrossSystemArchive
- разрешить экспортировать ключи подписи в другие мобильные приложения (с другим SystemId),DeleteArchiveOnExport
- удалять ключи подписи с Сервиса Подписи после его выгрузки в мобильное приложение.
Настройки в Ключ SDK
Для получения информации о том, поддерживается ли архивирование ключей на сервере, необходимо запросить политику Сервиса Подписи (iOS, Android):
- заданное на сервере значение в командлете Enable-SignCertificateKeyArchiveSettings/Disable-SignCertificateKeyArchiveSettings будет получено в поле
isMobileKeyArchiveSupported
(True/False), - заданное на сервере значение
-DeleteArchiveOnExport
в командлете Set-SignCertificateKeyArchiveSettings будет получено в полеisMobileKeyArchivePermanent
(True/False).
По умолчанию все ключи, создаваемые в Ключ SDK (с типом хранения в мобильном устройстве), являются экспортируемыми. При необходимости дополнительно проверить экспортируемость ключа можно использовать метод isExportable (iOS, Android).
Пример архивирования ключа в мобильном приложении КриптоПро Ключ
На рисунке ниже рассмотрены следующие варианты доступных в мобильном приложении КриптоПро Ключ действий в меню сертификата, соответствующий ключ которого хранится на мобильном устройстве. Кнопки с доступными действиями архивации отображаются только при условии включенной на сервере возможности архивирования ключа.
- кнопка "В архив" - ключ подписи не архивирован на сервере,
- кнопка "Из архива" - ключ подписи архивирован на сервере и отсутствует на устройстве (был удален со старого устройства либо планируется установка на новое),
кнопка "Удалить архивный ключ" - ключ подписи архивирован на сервере.