Вход/Регистрация
Windows Script Host для Windows 2000/XP
вернуться

Попов Андрей Викторович

Шрифт:

Рис. 4.11. Сертификаты, к которым установлено доверие

Свойства сертификата "Попов надежный" после установки доверия к нему показаны на рис. 4.12.

Выполним теперь экспорт в файл сертификата "Попов ненадежный" (это понадобится нам в дальнейшем при построении политики ограниченного использования программ). Для этого следует выделить нужный сертификат и выбрать в меню Действие | Все задачи (Action | All Tasks) пункт Экспорт (Export), после чего запустится мастер экспорта сертификатов, в котором нужно согласиться со всеми настройками, предлагаемыми по умолчанию, а в качестве имени экспортируемого файла указать "C:\Script\Попов.cer".

Рис. 4.12. Новые свойства сертификата "Попов надежный" 

Добавление к сценарию цифровой подписи

Подписать файл со сценарием WSH можно двумя способами. Во-первых, можно использовать программу SignCode.exe, с помощью которой производится подпись любого исполняемого кода. Однако эта программа не является стандартной частью операционной системы Windows, ее нужно устанавливать отдельно. Поэтому далее мы будем рассматривать второй способ подписи сценариев — с помощью метода

SignFile
объекта
Scripting.Signer
, который регистрируется в системе при установке WSH 5.6.

В листинге 4.7 приведен сценарий SignScript.wsf, с помощью которого мы будем подписывать файлы сценариев различных типов, используя личные сертификаты "Попов надежный" и "Попов ненадежный". При запуске этого сценария нужно указать два именных параметра командной строки:

/file
для задания пути к подписываемому файлу и
/cert
, содержащий название цифрового сертификата, на основе которого будет создаваться подпись. Эти параметры в сценарии подставляются в качестве аргументов метода
SignFile
объекта
Scripting.Signer
:

//Создаем объект Scripting.Signer

Signer = WScript.CreateObject("Scripting.Signer");

File = WScript.Arguments.Named("file"); //Имя файла

Cert = WScript.Arguments.Named("cert"); //Название сертификата

Signer.SignFile(File, Cert); //Подписываем файл

Замечание

В методе

SignFile
может быть указан третий необязательный параметр, задающий путь к хранилищу сертификатов. В сценарии SignScript.wsf этот параметр не используется, т.к. для создания подписи применяются личные сертификаты, находящиеся на локальной машине.

Листинг 4.7. Сценарий SignScript.wsf

<job>

 <runtime>

<named name="file" helpstring="Путь к файлу сценария" required="true" type="string"/>

<named name="cert" helpstring="Имя цифрового сертификата" required="true" type="string"/>

<description>

Имя: SignScript.wsf

Описание: Добавление цифровой подписи к файлам

со сценариями WSH

</description>

<example>

Пример:

SignScript.wsf /file:Signed.wsf /cert:"Попов надежный"

</example>

 </runtime>

 <script language="JScript">

var Signer, File, Cert, Store;

if (!(WScript.Arguments.Named.Exists("cert") && WScript.Arguments.Named.Exists("file"))) {

WScript.Arguments.ShowUsage;

WScript.Quit;

}

Signer = WScript.CreateObject("Scripting.Signer");

File = WScript.Arguments.Named("file");

Cert = WScript.Arguments.Named("cert");

Store = "";

Signer.SignFile(File, Cert);

 </script>

</job>

Цифровые подписи добавляются в конец файлов, содержащих сценарии, причем в обычных JScript- и VBScript-файлах подпись находится в блоке комментария, а в WS-файлах — внутри элемента

<signature>
. Это делает возможным запуск подписанных сценариев в предыдущих версиях WSH, т.к. здесь закомментированные или находящиеся внутри
<signature>
части сценариев будут при выполнении проигнорированы. 

В листингах 4.8–4.10 приведены примеры сценариев различных типов, которые были подписаны с использованием сертификата "Попов надежный".

Листинг 4.8. Подписанный JScript-файл

/*******************************************************************/

/* Имя: Signed.js */

/* Язык: JScript */

/* Описание: Сценарий с цифровой подписью */

  • Читать дальше
  • 1
  • ...
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: