Comments
Transcript
コード署名用証明書 利用マニュアル MicrosoftSliverlight ベース
Ver.1.0 コード署名用証明書 利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 2015/4/1 国立情報学研究所 Ver.1.0 改版履歴 版数 日付 V.1.0 2015/4/1 内容 初版 担当 NII コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 目次 1.はじめに ..................................................................................................................... 1 1-1.CSR とは ........................................................................................................................... 1 1-2.OpenSSL の利用について ................................................................................................. 1 1-3. Microsoft Visual Studio の利用について ........................................................................ 1 1-4.本書の範囲 ........................................................................................................................ 2 2.コード署名用証明書の利用 .......................................................................................... 3 2-1.前提条件 ........................................................................................................................... 3 2-2.事前準備 ........................................................................................................................... 3 2-3.鍵ペアの生成と CSR の作成 ............................................................................................. 5 2-3-1 鍵ペアの生成 ............................................................................................................. 5 2-3-2 CSR の作成 ................................................................................................................ 6 2-4.証明書の申請から取得まで................................................................................................. 9 2-5.PKCS#12 ファイルの作成 ................................................................................................ 10 2-5-1 事前準備 .................................................................................................................. 10 2-5-2 PKCS#12 ファイルの作成.......................................................................................... 11 2-6.署名 ................................................................................................................................. 15 2-7.コード署名確認作業 ......................................................................................................... 17 i コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 1.はじめに コード署名用証明書利用マニュアル Windows 用デバイスドライバ(MicrosoftSliverlight ベースアプリケーション形 式)編(以下、「本マニュアル」)は、UPKI 電子証明書発行サービス(以下、「本サービス」)から発行されたコード署 名用証明書を使用するための CSR の作成方法、発行したコード署名用証明書をインストールする方法について記 載します。 1-1.CSR とは CSR(証明書発行要求:Certificate Signing Request)は証明書を作成するための元となる情報で、その内容に は、利用管理者が所属する組織名、公開鍵などの情報が含まれています。NII では、利用管理者に作成いただ いた CSR の内容を元に、コード署名用証明書を作成します。 CSR の例 -----BEGIN CERTIFICATE REQUEST----MIIBSTCB9AIBADCBjjELMAkGA1UEBhMCSlAxEDAOBgNVBAcTB0FjYWRlbWUxKjAo BgNVBAoTIU5hdGlvbmFsIEluc3RpdHV0ZSBvZiBJbmZvcm1hdGljczEiMCAGA1UE ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ lGu3rQIDAQABoAAwDQYJKoZIhvcNAQEEBQADQQCqpoKhuE6W4GpUhpSAJX51z/ze BvHWjt2CBnDeyaIVNgr3+zdGKUpvWYG70RkIss4ST6PDF+RQw+TRdkzl8TUF -----END CERTIFICATE REQUEST----- 1-2.OpenSSL の利用について コード署名用証明書を申請する際に必要となる鍵の生成や CSR の作成には OpenSSL を利用することができます。 OpenSSL のインストール方法等は OpenSSL Project(http://www.openssl.org)等のインターネット上のサイトや ダウンロードしたファイルに付属しているインストールマニュアルを参照してください。 1-3. Microsoft Visual Studio の利用について コード署名には Microsoft Visual Studio を利用します。Microsoft Visual Studio のインストール方法等は Microsoft 社(http://www.microsoft.com)の Visual Studio のインターネット上のサイトやダウンロードしたファイル に付属しているインストールマニュアルを参照してください。コード署名用の SignTool.exe は Visual Studio と共に 自動的にインストールされます。 Page 1 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 1-4.本書の範囲 本書では以下の(e、f)の作業について記述をします。 マニュアル名 内容 証明書自動発行支援システム操作手順書(利用管理 a. 者用) 利用管理者が実施する本システムへのコード 署名用証明書発行申請・取得について(4-2 章 に記載) b. 利用管理者が実施する本システムへのコード 署名用証明書更新申請・取得について(4-3 章 に記載) c. 利用管理者が実施する本システムへのコード 署名用証明書失効申請について(4-4 章に記載) d. 本システムへの証明書アップロードフォーマ ットについて(5 章に記載) コード署名用証明書利用マニュアル※1 e. CSR と鍵ペアの作成方法について f. コード署名用証明書のインストール方法につ いて g. コード署名用証明書を利用する手順について ※1 以下のマニュアルを総称して「コード署名用証明書インストールマニュアル」と呼びます。 ・コード署名用証明書利用マニュアル Windows 用デバイスドライバ(.exe,.cab,.dll 形式)編 ・コード署名用証明書利用マニュアル Windows 用 PowerShell スクリプト編 ・コード署名用証明書利用マニュアル Java jar 形式編 ・コード署名用証明書利用マニュアル Android 用(.apk 形式)編 ・コード署名用証明書利用マニュアル MacOSX .app bundles 形式編 ・コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 ・コード署名用証明書利用マニュアル Adobe AIR 形式編 Page 2 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2.コード署名用証明書の利用 2-1.前提条件 OpenSSL コード署名用証明書を使用する場合の前提条件について記載します。適時、コード署名用証明書をイ ンストールする利用管理者様の環境により、読み替えをお願いします。 コマンドプロンプト上で実行するコマンドは、「 > 」にて示しています。 前提条件 1. OpenSSL がインストールされていること CSR 作成時は既存の鍵ペアは使わずに、必ず新たに CSR 作成用に生成した鍵ペアを利用してください。更新時 も同様に、鍵ペアおよび CSR を新たに作成してください。鍵ペアの鍵長は 2048bit にしてください。 重要: PKCS#12 形式でコード署名用証明書を取得している場合は、2-6.署名より署名を行ってください。 2-2.事前準備 鍵ペアを生成、CSR を作成する前に、事前に以下の項目の準備をしてください。 事前準備 1. 乱数生成用ファイルの準備(200KB 程度のファイルであればどんなものでもかまいません) 本マニュアルではファイル名を randfile1.txt、randfile2.txt、randfile3.txt とします。 2. 鍵ペア用私有鍵パスフレーズ<PassPhrase>(「2-3-1、2-3-2 で使用」) 3. DN(※DN については、本サービス証明書ポリシまたは、下記 DN のルールをご確認ください) 4. CSR ファイル名は signname.csr としています。 Page 3 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 CSR に記述する DN のルールは以下のとおりとなります。 DN のルール 項目 指定内容の説明と注意 必須 Country(C) 本認証局では必ず「JP」と設定してください。 ○ 文字数および注意点 JP 固定 例)C=JP State or Province 本認証局では使用しないでください。 × 本認証局では必ず「Academe」と設定してく ○ Academe 固定 ○ 半角の英数字 64 文字 Name(ST) Locality Name(L) ださい。 例)L=Academe Organization Name(O) サービス参加申請時の機関名英語表記を設定 してください。この情報は各所属機関の登録 以内 担当者にお問い合わせください。 (記号は「'(),-./:=」と CN と O は一致する必要があります。 半角スペースのみ使 例)O=National Institute of Informatics 用可能) ・半角の英数字 64 文 Organizational 証明書を使用する部局等の名前を設定してく Unit Name(OU) ださい。 字以内 (この値は省略可能です) (記号は「'(),-./:=」と (この値は複数設定することが可能です。複 半角スペースのみ使 数指定する方法につきましては、CSR 作成時ご 用可能) 使用のアプリケーションのマニュアルをご確 ・複数 OU を指定す 認ください。 ) る場合は、全体で 64 例 )OU=Cyber Science △ Infrastructure 文字以内 Development Department Common Name(CN) Email サービス参加申請時の機関名英語表記を設定 ○ 半角の英数字 64 文字 してください。この情報は各所属機関の登録 以内 担当者にお問い合わせください。 (記号は「'(),-./:=」 CN と O は一致する必要があります。 と半角スペースのみ 例)O=National Institute of Informatics 使用可能) 本認証局では使用しないでください。 × 鍵長 RSA 2048bit ○・・・必須 ×・・・入力不可 △・・・省略可 Page 4 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2-3.鍵ペアの生成と CSR の作成 2-3-1.鍵ペアの生成 以下に鍵ペアの生成方法を記述します。 鍵ペアの作成 1. 鍵ペアを生成するため、「2-2.事前準備」の手続き 1 で用意したファイル (200 KB 程度) を 3 つ選んでくださ い。この手続きでは、 選択したファイルの名前を「randfile1.txt」、「randfile2.txt」、「randfile3.txt」として 表記します。 2. 用意したファイルを、作業ディレクトリに用意してください。 3. 鍵ペアの生成を行うため、次のコマンドを入力してください。今回のコマンド例では、 作業ディレクトリに移動 し、2048 bit の RSA 鍵ペアを生成し、「servername.key」という名前で保存することを示しています。 > set Path=(OpenSSL インストールディレクトリ)¥bin ※OpenSSL インストールディレクトリをプログラムを探すディレクトリに指定します > cd (作業ディレクトリ) > openssl genrsa ←作業ディレクトリへ移動してください -des3 -rand (randfile1.txt):(randfile2.txt):(randfile3.txt) 2048 > servername.key Generating RSA private key, 2048 bit long modulus ..............................++++++ ...............++++++ unable to write 'random state' e is 65537 (0x10001) Enter pass phrase: <PassPhrase> Verifying - Enter pass phrase: <PassPhrase> ←私有鍵パスフレーズ入力 ←私有鍵パスフレーズ再入力 重要: この鍵ペア用私有鍵パスフレーズは、署名の付与等に必要となる重要な情報です。鍵ペア利用期間中は 忘れることがないよう、また、情報が他人に漏れることがないよう、安全な方法で管理してください。 4. 生成した鍵ペアのファイルを保存します。バックアップは外部媒体ディスク等に保存し、安全な場所に保存し てください。鍵ペアの中の私有鍵を利用すれば、コード署名の付与者へのなりすましができてしまいます。従 って保存する鍵ペアファイルへのアクセス権は利用管理者自身等必要最小限になるよう設定してください。バ ックアップを保存した外部媒体ディスク等も利用管理者のみまたは同じ権限のある方のみ利用できる場所へ保 管してください。 また、鍵ペア用私有鍵パスフレーズの管理も、確実に行ってください。鍵ペアファイルの紛失、鍵ペア用私有 鍵パスフレーズ忘れ等が発生した場合、コード署名用証明書のインストールが行えなくなります。この場合、新 たにコード署名用証明書を申請しなおしていただくことになりますので、ご注意ください。 Page 5 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2-3-2. CSR の作成 鍵ペアが生成されたことを確認後、CSR を作成します。 CSR の作成 1. 次のコマンドを入力し、CSR の作成を開始してください。パスフレーズの入力が求められますので、「2-3-1 鍵 ペアの生成」の手続き 3 で作成した私有鍵のパスフレーズを入力してください。 コマンドでは、署名アルゴリズム SHA-1 で CSR を作成し、「signname.csr」(ファイル名は任意)というファイル 名で保存することを示しています。 > openssl req –new –key servername.key –sha1 –out signname.csr ←CSR ファイル名 Enter pass phrase for servername.key: <PassPhrase> ←私有鍵パスフレーズ入力 「-sha1」:署名アルゴリズムを示すオプション。 署名アルゴリズム SHA-2 で CSR を作成する場合は、「-sha256」に置き換えてください。 Page 6 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2. パスフレーズの入力に成功すると DN 情報の問い合わせが行われますので、「2-2. 事前準備」の「DN ルー ル」に従い、DN 情報を入力してください。OpenSSL では必要ない項目を「.」ドットを入力することにより、省略 することができます。 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [AU]:JP ←“JP”を入力 State or Province Name (full name) [Some-State]:. ←「.」ドットの入力 Locality Name (eg, city) []:Academe ←“Academe”を入力 Organization Name (eg, company) [Internet Widgits Pty Ltd]:National Institute of Informatics ← 組織名を入力 Organizational Unit Name (eg, section) []:Cyber Science Infrastructure Development Department ←部局名を入力 Common Name (eg, YOUR name) []:National Institute of Informatics← 組織名を入力 Email Address []:. ← 「.」ドットを入力 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:.← 「.」ドットを入力 An optional company name []:.← 「.」ドットを入力 3. 要求された情報の入力が完了すると CSR が作成され、signname.csr に保存されます。なお、このファイル も、バックアップをとって、証明書を受領するまでは別途保管することをお勧めします。 -----BEGIN CERTIFICATE REQUEST----MIIBhDCB7gIBADBFMQswCQYDVQQGEwJKUDEQMA4GA1UEBxMHQWNhZGVtZTEMMAoG 例 Um0E3vq8Ajg= -----END CERTIFICATE REQUEST----- Page 7 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 4. 以下のコマンドを入力することにより、CSR の内容を確認することができます。 > openssl req -noout -text –in signname.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=JP, L=Academe, O=National Institute of Informatics, OU=Cyber Science Infrastructure Development Department, CN=National Institute of Informatics ←CSR 生 成時に入力した DN と一致していることを確認してください。 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) ←鍵長が 2048bit であることを確認してください。 Modulus (2048 bit): 00:c9:0e:99:5c:8a:4a:e3:b2:e2:0d:3d:60:4d:30: : 例 : ca:2e:56:f7:66:bd:01:44:ea:f3:ca:d2:f6:e0:5e: 6c:57:4b:65:e4:e7:f7:ca:dd Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha1WithRSAEncryption← CSR 生成時に指定した署名アルゴリズム であることを確認してください。署名アルゴ リズムに sha256 を指定した場合は 「sha256WithRSAEncryption」と表示されま す。 88:44:e5:27:06:02:ec:85:6c:29:6a:0f:a3:92:87:4e:e2:f1: : 例 : 9c:3c:0b:7e:1c:55:3d:c3:b3:7a:3a:36:d1:f6:3a:97:78:1a: c1:cc Page 8 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2-4.証明書の申請から取得まで CSR を作成後、登録担当者へ送付するための証明書発行申請 TSV ファイルを作成し申請します。証明書発行申 請 TSV ファイルの作成方法、申請方法等につきましては、「証明書自動発行支援システム操作手順書(利用管理 者用)」をご確認ください。 コード署名用証明書の発行が完了すると、本システムより以下のメールが送信されます。メール本文に記載された コード署名用証明書取得 URL にアクセスし、コード署名用証明書の取得を実施してください。 コード署名用証明書取得 URL の通知 【件名】 コード署名用証明書発行受付通知 ・・・・・ #以下に証明書の取得先が記述されています。 貴機関の登録担当者経由で発行申請をいただきましたコード署名用証明書を配付いたします。 本日から 1 ヶ月以内に以下の証明書取得 URL へアクセスし、コード署名用証明書の取得を行ってください。 証明書取得 URL:https://scia.secomtrust.net/~ ←左記 URL にアクセスし証明書の取得を行ってくださ い。 ・・・・・ Page 9 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2-5.PKCS#12 ファイルの作成 本章では PKCS#12 ファイルの作成方法について記述します。 2-5-1.事前準備 事前準備として、「ルート CA 証明書」、「中間 CA 証明書」、「コード署名用証明書」を取得してください。 事前準備 1. 「2-4.証明書の受領」で受領したコード署名用証明書を任意の名前で任意の場所に保存してください。 2. 「ルート CA 証明書」と「中間 CA 証明書」を準備し、この 2 つを連結させます。SHA-1 および SHA-256 の証 明書それぞれで異なるルート CA 証明書および中間 CA 証明書を使用するため、発行したコード署名用証明 書の暗号アルゴリズムと合ったものをご利用ください。下記 URL より、リポジトリへアクセスしてください。 国立情報学研究所 オープンドメイン認証局 リポジトリ: https://repo1.secomtrust.net/sppca/nii/odca3/index.html リポジトリ内にある「証明書の種類」より中間 CA 証明書を取得してください。 SHA-1 コード署名用証明書の場合: https://repo1.secomtrust.net/sppca/nii/odca3/nii-odcacs.cer SHA-256 コード署名用証明書の場合: https://repo1.secomtrust.net/sppca/nii/odca3/nii-odcacsg2.cer 次に、「ルート CA 証明書」を下記リポジトより取得してください。 SHA-1 Security Communication RootCA1 リポジトリ: https://repository.secomtrust.net/SC-Root1/index.html SHA-1 Security Communication RootCA1 証明書: https://repository.secomtrust.net/SC-Root1/SCRoot1ca.cer SHA-256 Security Communication RootCA2 リポジトリ: https://repository.secomtrust.net/SC-Root2/index.html SHA-256 Security Communication RootCA2 証明書: https://repository.secomtrust.net/SC-Root2/SCRoot2ca.cer コマンドプロンプト上にて、上記で取得した「ルート CA 証明書」と「中間 CA 証明書」を下記のコマンドにより、 連結させてください。中間 CA 証明書の下部にルート CA 証明書が併記されるファイルとなります。 > type (中間 CA 証明書のパス) (ルート CA 証明書のパス) > (出力するファイル名) Page 10 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2-5-2. PKCS#12 ファイルの作成 本項目では WindowsOS 上で任意のフォルダに PKCS#12 ファイルを作成する方法を記述します。 以下は、例として Windows7 上での作成方法を記載します。 PKCS#12 ファイルの作成 1. 任意のフォルダ(ここでは C:¥temp¥test2015 とします)にて以下の 3 つのファイルを用意してください。 ① 項目「2-3-1 鍵ペアの生成」にて作成した鍵ペアのファイル(servername.key) ② 項目「2-4.証明書の申請から取得まで」にて取得したコード署名用証明書(ここでは test.cer とします) ③ 項目「2-5-1 事前準備」にて用意した「自己署名 CA 証明書」と 「中間 CA 証明書」を連結させたファイ ル(ここでは chain.cer とします) 2. コマンドプロンプトを開き、ファイルのある任意のフォルダ(ここでは C:¥temp¥test2015)へ移動しま す。 > set Path=(OpenSSL インストールディレクトリ)¥bin ※OpenSSL インストールディレクトリをプログラムを探すディレクトリに指定します > cd (作業ディレクトリ) ←作業ディレクトリ Page 11 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 3. Ver.1.0 移動後、下記のコマンドを入力し PKCS#12 ファイルを作成してください。 > openssl pkcs12 -export -chain -inkey (鍵ペアのファイル名) -CAfile (自己署名 CA 証明書と中間 CA 証明書を連結させたファイル) -in (コード署名用の証明書ファイル名) -out (PKCS#12 形式で出力す るファイル名) 4. 「Enter pass phrase for (鍵ペアファイル)」と表示されますので、鍵ペアファイルにアクセスさせるための、パ スフレーズを入力してください。 Page 12 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 5. Ver.1.0 「Enter Export Password:」と表示されますので、PKCS#12 形式のファイルを保護するためのアクセス PIN として任意の文字列を入力してください。 6. 「Verifying - Enter Export Password:」と表示されますので、確認のため、同じアクセス PIN を再入力して ください。 Page 13 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 7. Ver.1.0 OpenSSL のコマンドが終了しますので、 PKCS#12 ファイルが作成されていることを確認してください。 Page 14 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2-6.署名 本章では Windows.exe.cab.dll 形式のファイルに WindowsOS 上にて、デジタル署名をする方法について記述し ます。以下は、例として Windows7 上での作成方法を記載します。 署名作業 1. 同一フォルダ上に署名する MicrosoftSliverlight ベースアプリケーション形式のファイル(test.xap)と、項目 2-5-2 にて 作成した PKCS#12 ファイルを置きます。 2. コマンドプロンプトを実行し、作業を行うフォルダへ移動します。 コマンド例:> set Path=( Visual Studio インストールディレクトリ)¥bin ※Visual Studio インストールディレクトリをプログラムを探すディレクトリに 指定します > cd (作業ディレクトリ) ←作業ディレクトリ Page 15 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 3. Ver.1.0 フォルダ移動後、署名したい MicrosoftSliverlight ベースアプリケーション形式のファイル(ここでは test.xap)に対して下記のコマンドにて署名を実施してください。 >signtool.exe sign /f (PKCS#12 ファイルへのパス) /p (PKCS#12 ファイルのパスワード) /d (署名 の説明) (署名したい MicrosoftSliverlight ベースアプリケーション形式のファイルのパス) 4. コード署名が成功すると下記のメッセージが表れます。 >Successfully signed (署名した MicrosoftSliverlight ベースアプリケーション形式ファイル名) Page 16 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 Ver.1.0 2-7.コード署名確認作業 本章ではデジタル署名した MicrosoftSliverlight ベースアプリケーション形式のファイルのコード署名確認作業に ついて記述します。 署名確認作業 1. コマンドプロンプトを実行し、作業を行うフォルダへ移動します。 コマンド例:> set Path=( Visual Studio インストールディレクトリ)¥bin ※Visual Studio インストールディレクトリをプログラムを探すディレクトリに 指定します > cd (作業ディレクトリ) ←作業ディレクトリ Page 17 コード署名用証明書利用マニュアル MicrosoftSliverlight ベースアプリケーション形式編 2. Ver.1.0 フォルダ移動後、下記のコマンドにて署名検証を実施してください。 >signtool verify /pa (署名したファイル名) 3. 「Successfully verified: 」と表示されることを確認します。 Page 18