• Post category:Шифрование
  • Запись изменена:08.11.2022

Для выполнения операций с зашифрованными файлами, включая шифрование файлов, расшифровку, создание, редактирование и совместное использование, Р7 использует индивидуальные учетные данные пользователей (пара ключей RSA) и пароль документа (ключ шифрования документа). Процессы загрузки и обмена зашифрованными файлами описаны здесь.

Параметры
НазваниеОписаниеТипПример
Определяет идентификатор плагина шифрования.Определяет типы документов, которые могут быть зашифрованы.строковый«{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}»
Defines the document types that can be encrypted.строковый«*.docx *.xlsx *.pptx»
В настоящее время возможно шифрование только форматов OOXML, таких как DOCX, XLSX и PPTX.
Пример
window.AscDesktopEditor.cloudCryptoCommand("upload", {
    "cryptoEngineId": "{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}",
    "filter": "*.docx *.xlsx *.pptx"
},
callback)

После того, как пользователь выберет файлы, они будут зашифрованы в цикле и переданы в callback:

callback({
    "bytes": [...],
    "name": "Example Document Title.docx",
    "isCrypto": true
})

Чтобы поделиться зашифрованным документом, вызовите функцию cloudCryptoCommand с типом общего доступа. Объект params имеет следующие значения:

Параметры

НазваниеОписаниеТипПример
Определяет идентификатор плагина шифрования.строковый«{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}»
Определяет абсолютный URL-адрес документа.строковый«https://example.com/url-to-example-document.docx»
Определяет пары идентификаторов пользователей и связанных публичных ключей.массив[{«userId»:»78e1e841″,»publicKey»:»yyy»}, …]
Пример
window.AscDesktopEditor.cloudCryptoCommand("share",
{
    "cryptoEngineId": "{FFF0E1EB-13DB-4678-B67D-FF0A41DBBCEF}",
    "file": ["https://example.com/url-to-example-document.docx" ],
    "keys":[{"userId":"78e1e841","publicKey":"yyy"}, ...]
}, 
callback)

Файл загружается десктопным приложением и шифруется. Права доступа к файлу передаются ему ключами. После этого передается в callback:

callback({
    "bytes": [...],
    "isCrypto": true
})