Начало работы с sign_tool
Программа sign_tool.sh помогает подписывать анклав.
В программе sign_tool.sh используется инструмент sgx_sign из SGX SDK для подписания анклава SGX и signtool_v3.py для подписания анклава trustzone. При подписании анклава trustzone рекомендуется использовать абсолютный путь для указания параметров файла, если указан относительный путь, он должен быть относительно signtool_v3.py.
Инструмент поддерживает два режима:
одношаговый метод, только для режима отладки.
Например:
$ ./sign_tool.sh –d sign –x trustzone –i test.enclave -c manifest.txt -m config_cloud.ini –o signed.enclave
двухшаговый метод используется, когда подпись должна быть получена от организации, выполняющей подписание, или закрытый ключ хранится на другой безопасной платформе.
Например:
(1) создать материал для подписи.
$ ./sign_tool.sh –d digest –x trustzone –i input -c manifest.txt -m config_cloud.ini –o signing.data
Для trustzone в текущем каталоге создаются временные файлы KeyInfo.enc, rawData.enc и rawDataHash.bin. Для SGX в текущем каталоге создаётся временный файл signdata. Временный файл требуется при создании подписанного анклава на шаге 3 и удаляется после создания подписанного анклава.
(2) отправить signing.data в организацию, выполняющую подписание, или на безопасную платформу и получить подпись.
Для trustzone используйте команду rsautl для подписания материала для подписи.
$ openssl rsautl -sign -inkey sign_key.pem -in signing.data -out signature
Для SGX используйте команду dgst для подписания материала для подписи.
$ openssl dgst -sha256 -sign sign_key.pem -keyform PEM -out signature signing.data
(3) использовать подпись для создания подписанного анклава.
$ ./sign_tool.sh –d sign –x trustzone –i input -c manifest.txt -m config_cloud.ini –s signature –o signed.enclave
-c <file> базовый файл конфигурации.
-d <parameter> команда инструмента подписи, sign/digest/dump.
Команда sign используется для создания подписанного анклава.
Команда digest используется для создания материала для подписи.
Команда dump используется для создания метаданных для подписанного анклава SGX.
-i <file> входной параметр, который является анклавом для команды digest/sign, и подписанным анклавом
для команды dump.
-k <file> личный ключ, необходимый для одношагового метода. Обратите внимание: одношаговый метод
используется только в режиме отладки, незашифрованный личный ключ не существует в рабочей среде.
-m <file> дополнительный config_cloud.ini для trustzone.
-o <file> выходной параметр.
SGX: команда sign выводит подписанный анклав, команда digest выводит материал для подписи,
команда dump выводит данные, содержащие метаданные SIGStruct для анклава SGX, которые
отправляются Intel для внесения в белый список.
trustzone: /output_path/uuid.sec, uuid должен совпадать со значением gpd.ta.appID в manifest.txt
-p <file> сертификат открытого ключа сервера подписи, необходим для двухшагового метода SGX.
-s <file> значение подписи, необходимое для двухшагового метода, этот параметр пуст для обозначения
одношагового метода.
-x <parameter> тип анклава, SGX или trustzone.
-h вывести справочное сообщение.
Примечание:
Используйте ./sign_tool.sh -h
, чтобы получить справочную информацию.
Для trustzone будет случайным образом сгенерирован ключ AES и временно сохранён в файле в незашифрованном виде, пожалуйста, обеспечьте безопасность.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )