Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Генерация ключей

Обновлено: 15.12.25

Чтобы проверить, поддерживает ли десктопные приложение шифрование, вызовите следующую команду:

typeof window.AscDesktopEditor.cloudCryptoCommand === "function"

Приведенные ниже шаги объясняют процесс шифрования документов в Р7.

  1. Войдите в облако и передайте идентификатор плагина шифрования:
    window.AscDesktopEditor.execCommand("portal:login", JSON.stringify({
        "encryptionKeys": {
            "cryptoEngineId": "{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}"
        },
        ...
    }));
    
  2. Чтобы проверить пароль со страницы входа в систему, отправьте редакторам рабочего стола команду portal:checkpwd через метод execCommand. Параметры задаются в формате строки с сериализованным json следующим образом:
    {
        "domain": "domain name",
        "emailInput": "user@email.addr",
        "pwdInput": "pwd"
    }
    
    Параметры
    Название Описание Тип Пример
    Определяет имя облака и точку входа в облако. строковый «https://exampledomain.com»
    Определяет электронную почту пользователя, вводимую на странице входа в систему. строковый «john@example.com»
    Определяет пароль, вводимый на странице входа в систему. строковый «123456»
    Пример
    window.AscDesktopEditor.execCommand("portal:checkpwd", JSON.stringify({
        "domain": "https://exampledomain.com",
        "emailInput": "john@example.com",
        "pwdInput": "123456"
    }));
    

    Когда команда отправлена, провайдер DMS передает информацию о пароле со страницы входа в систему в десктопное приложение. Р7 Desktop Editors запоминает пароль и использует его для шифрования и дешифрования ключей.

  3. Передайте зашифрованные закрытый и открытый ключи с логином от провайдера DMS в десктопное приложение со следующими параметрами:
    "encryptionKeys": {
        "cryptoEngineId": "guid",
        "privateKeyEnc": "private key",
        "publicKey": "public key"
    }
    
    Параметры
    Название Описание Тип Пример
    Определяет идентификатор плагина шифрования. строковый «{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}»
    Определяет зашифрованный закрытый ключ. строковый «xxx»
    Определяет публичный ключ. строковый «yyy»
    Пример
    window.AscDesktopEditor.execCommand("portal:login", JSON.stringify({
        "encryptionKeys": {
            "cryptoEngineId": "{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}",
            "privateKeyEnc": "xxx",
            "publicKey": "yyy"
        },
        ...
    }));
    

    Вы также можете сделать это в конфигурации инициализации редактора:

    new DocsAPI.DocEditor("placeholder", {
        "editorConfig": {
            "encryptionKeys": {
                "cryptoEngineId": "{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}",
                "privateKeyEnc": "xxx",
                "publicKey": "yyy"
            },
            ...
        },
        ...
    });
    
  4. Отправьте сгенерированные ключи в облако через метод cloudCryptoCommand с типом encryptionKeys:
    window.AscDesktopEditor.cloudCryptoCommand(
        "encryptionKeys",
        {
            "cryptoEngineId": "{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}",
            "privateKeyEnc": "xxx",
            "publicKey": "yyy"
        },
    callback)