...
アンカー | ||||
---|---|---|---|---|
|
アンカー | ||||
---|---|---|---|---|
|
アンカー | ||||
---|---|---|---|---|
|
アンカー | ||||
---|---|---|---|---|
|
アンカー | ||||
---|---|---|---|---|
|
アンカー | ||||
---|---|---|---|---|
|
...
事前準備 |
|
...
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形式で出力するファイル名) –name (コード署名用証明書のエイリアス名) –caname (ルートCA証明書と中間CA証明書
のエイリアス名)- 「Enter pass phrase for (鍵ペアファイル)」と表示されますので、鍵ペアファイルにアクセスさせるための、パスフレーズを入力してください。
- 「Enter Export Password:」と表示されますので、PKCS#12形式のファイルを保護するためのアクセスPINとして任意の文字列を入力してください。
- 「Verifying - Enter Export Password:」と表示されますので、確認のため、同じアクセスPINを再入力してください。
- OpenSSLのコマンドが終了しますので、 PKCS#12ファイルが作業ディレクトリに生成されていることを確認してください。
|アンカー _Toc413847346 _Toc413847346 アンカー _Toc413847366 _Toc413847366
1-2-3. JKS (Javaキーストア) ファイルの作成アンカー _Toc505800957 _Toc505800957 本項目ではWindowsOS上で任意のフォルダにJKS (Javaキーストア) ファイルを作成する方法を記述します。
以下は、例としてWindows10上での作成方法を記載します。JKS(Javaキーストア)ファイルの作成
- 任意のフォルダ(ここではC:\temp\test2018とします)にて以下のファイルを用意してください。
項目「1-2-2 PKCS#12ファイルの作成」にて作成したPKCS#12ファイル(test.p12)
- 任意のフォルダ(ここではC:\temp\test2018とします)にて以下のファイルを用意してください。
コマンドプロンプトを開き、ファイルのある任意のフォルダ(ここではC:\temp\test2018)へ移動します。
> set Path=(JDKインストールディレクトリ)\bin
※JDKインストールディレクトリをプログラムを探すディレクトリに指定します
> cd (作業ディレクトリ) ←作業ディレクトリ移動後、下記のコマンドを入力しJKS (Javaキーストア) ファイルを作成してください。
> keytool -importkeystore -srckeystore (PKCS#12ファイル名) -destkeystore (作成したいキーストアファイル名) -srcstoretype pkcs12 -deststoretype pkcs12 -srcalias (PKCS#12ファイルで利用されているエイリアス名) -destalias (登録したいエイリアス名) -destkeypass (キーストアに設定したいパスワード)
※ PKCS#12ファイルで利用されているエイリアス名(別名)は以下コマンドで参照下さい。
keytool –v –list –keystore (PKCS#12ファイル名)
- 「出力先キーストアのパスワードを入力してください:」と表示されますので、上記のコマンドの「-destkeypass」に設定した文字列を入力してください。
- 「新規パスワードを再入力してください:」と表示されますので、確認のため、同じパスワードを再入力してください。
- 「出力先キーストアのパスワードを入力してください」と表示されますので、PKCS#12ファイルのアクセスPINを入力してください。
- keytoolのコマンドが終了しますので、 JKS (Javaキーストア) ファイルが作業ディレクトリに作成されていることを確認してください。
署名検証時に必要となるため下記のコマンドを入力しJKS (Javaキーストア) ファイルに「ルートCA証明書」をインポートしてください。
> keytool -importcert -keystore (キーストアファイル名) -alias (設定したいルートCA証明書のエイリアス名) -file (ルートCA証明書のファイル名) -trustcacerts
- 「キーストアのパスワードを入力してください:」と表示されますので、JKS (Javaキーストア) ファイルを保護するパスワードを入力してください。
- 「この証明書を信頼しますか。 [いいえ]:」と表示されますので、「はい」と日本語入力で入力してください。
- keytoolのコマンドが終了しますので、 JKS (Javaキーストア) ファイルが更新されていることを確認してください。
|アンカー _Ref412820353 _Ref412820353 アンカー _Toc413847347 _Toc413847347 アンカー _Toc413847367 _Toc413847367
1-3.署名アンカー _Toc505800958 _Toc505800958 本章ではJava jar形式のファイルにWindowsOS上にてデジタル署名をする方法について記述します。
署名作業
- 同一フォルダ上に署名するJava jar形式のファイル(test.jar)と項目1-2-3にて 作成したJKS (Javaキーストア) ファイルを置きます。
- 同一フォルダ上に署名するJava jar形式のファイル(test.jar)と項目1-2-3にて 作成したJKS (Javaキーストア) ファイルを置きます。
コマンドプロンプトを実行し、署名対象ファイルのあるフォルダへ移動します。
> set Path=(JDKインストールディレクトリ)\bin
※JDKインストールディレクトリをプログラムを探すディレクトリに指定します
> cd (作業ディレクトリ) ←作業ディレクトリフォルダ移動後、署名したいJava jar形式のファイル(ここではtest.jar)に対して下記のコマンドにて署名を実施してください。
jarsigner -keystore (キーストアファイル名) (署名したいJava jar形式のファイル名) (キーストア内の証明書のエイリアス名)
- 「キーストアのパスワードを入力してください:」と表示されますので、JKS (Javaキーストア) ファイルを保護するパスフレーズを入力してください。
- 「jarは署名されました。」表示され、keytoolのコマンドが終了しますので、 対象のJava jar形式ファイルが更新されていることを確認してください。
※以下警告はタイムスタンプが付与されていないため、表示されているものです。
署名状況には問題ありません。警告内の署名書証明書の有効期限は証明書、証明書毎に異なります。
警告:
-tsaまたは-tsacertが指定されていないため、このjarにはタイムスタンプが付加されていません。
タイムスタンプがないと、署名者証明書の有効期限(20YY-MM-)後または将来の失効日後に、
ユーザーはこのjarを検証できない可能性があります。
|アンカー _Toc413847348 _Toc413847348 アンカー _Toc413847368 _Toc413847368
1-4.コード署名確認作業アンカー _Toc505800959 _Toc505800959 本章では、デジタル署名したJava jar形式のファイルのコード署名確認作業について記述します。
署名確認作業
コマンドプロンプトを実行し、署名対象ファイルのあるフォルダへ移動します。
> set Path=(JDKインストールディレクトリ)\bin
※JDKインストールディレクトリをプログラムを探すディレクトリに指定します
> cd (作業ディレクトリ) ←作業ディレクトリ下記のコマンドにて署名検証を実施してください。
> jarsigner -verify -keystore (キーストアファイル名) (検証したいJava jar形式のファイル名) (コード署名用証明書のエイリアス名)
- 「jarが検証されました。」と表示されることを確認します。
※以下警告はタイムスタンプが付与されていないため、表示されているものです。
署名状況には問題ありません。警告内の署名書証明書の有効期限は証明書、証明書毎に異なります。
警告:
このjarには、タイムスタンプがない署名が含まれています。タイムスタンプがないと、署名者証明書の
有効期限(20YY-MM-DD)後または将来の失効日後に、ユーザーはこのjarを検証できない可能性が
あります。
※2.のコマンド[-verbose -certs]を追加することで、署名者を表示することが可能です。
|