| | | 版数 | 日付 | 内容 | 担当 |
V.1.0 | 2015/4/1 | 初版 | NII |
V2V.2.0 | 2018/2/26 | 動作環境の変更に伴う修正 | NII |
V.2.1 | 2018/8/21 | タイムスタンプ利用手順の追加 | NII |
V.2.2 | 2020/6/4 | 中間CA証明書のURLとリポジトリのURLの変更 | NII |
V.2.3 | 2020/12/22 | 中間CA証明書のURL変更 | NII |
V.2.4 | 2020/12/24 | 鍵長の変更 | NII |
V.2.5 | 2021/5/31 | コード署名用証明書の中間CA証明書を修正 | NII |
目次
1.コード署名用証明書の利用 コード署名用証明書の利用
1-1. 前提条件 前提条件
1-2. PKCS#12ファイルの作成 PKCS#12ファイルの作成
1-2-1. 事前準備 事前準備
1-2-2. PKCS#12ファイルの作成 PKCS#12ファイルの作成
1-3. 署名 署名
1-4. コード署名確認作業
アンカー |
---|
| _Toc505795743 |
---|
| _Toc505795743 |
---|
|
1....
コード署名用証明書の利用
アンカー |
---|
| _Toc505795744 |
---|
| _Toc505795744 |
---|
|
1-1. 前提条件OpenSSLコード署名用証明書を使用する場合の前提条件について記載します。適宜、コード署名用証明書をインストールする利用管理者様の環境により、読み替えをお願いします。OpenSSLコード署名用証明書を使用する場合の前提条件について記載します。適時、コード署名用証明書をインストールする利用管理者様の環境により、読み替えをお願いします。
(本マニュアルではWindows PowerShell 5.0での実行例を記載しております。) 0での実行例を記載しております。)
コマンドプロンプト上で実行するコマンドは、「 > 」にて示しています。
前提条件 |
OpenSSLがインストールされていること |
CSR作成時は既存の鍵ペアは使わずに、必ず新たにCSR作成用に生成した鍵ペアを利用してください。更新時も同様に、鍵ペアおよびCSRを新たに作成してください。鍵ペアの鍵長は2048bitにしてください。
重要: PKCS#12形式でコード署名用証明書を取得している場合は、1-3.署名より署名を行ってください。CSR作成時は既存の鍵ペアは使わずに、必ず新たにCSR作成用に生成した鍵ペアを利用してください。更新時も同様に、鍵ペアおよびCSRを新たに作成してください。鍵ペアの鍵長はRSA 3072bitまたは 4096bitにしてください。
アンカー |
---|
| _Toc505795745 |
---|
| _Toc505795745 |
---|
|
...
1-2. PKCS#12ファイルの作成
本章ではPKCS#12ファイルの作成方法について記述します。
...
アンカー |
---|
| _Toc505795746 |
---|
| _Toc505795746 |
---|
|
1-2-1. 事前準備事前準備として、「ルートCA証明書」、「中間CA証明書」、「コード署名用証明書」を取得してください。
「.証明書の申請から取得まで」で受領したコード署名用証明書を任意の名前で任意の場所に保存してください。 - 「証明書の申請から取得まで」で受領したコード署名用証明書を任意の名前で任意の場所に保存してください。
「ルートCA証明書」と「中間CA証明書」を準備し、この2つを連結させます。下記URLより、リポジトリへアクセスしてください。
「中間CA証明書」を下記リポジトリより取得してください。 セコムパスポート for Member 2.0 PUB
|
「ルートCA証明書」と「中間CA証明書」を準備し、この2つを連結させます。下記URLより、リポジトリへアクセスしてください。 国立情報学研究所 オープンドメイン認証局 sppcanii/odca3/ind アンカー |
---|
_Hlt412051544 | _Hlt412051544 | アンカー |
---|
_Hlt412051545 | _Hlt412051545 | ex.html リポジトリ内にある「証明書の種類」より中間CA証明書を取得してください。 SHA-256 コード署名用証明書の場合: sppcaniiodca3nii-odcacssha2 SHA-256 SHA-256 ...
...
アンカー |
---|
| _Toc505795747 |
---|
| _Toc505795747 |
---|
|
1-2-2. PKCS#12ファイルの作成本項目ではWindowsOS上で任意のフォルダにPKCS#12ファイルを作成する方法を記述します。
以下は、例としてWindows10上での作成方法を記載します。
PKCS#12ファイルの作成 |
- 任意のフォルダ(ここではC:\temp\test2018とします)
|
にて以下の3つのファイルを用意してください。 - にて以下の4つのファイルを用意してください。
- 項目「鍵ペアの生成」にて作成した鍵ペアのファイル(servername.
|
key- keyとします)
- 項目「証明書の申請から取得まで」にて取得したコード署名用証明書(
|
ここではtestcerとします) - cerとします)
- 項目「1-2-1事前準備」にて用意した「ルートCA証明書」と 「中間CA証明書」を連結させたファイル(
|
ここではchain- chain.cerとします)
- 項目「1-2-1事前準備」にて用意した「ルートCA証明書」ファイル(SCRoot2CA.
|
cer- cerとします)
Image Modified
CAfile に指定する証明書をDER形式からPEM形式に変換します。 ・Security Communication RootCA2の場合 openssl x509 -inform der -in SCRoot2ca.cer -outform pem -out SCRoot2ca.cer
|
|
・中間CA証明書SHA-256の場合 ・中間CA証明書(2021年5月31日00:00以前の発行証明書が対象)の場合 openssl x509 -inform der -in |
|
nii-odcacssha2CODECAG2.cer -outform pem -out |
|
nii-odcacssha2...
コマンドプロンプト上にて上記で取得した「ルート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形式で出力するファイル名) |
|
...
...
-caname (ルートCA証明書と中間CA証明書のエイリアス名) |
Image Modified
- 「Enter pass phrase for (鍵ペアファイル)
|
...
- :」と表示されますので、鍵ペアファイルにアクセスさせるための、アクセスPINを入力してください。
Image Modified
- 「Enter Export Password:
|
...
- 」と表示されますので、PKCS#12形式のファイルを保護するためのアクセスPINとして任意の文字列を入力してください。
Image Modified - 「Verifying - Enter Export Password:
|
...
- 」と表示されますので、確認のため、同じアクセスPINを再度入力してください。
Image Modified
|
...
OpenSSLのコマンドが終了しますので、PKCS#12ファイルが生成されていることを確認してください。 Image Modified
|
...
...
...
Toc505795748 | | _Toc505795748 |
---|
|
1-3. 署名...
本章では、Windows PowerShell用スクリプト形式のファイルにWindowsOS上でデジタル署名をする方法について記述します。
...
以下は、例としてWindows10上での作成方法を記載します。
...
Windows PowerShell用スクリプト形式のファイルへの署名はファイル生成時にWindows Powershellを利用して署名します。
タイムスタンプ利用の是非により手順が異なりますので、用途に応じてご参照ください。
...
...
- 同一フォルダ上に署名するWindows PowerShell用スクリプト形式のファイル(test.ps1)と項目1-2-2にて 生成したPKCS#12ファイルを置きます。
Image Modified
|
...
コマンドプロンプトを実行し、署名対象ファイルのあるフォルダへ移動します。
|
...
...
フォルダ移動後、PowerShellを起動するため以下のコマンドを実行してください。 Image Modified
|
...
PowerShell起動後、「$cert」にコード署名用証明書の情報を読み込むため、以下のコマンドを実行してください。 > $cert = Get-PfxCertificate test.p12 |
Image Modified
- 「パスワードの入力:
|
...
- 」と表示されますので、PKCS#12ファイルのアクセスPINを入力してください。
Image Modified
|
...
コード署名用証明書の情報を確認するため、以下のコマンドを実行してください。 Image Modified
|
...
コード署名用証明書の情報を確認後、Windows PowerShell用スクリプト形式のファイルへの署名を以下のコマンドを実行してください。 > Set-AuthenticodeSignature |
|
...
(署名したいWindows PowerShell用スクリプト形式のファイル名) $cert |
Image Modified
|
...
- コマンドが終了しますので、対象のWindows PowerShell用スクリプト形式のファイルが更新されていることを確認してください。
Image Modified
Image Modified
|
...
署名作業(併せてタイムスタンプを付与する場合) |
以下と同様の手順となりますので、ご参照ください。 「コード署名用証明書利用マニュアル」-「Windows用(.exe,.cab,.dll)形式編」-「1-3. 署名」-「署名作業(併せてタイムスタンプを付与する場合)」 |
アンカー |
---|
| _Toc505795749 |
---|
| _Toc505795749 |
---|
|
1-4. コード署名確認作業...
本章ではデジタル署名したWindows PowerShell用スクリプト形式のファイルのコード署名確認作業について記述します。
...
署名確認作業(併せてタイムスタンプを付与しない場合) |
...
コマンドプロンプトを実行し、署名対象ファイルのあるフォルダへ移動します。
|
...
...
フォルダ移動後、PowerShellを起動するため以下のコマンドを実行してください。 Image Modified
PowerShell起動後、「&"
|
...
」の後にWindows PowerShell用スクリプト形式のパス名を書き、 その後「"
|
...
...
署名したWindows PowerShell用スクリプト形式のファイル名)" |
①署名が正しく検証されると、
|
...
正常に実行されます。
②署名が正しく検証されないと、
|
...
次のように表示されます。
ファイル (作業ディレクトリ)(署名したWindows PowerShell用スクリプト形式のファイル名)を読み込めません。ファイル (作業ディレクトリ)(署名したWindows PowerShell用スクリプト形式のファイル名) の内容は改ざんされている可能性があります。ファイルのハッシュが、 デジタル署名に保存されているハッシュと一致しません。このスクリプトはシステムで実行されません。詳細については、「get-help about_
|
...
signing」と入力してヘルプを参照してください。 発生場所 行:1 文字:
|
...
...
(署名したWindows PowerShell用スクリプト形式のファイル名)" + CategoryInfo : NotSpecified: (
|
...
...
...
eption + FullyQualifiedErrorId :
|
...
署名確認作業(併せてタイムスタンプを付与した場合) |
以下と同様の手順となりますので、ご参照ください。 「コード署名用証明書利用マニュアル」-「Windows用(.exe,.cab,.dll)形式編」-「1-4-2. GUI操作によるコード署名確認」-「署名確認作業(併せてタイムスタンプを付与した場合)」 |