Skip to main content

Подпись надстройки

Для использования надстройка должна быть подписана с использованием сертификата. Для подписи надстройки используется сертификат, выпущенный удостоверяющим центром разработчика.

warning

Внимание! По умолчанию редакторы МойОфис поддерживают установку только подписанных надстроек.

Администратор системы может разрешить установку неподписанных надстроек:

Для Windows необходимо открыть Редактор реестра: в окне "Выполнить" (Win+R) введите regedit и нажмите Enter. В открывшемся редакторе перейдите по пути HKEY_LOCAL_MACHINE\SOFTWARE\MyOffice Documents Desktop\Global (часть пути MyOffice Documents Desktop зависит от названия редакции). Измените значение ключа реестра UnsafeExtensionsEnabled на true.

Для Linux измените файл конфигурации по пути /etc/xdg/MyOffice Documents Desktop/Global.conf (часть пути MyOffice Documents Desktop зависит от названия редакции). Файл должен иметь вид:


[General]
UnsafeExtensionsEnabled=true

Для macOS требуется вручную создать файл /Library/Preferences/com.myoffice-documents-desktop.Global.plist (часть пути com.myoffice-documents-desktop зависит от названия редакции) со следующим содержимым:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UnsafeExtensionsEnabled</key>
<true/>
</dict>
</plist>

Чтобы запретить использование неподписанных надстроек, измените значение под тегом <key>UnsafeExtensionsEnabled</key> на <false/>.

После создания или изменения файла, выполните в терминале данную команду:


defaults read /Library/Preferences/com.myoffice-documents-desktop.Global.plist

Утилита подписи надстроек MOX

Утилита командной строки moxдля подписи надстроек входит в состав дистрибутива редакторов и вызывается с одной из следующих команд: create, sign, deletesignature.

Подпись надстройки


mox sign --package=${package} --certificate=${certificate path} --private-key=${private key path} --passphrase=${passphrase}

Параметры:

-p [--package] путь к папке, содержащей надстройку

-c [--certificate] путь к сертификату

-k [--private-key] путь к закрытому ключу

-s [--passphrase] секретный пароль для расшифровки закрытого ключа

Подписывает надстройку. Имя надстройки или папки задается в параметре --package. Закрытый ключ - обязательный параметр. Если он защищен паролем, пароль должен быть указан в параметре --passphrase.

info

Подробная инструкция по работе с сертификатами для подписи надстроек представлена в документе «Настольные приложения. Руководство по администрированию», раздел 4.5 Управление надстройками.

Удаление подписи


mox deletesignature --package=${package}

Параметры:

-p [--package] путь к директорию, содержащему надстройку

Удаляет подпись из надстройки. Имя надстройки задается в параметре --package.

Подпись надстроек для OS Windows

В OS Windows исполняемый файл утилиты mox.exe находится в директории установки МойОфис, например, d:\Program Files\MyOffice\mox.exe.

Пример подписи надстройки:


mox.exe sign --package=d:\Work\SampleExtension\SampleExtension.mox --private-key=d:\Work\SampleExtension\certificate.key --certificate=d:\Work\SampleExtension\certificate.crt

INFO: Certificate info:
S/N: XX:XX:XX:XX:XX:XX:XX:XX
Valid to: Fri Apr 22 12:00:00 2025
Common name: MyOffice Developer Cert
Email: extension@developer.com
Organization: MyOffice
Issuer common name: MyOffice Plugin Validation CA
INFO: The package 'd:\Work\SampleExtension\SampleExtension.mox' is successfully signed

Пример удаления подписи надстройки:


mox.exe deletesignature --package=d:\Work\SampleExtension\SampleExtension.mox

INFO: The file 'META-INF/.digest' is successfully removed.
INFO: The file 'META-INF/.signature' is successfully removed.

Подпись надстроек для OS Linux

В OS Linux исполняемый файл утилиты mox находится в директории установки МойОфис.

Пример подписи надстройки:


$ build/mox sign --package='./tmp' --private-key='sign.key' --certificate='sign.crt'

INFO: Certificate info:
S/N: XX:XX:XX:XX:XX:XX:XX:XX
Valid to: Fri Apr 22 12:00:00 2025
Common name: MyOffice Developer Cert
Email: extension@developer.com
Organization: MyOffice
Issuer common name: MyOffice Plugin Validation CA
INFO: The package './tmp' is successfully signed

Пример удаления подписи надстройки:


$ build/mox deletesignature --package='./tmp'

INFO: The file 'META-INF/.digest' is successfully removed.
INFO: The file 'META-INF/.signature' is successfully removed.