Для подписание макросов в AlterOffice из ОС AlterOS необходимо выполнить следующие шаги:
- создание самоподписанного сертификата;
- импорт самоподписанного сертификата в NSS;
- создание документа с макросом;
- подпись макроса самоподписанным сертификатом;
- проверка подписи
Создание самоподписанного сертификата.
1) открываем терминал;
2) создаем папку, в моем случае папка называется «test_cert», при помощи команды:
mkdir test_cert
3) переходим в папку:
cd test_cert/
4) создаем закрытый ключ и подписанный сертификат, командой:
openssl req -newkey rsa:2048 -nodes -keyout test.key -x509 -days 365 -out test.cer
где
openssl — это команда для запуска OpenSSL, которая в свою очередь криптографическая библиотека, которая является open source реализацией двух протоколов: Secure Sockets Layer (SSL) и Transport Layer Security (TLS). Данная библиотека имеет инструменты, предназначенные для генерации приватных ключей RSA и Certificate Signing Requests (CSR-запросов), управления сертификатами и выполнения кодирования/декодирования.
req - утилита OpenSSL для создания CSR.
-newkey rsa:2048 - сообщает OpenSSL создать новый 2048-битный закрытый ключ RSA. Если вы предпочитаете ключ 4096 бит, вы можете изменить это число на 4096.
-nodes — параметр указывает, что шифровать ключ не нужно.
-keyout - указывает, где сохранить файл закрытого ключа.
test.key — сам закрытый ключ, его имя Вы можете изменить на свое.
-x509 - это сертификат, подписанные сами собой.
-days 365 — параметр, указывающий, что сертификат будет действительным в течении 365 дней.
-out — параметр, указывающий, где сохранить сертификат.
test.cer — сам сертификат, его имя Вы можете изменить на свое.
5) после ввода команды, openssl попросит ответить на несколько вопросов, это информация будет включена в сертификат.
6) в папке «test_cert» создались файлы:
test.cer
test.key
7) далее, необходимо файлы test.cer, test.key «перевести» в формат PKCS # 12. PKCS # 12 - это двоичный формат для хранения цепочки сертификатов и закрытого ключа в одном зашифрованном файле. Команда для выполнения:
openssl pkcs12 -export -in test.cer -inkey test.key -out test_p12.p12
где
pkcs12 - утилита OpenSSL для создания PKCS # 12.
- out - параметр, указывающий, где сохранить пару (сертификат, закрытый ключ).
test_p12.p12 — имя файла, PKCS # 12
После ввода потребуется ввести пароль для пары.
8) в папке «test_cert» должны быть след. файлы:
test.cer
test.key
test_p12.p12
Импорт самоподписанного сертификата в NSS
NSS - набор библиотек, предназначенных для разработки защищённых кросс-платформенных клиентских и серверных приложений. Приложения, построенные при помощи NSS, могут использовать и поддерживать SSLv3, TLS и многие другие стандарты безопасности.
Для добавления самоподписанного сертификата в NSS потребуется выполнить следующие шаги:
1) открываем Firefox;
2) переходим в меню настроек: «Open menu» → «Preferences»;
3) переходим во вкладку «Privacy & Security» → раздел «Security» → «View Certificates...»;
4) откроется окошко «Certificate Manager» → переходим во вкладку «Your Certificates» → нажимаем «Import...»;
5) нужно импортировать PKCS # 12 файл, в нашем случае «test_p12.p12» и нажать «Открыть»;
6) появится окно с вводом пароля, вводим пароль от пары (сертификат/закрытый ключ) и нажимаем «Ok»;
7) в окошке «Certificate Manager» появится наш сертификат → нажимаем «Ok»;
Создание документа с макросом
В этом примере создадим простой макрос на Basic
1) открываем AlterOffice AText;
2) сохраняем документ, в нашем случае называться «test_1.odt»;
3) переходим во вкладку «Сервис» → «Макросы» → «Управление макросами» → «Basic»;
4) откроется новое окно «Макрос Basic» → в левой части окна выбираем наш файл «test_1.odt» → разворачиваем → выделяем «Standard» → в правой части окна нажимаем «Создать»;
5) откроется новое окно «Новый модуль» → назовем макрос «test_macros» → «Ok»;
6) откроется окно «test_1.odt. Standard - AlterOffice Basic» → напишем простой макрос, который выводит: «Hello, AlterOffice» → сохраним;
код для макроса:
REM ***** BASIC *****
Sub HelloMacro
Print "Hello, AlterOffice"
End Sub
7) для проверки работоспособности макроса нужно перейти: «Сервис» → «Макросы» → «Выполнить макрос»;
8) появится окно «Выбор макроса» → развернем документ «test_1.odt» → развернем «Standard» → выделим «test_macros» → «Выполнить»;
9) результат выполнения ниже;
10) сохраним документ «test_1.odt»
Подпись макроса самоподписанным сертификатом.
1) переходим «Сервис» → «Макросы» → «Редактировать макросы...»;
2) откроется окно «Мои макросы и диалоги. Standard — AlterOffice Basic» → в левой части окна «Каталог объектов» выбираем наш макрос «test_macros» → далее переходим во вкладку «Файл» → «Цифровые подписи...»;
3) появится окно «Цифровые подписи»;
4) нажимаем «Подписать документ...»;
5) появится новое окно «Выберите сертификат X.509», выбираем сертификат, который мы сформировали выше → нажимаем «Подписать»;
6) теперь в окне «Цифровые подписи» появился сертификат;
7) сохраняем документ «test_1.odt»
Проверка подписи.
Для проверки макроса на наличии подписи следует открыть документ (test_1.odt), который мы сохраняли в предыдущем шаге → переходим «Сервис» → «Макросы» → «Цифровые подписи...»
Если в документе несколько подписанных макросов, то необходимо выполнить следующие шаги: «Сервис» → «Макросы» → «Редактировать макросы...» → выбираем необходимый макрос, в нашем случае макрос один «test_macros» → «Файл» → «Цифровые подписи...» → в открывшемся окне «Цифровые подписи» будет храниться подпись.
Также проверить макрос можно на другом ПК выполнив все вышеописанные шаги.