改版履歴 |
|
|
|
版数 |
日付 |
内容 |
担当 |
V.1.0 |
2015/4/1 |
初版 |
NII |
V.2.0 |
2018/2/26 |
動作環境の変更に伴う修正 |
NII |
目次
1.コード署名用証明書の利用
1-1.前提条件
1-2.PKCS#12ファイルの作成
1-2-1.事前準備
1-2-2.PKCS#12ファイルの作成
1-3.署名
1-4.コード署名確認作業
1-4-1. signtoolを使用したコード署名確認
1-4-2. GUI操作によるコード署名確認
1.コード署名用証明書の利用
1-1.前提条件
OpenSSLコード署名用証明書を使用する場合の前提条件について記載します。適時、コード署名用証明書をインストールする利用管理者様の環境により、読み替えをお願いします。
(本マニュアルではVisual Studio 2015での実行例を記載しております。)
コマンドプロンプト上で実行するコマンドは、「 > 」にて示しています。
前提条件 |
|
CSR作成時は既存の鍵ペアは使わずに、必ず新たにCSR作成用に生成した鍵ペアを利用してください。更新時も同様に、鍵ペアおよびCSRを新たに作成してください。鍵ペアの鍵長は2048bitにしてください。
重要: PKCS#12形式でコード署名用証明書を取得している場合は、1-3.署名より署名を行ってください。
1-2.PKCS#12ファイルの作成
本章ではPKCS#12ファイルの作成方法について記述します。
1-2-1.事前準備
事前準備として、「ルートCA証明書」、「中間CA証明書」、「コード署名用証明書」を取得してください。
事前準備 |
|
1-2-2.PKCS#12ファイルの作成
本項目ではWindowsOS上で任意のフォルダにPKCS#12ファイルを作成する方法を記述します。
以下は、例としてWindows10上での作成方法を記載します。
PKCS#12ファイルの作成 |
|
・Security Communication RootCA2の場合 |
- コマンドプロンプト上にて上記で取得した「ルートCA証明書」と「中間CA証明書」を下記のコマンドに
より、連結させてください。中間CA証明書の下部にルートCA証明書が併記されるファイルとなります。
> type (中間CA証明書のパス) (ルートCA証明書のパス) > (出力するファイル名)
- 連結したファイルがPEM形式になっていることを確認してください。
例)PEM形式の証明書
----BEGIN CERTIFICATE----
MIIEcTCCA1mgAwIBAgIIasWHLdnQB2owDQYJKoZIhvcNAQELBQAwbzELMAkGA1UE
BhMCSlAxFDASBgNVBAcMC0FjYWRlbWUtb3BzMSowKAYDVQQKDCFOYXRpb25hbCBJ
bnN0aXR1dGUgb2YgSW5mb3JtYXRpY3MxHjAcBgNVBAMMFU5JSSBPcGVyYXRpbmcg
Q0EgLSBHMjAeFw0xNTAzMTIwMTA4MDJaFw0xNzA0MTEwMTA4MDJaMHAxCzAJBgNV
(中略)
LmeW0e/xkkxwdmKv5y5txLlFcp53AZl/vjn3BHp42PFkkTISEmAUiCtQ2A25QDRR
RG33laC8E8Tl/SnOA8h95XQtGWm47PrIjXyYtIe0rFousbpIoW8MZw4gDXVQ3485
XEftqwwIMcLNxttJ6i6f9XVyPMRhHy9rdDPseHiXayxcBxJMuw==
----END CERTIFICATE---- - コマンドプロンプトを開き、ファイルのある任意のフォルダ(ここではC:\temp\test2018)へ移動します。
> set Path=(OpenSSLインストールディレクトリ)\bin
※OpenSSLインストールディレクトリをプログラムを探すディレクトリに指定します
> cd (作業ディレクトリ) ←作業ディレクトリ
- 移動後、下記のコマンドを入力しPKCS#12ファイルを作成してください。
> openssl pkcs12 -export -chain -inkey (鍵ペアのファイル名) -CAfile (ルートCA証明書と中間CA証明書を連結させたファイル) -in (コード署名用の証明書ファイル名) -out (PKCS#12形式で出力するファイル名)
- 「Enter pass phrase for (鍵ペアファイル)」と表示されますので、鍵ペアファイルにアクセスさせるための、パスフレーズを入力してください。
- 「Enter Export Password:」と表示されますので、PKCS#12形式のファイルを保護するためのアクセスPINとして任意の文字列を入力してください。
- 「Verifying - Enter Export Password:」と表示されますので、確認のため、同じアクセスPINを再入力してください。
- OpenSSLのコマンドが終了しますので、 PKCS#12ファイルが作成されていることを確認してください。
|
1-3.署名
本章ではWindows.exe.cab.dll形式のファイルにWindowsOS上にてデジタル署名をする方法について記述します。以下は、例としてWindows10上での作成方法を記載します。
署名作業
- 同一フォルダ上に署名する.exe形式のファイル(test.exe)と、項目1-2-2にて 作成したPKCS#12ファイルを置きます。
- 同一フォルダ上に署名する.exe形式のファイル(test.exe)と、項目1-2-2にて 作成したPKCS#12ファイルを置きます。
- コマンドプロンプトを実行し、作業を行うフォルダへ移動します。
コマンド例:> set Path=( Visual Studioインストールディレクトリ)\bin
※Visual Studioインストールディレクトリをプログラムを探すディレクトリに
指定します
> cd (作業ディレクトリ) ←作業ディレクトリ
- フォルダ移動後、署名したい.exe形式のファイル(ここではtest.exe)に対して下記のコマンドにて署名を実施してください。
signtool sign /f (PKCS#12ファイルへのパス) /p (PKCS#12ファイルのアクセスPIN) /d "(署名の説明)" (署名したい.exe形式のファイルのパス)
- コード署名が成功すると下記のメッセージが表れます。
Successfully signed (署名したexeファイル名)
|
1-4.コード署名確認作業
本章ではデジタル署名した.exe形式のファイルについて署名確認作業について記述します。
署名はsigntool、もしくはGUI操作にて確認可能です。
1-4-1. signtoolを使用したコード署名確認
署名確認作業
- コマンドプロンプトを実行し、作業を行うフォルダへ移動します。
コマンド例:> set Path=( Visual Studioインストールディレクトリ)\bin
※Visual Studioインストールディレクトリをプログラムを探すディレクトリに
指定します
> cd (作業ディレクトリ) ←作業ディレクトリ
- フォルダ移動後、下記のコマンドにて署名検証を実施してください。
> signtool verify /pa (署名したファイル名)
- 「Successfully verified: 」と表示されることを確認します。
|
1-4-2. GUI操作によるコード署名確認
署名確認作業
- 署名したファイルを右クリックにて「プロパティ」を開き、「デジタル署名」タブを開きます。
「詳細(D)」を押しますと署名した証明書の内容について確認できます。
- 署名したファイルを右クリックにて「プロパティ」を開き、「デジタル署名」タブを開きます。
- 「デジタル署名の詳細」画面が開きます。「証明書の表示(V)」を押すと署名した証明書が表示されます。
- 「証明書」画面が表示され、証明書が表示されることを確認します。
|