Child pages
  • Windows PowerShell用スクリプト形式編

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PKCS#12ファイルの作成

  1. 任意のフォルダ(ここではC:\temp\test2018とします)にて以下の3つのファイルを用意してください。
    1. 項目「鍵ペアの生成」にて作成した鍵ペアのファイル(servername.key)
    2. 項目「証明書の申請から取得まで」にて取得したコード署名用証明書(ここではtest.cerとします)
    3. 項目「1-2-1事前準備」にて用意した「ルートCA証明書」と 「中間CA証明書」を連結させたファイル(ここではchain.cerとします)
    4. 項目「1-2-1事前準備」にて用意した「ルートCA証明書」ファイル(SCRoot2CA.cer)



  2. CAfile に指定する証明書をDER形式からPEM形式に変換します。

    ・Security Communication RootCA2の場合
    openssl x509 -inform der -in SCRoot2ca.cer -outform pem -out SCRoot2ca.cer
     
    ・中間CA証明書SHA-256の場合
    openssl x509 -inform der -in nii-odcacssha2.cer -outform pem -out nii-odcacssha2.cer
  3. コマンドプロンプト上にて上記で取得した「ルートCA証明書」と「中間CA証明書」を下記のコマンドに 
    より、連結させてください。中間CA証明書の下部にルートCA証明書が併記されるファイルとなります。 コマンドプロンプト上にて上記で取得した「ルートCA証明書」と「中間CA証明書」を下記のコマンドにより、連結させてください。中間CA証明書の下部にルートCA証明書が併記されるファイルとなります。 

    > type (中間CA証明書のパス) (ルートCA証明書のパス) > (出力するファイル名)

  4. 連結したファイルがPEM形式になっていることを確認してください。 連結したファイルがPEM形式になっていることを確認してください。
    例)PEM形式の証明書 

    ----BEGIN CERTIFICATE----
    MIIEcTCCA1mgAwIBAgIIasWHLdnQB2owDQYJKoZIhvcNAQELBQAwbzELMAkGA1UE
    BhMCSlAxFDASBgNVBAcMC0FjYWRlbWUtb3BzMSowKAYDVQQKDCFOYXRpb25hbCBJ
    bnN0aXR1dGUgb2YgSW5mb3JtYXRpY3MxHjAcBgNVBAMMFU5JSSBPcGVyYXRpbmcg
    Q0EgLSBHMjAeFw0xNTAzMTIwMTA4MDJaFw0xNzA0MTEwMTA4MDJaMHAxCzAJBgNV
    (中略)
    LmeW0e/xkkxwdmKv5y5txLlFcp53AZl/vjn3BHp42PFkkTISEmAUiCtQ2A25QDRR
    RG33laC8E8Tl/SnOA8h95XQtGWm47PrIjXyYtIe0rFousbpIoW8MZw4gDXVQ3485
    XEftqwwIMcLNxttJ6i6f9XVyPMRhHy9rdDPseHiXayxcBxJMuw==
    ----END CERTIFICATE----

  5. コマンドプロンプトを開き、ファイルのある任意のフォルダ(ここではC:\temp\test2018)へ移動します。 

    > set Path=(OpenSSLインストールディレクトリ)\bin
    ※OpenSSLインストールディレクトリをプログラムを探すディレクトリに指定します
    > cd (作業ディレクトリ) 作業ディレクトリ

  6. 移動後、下記のコマンドを入力しPKCS#12ファイルを作成してください。 

    > openssl pkcs12 -export -chain -inkey (鍵ペアのファイル名) -CAfile (ルートCA証明書と中間CA証明書を連結させたファイル) -in (コード署名用の証明書ファイル名) -out (PKCS#12形式で出力するファイル名) –name (コード署名用証明書のエイリアス名) –caname (ルートCA証明書と中間CA証明書のエイリアス名)

     

  7. 「Enter pass phrase for (鍵ペアファイル):」と表示されますので、鍵ペアファイルにアクセスさせるための、アクセスPINを入力してください。 
     

  8. 「Enter Export Password:」と表示されますので、PKCS#12形式のファイルを保護するためのアクセスPINとして任意の文字列を入力してください。 

     
  9. 「Verifying - Enter Export Password:」と表示されますので、確認のため、同じアクセスPINを再度入力してください。 
     

  10. OpenSSLのコマンドが終了しますので、PKCS#12ファイルが生成されていることを確認してください。 
     

...

署名作業

  1. 同一フォルダ上に署名する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

     

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

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



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


     

...