Подпись надстройки
Для использования надстройка должна быть подписана с использованием сертификата. Для подписи надстройки используется сертификат, выпущенный удостоверяющим центром разработчика.
Внимание! По умолчанию редакторы МойОфис поддерживают установку только подписанных надстроек.
Администратор системы может разрешить установку неподписанных надстроек:
Для 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.
Подробная инструкция по работе с сертификатами для подписи надстроек представлена в документе «Настольные приложения. Руководство по администрированию», раздел 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.