Чтобы проверить, поддерживает ли десктопные приложение шифрование, вызовите следующую команду:
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"
}
Параметры:
| Название | Описание | Тип | Пример |
| domain | Определяет имя облака и точку входа в облако. | строковый | «https://exampledomain.com» |
| emailInput | Определяет электронную почту пользователя, вводимую на странице входа в систему. | строковый | «john@example.com» |
| pwdInput | Определяет пароль, вводимый на странице входа в систему. | строковый | «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"
}
Параметры:
| Название | Описание | Тип | Пример |
| cryptoEngineId | Определяет идентификатор плагина шифрования. | строковый | «{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}» |
| privateKeyEnc | Определяет зашифрованный закрытый ключ. | строковый | «xxx» |
| publicKey | Определяет публичный ключ. | строковый | «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)








