スクリプトに署名する

スクリプトに署名すると、デジタル署名ブロックがコメントとしてスクリプトに書き込まれます。署名には、作成者の身元に関する情報がエンコードされて格納されるほか、スクリプト自体に関する情報もエンコードされてカプセル化されます。このため、スクリプトを変更すると、署名が無効になります。

スクリプトへの署名をプログラムによって行うには、Scripting.Signer オブジェクトの SignFile メソッドを使います。

<job>
<runtime>
   <named name="file" helpstring="the file to sign" required="true" type="string"/>
   <named name="cert" helpstring="the name of the signing certificate" required="true" type="string"/>
   <named name="store" helpstring="the name of the certificate store" required="false" type="string"/>
</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 = new ActiveXObject("Scripting.Signer");
   File  = WScript.Arguments.Named("file");
   Cert  = WScript.Arguments.Named("cert");
   if (WScript.Arguments.Named.Exists("store"))
   {
      Store = WScript.Arguments.Named("store");
   }
   else
   {
      Store = "";
   }
    Signer.SignFile(File, Cert, Store);
</script>
</job>

メモ   スクリプトに署名するには、有効な証明書が必要です。管理者に連絡して証明書ポリシーを確認するか、商業ベースの証明機関に問い合わせてください。

参照

セキュリティと Windows Script Host | スクリプトを確認する | 署名確認ポリシー | WinTrust | スクリプトに署名する