子ページ
  • Windows PowerShell用スクリプト形式編

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

アンカー
_Ref412820353
_Ref412820353
アンカー
_Toc505795748
_Toc505795748
1-3.署名

本章では、Windows PowerShell用スクリプトのファイルにWindowsOS上でデジタル署名をする方法について記述します。PowerShell用スクリプト形式のファイルにWindowsOS上でデジタル署名をする方法について記述します。
以下は、例としてWindows10上での作成方法を記載します。
ps1形式のファイルへの署名はファイル生成時にWindows Windows PowerShell用スクリプト形式のファイルへの署名はファイル生成時にWindows Powershellを利用して署名します。

署名作業

  1. 同一フォルダ上に署名するps1形式のファイル同一フォルダ上に署名するWindows PowerShell用スクリプト形式のファイル(test.ps1)と項目1-2-2にて 生成したPKCS#12ファイルを置きます。



  2. コマンドプロンプトを実行し、署名対象ファイルのあるフォルダへ移動します。 

    > cd (作業ディレクトリ) 作業ディレクトリ

  3. フォルダ移動後、PowerShellを起動するため以下のコマンドを実行してください。 

    > powershell


  4. PowerShell起動後、「$cert」にコード署名用証明書の情報を読み込むため、以下のコマンドを実行してください。 

    > $cert = Get-PfxCertificate test.p12




  5. 「パスワードの入力:」と表示されますので、PKCS#12ファイルのアクセスPINを入力してください。 



  6. コード署名用証明書の情報を確認するため、以下のコマンドを実行してください。 

    > $cert

     

    コード署名用証明書の情報を確認後、ps1形式のファイルへの署名を以下のコマンドを実行してください。 

  7. コード署名用証明書の情報を確認後、Windows PowerShell用スクリプト形式のファイルへの署名を以下のコマンドを実行してください。 

    > Set-AuthenticodeSignature (署名したいps1形式のファイル名) (署名したいWindows PowerShell用スクリプト形式のファイル名) $cert




  8. コマンドが終了しますので、対象のWindows PowerShell用スクリプト形式のファイルが更新されていることを確認してください。 コマンドが終了しますので、対象のps1形式ファイルが更新されていることを確認してください。 



     

 

 

アンカー
_Toc505795749
_Toc505795749
1-4.コード署名確認作業

本章ではデジタル署名したPowerShell用スクリプトのファイルのコード署名確認作業について記述します。本章ではデジタル署名したWindows PowerShell用スクリプト形式のファイルのコード署名確認作業について記述します。

署名確認作業

  1. コマンドプロンプトを実行し、署名対象ファイルのあるフォルダへ移動します。 

    > cd (作業ディレクトリ) 作業ディレクトリ

  2. フォルダ移動後、PowerShellを起動するため以下のコマンドを実行してください。 

    > powershell




  3. PowerShell起動後、「&"」の後にps1形式のパス名を書き、 」の後にWindows PowerShell用スクリプト形式のパス名を書き、 その後「"」で閉じてから実行してください。 

    > &"(署名したPowerShell形式のファイル名署名したWindows PowerShell用スクリプト形式のファイル名)"


    ①署名が正しく検証されると、 正常に実行されます。 

    ②署名が正しく検証されないと、 次のように表示されます。 

    ファイル (作業ディレクトリ)(署名したPowerShell用スクリプトのファイル名)C:\SCRIPT.ps1 を読み込めません。ファイル C:\SCRIPT.ps1 
    の内容は改ざんされている可能性があります。ファイルのハッシュが、 
    デジタル署名に保存されているハッシュと一致しません。このスクリプ 
    トはシステムで実行されません。詳細については、「get(署名したWindows PowerShell用スクリプト形式のファイル名)を読み込めません。ファイル (作業ディレクトリ)(署名したWindows PowerShell用スクリプト形式のファイル名) の内容は改ざんされている可能性があります。ファイルのハッシュが、 デジタル署名に保存されているハッシュと一致しません。このスクリプトはシステムで実行されません。詳細については、「get-help about_
    igning」と入力してヘルプを参照してください。 signing」と入力してヘルプを参照してください。 
    発生場所 行:1 文字:2 
    + & <<<< "SCRIPT.ps1(署名したWindows PowerShell用スクリプト形式のファイル名)
    + CategoryInfo : NotSpecified: (: ) []、PSSecurityExc 
    eption 
    + FullyQualifiedErrorId : RuntimeException 

...