比較バージョン

キー

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

...

本項目ではWindowsOS上で任意のフォルダにPKCS#12ファイルを生成する方法を記述します。
以下は、例としてWindows10上での作成方法を記載します。

  

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)

      Image Modified

  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
  1. コマンドプロンプト上にて上記で取得した「ルートCA証明書」と「中間CA証明書」を下記のコマンドに 

  1. より、連結させてください。中間CA証明書の下部にルートCA証明書が併記されるファイルとなります。

     

 

...

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

...

  1. 連結したファイルがPEM形式になっていることを確認してください。 

    例)PEM形式の証明書

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

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

     

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

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

     

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

     

    Image Modified

  4. 「Enter pass phrase for (鍵ペアファイル)

...

  1. 」と表示されますので、鍵ペアファイルにアクセスさせるための、パスフレーズを入力してください。 

    Image Modified

  2. 「Enter Export Password:

...

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

    Image Modified 

  2. 「Verifying - Enter Export Password:

...

  1. 」と表示されますので、確認のため、同じアクセスPINを再入力してください。 

    Image Modified

  2. OpenSSLのコマンドが終了しますので、 

...

  1. PKCS#12ファイルが作業ディレクトリに生成されていることを確認してください。 

    Image Modified

...

  1.  

 

 

 

 

 

アンカー
_Toc413847346
_Toc413847346
アンカー
_Toc413847366
_Toc413847366
アンカー
_Toc505800957
_Toc505800957
1-2-3. JKS (Javaキーストア) ファイルの作成

本項目ではWindowsOS上で任意のフォルダにJKS (Javaキーストア) ファイルを作成する方法を記述します。
以下は、例としてWindows10上での作成方法を記載します。

JKS(Javaキーストア)ファイルの作成

  1. 任意のフォルダ(ここではC:\temp\test2018とします)にて以下のファイルを用意してください。

    項目「1-2-2 PKCS#12ファイルの作成」にて作成したPKCS#12ファイル(test.p12)
    Image Modified

  2. コマンドプロンプトを開き、ファイルのある任意のフォルダ(ここでは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ファイル名)


    Image Modified

  3. 「出力先キーストアのパスワードを入力してください:」と表示されますので、上記のコマンドの「-

...

  1. destkeypass」に設定した文字列を入力してください。 

    Image Modified

  2. 「新規パスワードを再入力してください:

...

  1. 」と表示されますので、確認のため、同じパスワードを再入力してください。 

    Image Modified

...


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

    Image Modified

  2. keytoolのコマンドが終了しますので、  JKS (Javaキーストア)

...

  1. ファイルが作業ディレクトリに作成されていることを確認してください。 

    Image Modified

  2. 署名検証時に必要となるため下記のコマンドを入力しJKS (Javaキーストア) ファイルに「ルートCA証明書」をインポートしてください。

    > keytool -importcert -keystore (キーストアファイル名) -alias (設定したいルートCA証明書のエイリアス名) -file (ルートCA証明書のファイル名) -trustcacerts


    Image Modified

  3. 「キーストアのパスワードを入力してください:」と表示されますので、JKS (Javaキーストア)

...

  1. ファイルを保護するパスワードを入力してください。 

    Image Modified

  2. 「この証明書を信頼しますか。 [いいえ]:

...

  1. 」と表示されますので、「はい」と日本語入力で入力してください。 

    Image Modified

...


  1. keytoolのコマンドが終了しますので、 JKS (Javaキーストア)

...

  1. ファイルが更新されていることを確認してください。 

    Image Modified

 

...

 

アンカー
_Ref412820353
_Ref412820353
アンカー
_Toc413847347
_Toc413847347
アンカー
_Toc413847367
_Toc413847367
アンカー
_Toc505800958
_Toc505800958
1-3.署名

本章ではJava jar形式のファイルにWindowsOS上にてデジタル署名をする方法について記述します。

署名作業

  1. 同一フォルダ上に署名するJava jar形式のファイル(test.jar)と項目1-2-3にて 作成したJKS (Javaキーストア) ファイルを置きます。

    Image Modified

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

     

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

  3. フォルダ移動後、署名したいJava jar形式のファイル(ここではtest.jar)に対して下記のコマンドにて署名を実施してください。

     

    jarsigner -keystore (キーストアファイル名) (署名したいJava jar形式のファイル名)  (キーストア内の証明書のエイリアス名)

     

    Image Modified

  4. 「キーストアのパスワードを入力してください:」と表示されますので、JKS (Javaキーストア)

...

  1. ファイルを保護するパスフレーズを入力してください。 

    Image Modified

  2. 「jarは署名されました。」表示され、keytoolのコマンドが終了しますので、  対象のJava

...

  1. jar形式ファイルが更新されていることを確認してください。 

    Image Modified

    Image Modified

...


  1. ※以下警告はタイムスタンプが付与されていないため、表示されているものです。 

...

  1. 署名状況には問題ありません。警告内の署名書証明書の有効期限は証明書、証明書毎に異なります。 

...

  1. 警告: 
    -tsaまたは-

...

  1. tsacertが指定されていないため、このjarにはタイムスタンプが付加されていません。 
    タイムスタンプがないと、署名者証明書の有効期限(20YY-MM-)

...

  1. 後または将来の失効日後に、 
    ユーザーはこのjarを検証できない可能性があります。 

...

  1.  

...

 


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

 

本章では、デジタル署名したJava jar形式のファイルのコード署名確認作業について記述します。

署名確認作業

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

     

...

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

  2. 下記のコマンドにて署名検証を実施してください。

     

    > jarsigner -verify -keystore (キーストアファイル名) (検証したいJava jar形式のファイル名) (コード署名用証明書のエイリアス名)


    Image Modified

...


  1. 「jarが検証されました。」と表示されることを確認します。 

    Image Modified

...


  1. ※以下警告はタイムスタンプが付与されていないため、表示されているものです。 

...


  1. 署名状況には問題ありません。警告内の署名書証明書の有効期限は証明書、証明書毎に異なります。 

...

  1. 警告: 

...

  1. このjarには、タイムスタンプがない署名が含まれています。タイムスタンプがないと、署名者証明書の 
    有効期限(20YY-MM-DD)

...

  1. 後または将来の失効日後に、ユーザーはこのjarを検証できない可能性が 

...

  1. あります。 

    ※2.のコマンド[-verbose -certs]

...

  1. を追加することで、署名者を表示することが可能です。 
    Image Modified

...