Подпись макросов в AlterOffice

Для подписание макросов в 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» → «Файл» → «Цифровые подписи...» → в открывшемся окне «Цифровые подписи» будет храниться подпись.


Также проверить макрос можно на другом ПК выполнив все вышеописанные шаги.