改版履歴 |
版数 | 日付 | 内容 | 担当 |
V.1.0 | 2018/2/26 | 初版 | NII |
V1.1 | 2018/7/9 | DNのルールの修正 CSR作成の記述内容の修正 | NII |
V1.2 | 2020/6/4 | 証明書の申請と取得について変更 | NII |
V1.3 | 2020/7/15 | DNのルール、TSVファイル形式のSTおよびLの値の説明、リンクの変更 | NII |
V1.4 | 2020/12/22 | L、STを必須に修正 | NII |
V1.5 | 2020/12/24 | 鍵長の変更 | NII |
目次
1. 鍵ペアの生成とCSRの作成
1-1. 鍵ペアの生成とCSRの作成について
1-2. 事前準備
1-3. 鍵ペアの生成
1-4. CSRの作成
2. 証明書の申請から取得まで
2-1. 証明書の申請と取得について
1. 鍵ペアの生成とCSRの作成
1-1. 鍵ペアの生成とCSRの作成について
コード署名用証明書を利用し、各アプリケーションに署名を行うにあたり、以下作業鍵ペア及びCSRを作成、申請作業が必要となります。本項ではそのうち鍵ペアの生成とCSRの作成方法について記します。
1-2. 事前準備
鍵ペアを生成、CSRを作成する前に、事前に以下の項目の準備をしてください。
事前準備 |
- 乱数生成用ファイルの準備(200KB程度のファイルであればどんなものでも構いません) 本マニュアルではファイル名をrandfile1.txt、randfile2.txt、randfile3.txtとします。
- 鍵ペア用私有鍵パスフレーズ<PassPhrase>(「1-3、1-4で使用」)
- DN(※DNについては、本サービス証明書ポリシまたは、下記DNのルールをご確認ください)
- CSRファイル名は signname.csr としています。
|
CSRに記述するDNのルールは以下のとおりとなります。
DNのルール |
項目 | 指定内容の説明と注意 | 必須 | 文字数および注意点 |
Country(C) | 本認証局では必ず「JP」と設定してください。 例)C=JP | ○ | JP固定 |
State or ProvinceName(ST) | 「都道府県」(ST)は利用管理者及び利用者が所属する組織の所在地の都道府県名とし、原則としてサービス窓口に事前に届出したとおりの所在地の都道府県名をローマ字表記で指定してください。 例)ST=Tokyo | ○ | STとして指定できる値は下記リンクを参照してください。機関ごとに固定となります。 UPKI証明書 主体者DNにおける ST および L の値一覧 ※STおよびLが必須。(2020年12月22日以降) |
Locality Name(L) | 「場所」(L)は利用管理者及び利用者が所属する組織の所在地の市区町村名とし、原則としてサービス窓口に事前に届出したとおりの所在地の市区町村名をローマ字表記で指定してください。 例)L=Chiyoda-ku | ○ | Lとして指定できる値は下記リンクを参照してください。機関ごとに固定となります。 UPKI証明書 主体者DNにおける ST および L の値一覧 ※STおよびLが必須。(2020年12月22日以降) |
Organization Name(O) | サービス参加申請時の機関名英語表記を設定してください。この情報は各所属機関の登録担当者にお問い合わせください。 CNとOは一致する必要があります。 例)O=National Institute of Informatics | ○ | 半角の英数字64文字以内 (記号は「'(),-./:=」と半角スペースのみ使用可能) |
OrganizationalUnit Name(OU) | 証明書を使用する部局等の名前を設定してください。 (この値は省略可能です) (この値は複数設定することが可能です。複数指定する方法につきましては、CSR作成時ご使用のアプリケーションのマニュアルをご確認ください。) 例)OU=Cyber Science Infrastructure Development Department | △ | ・半角の英数字64文字以内 (記号は「'(),-./:=」と半角スペースのみ使用可能) ・複数OUを指定する場合は、全体で64文字以内 UPKI証明書 主体者DNにおける OU の値一覧 └OUの値として使用できないもの ※上記サーバ証明書向けの「OU許可リスト」に含まれていないOUでも、審査を行い問題なければ発行可能です。 |
Common Name(CN) | サービス参加申請時の機関名英語表記を設定してください。この情報は各所属機関の登録担当者にお問い合わせください。 CNとOは一致する必要があります。 例)O=National Institute of Informatics | ○ | 半角の英数字64文字以内 (記号は「'(),-./:=」と半角スペースのみ使用可能) |
Email | 本認証局では使用しないでください。 | × |
|
鍵長 |
RSA 3072bitまたは 4096bit |
○・・・必須 ×・・・入力不可 △・・・省略可
1-3. 鍵ペアの生成
以下に鍵ペアの生成方法を記述します。
鍵ペアの生成 |
- 鍵ペアを生成するため、「1-2.事前準備」の手続き1で用意したファイル (200 KB 程度) を3つ選んでください。この手続きでは、 選択したファイルの名前を「randfile1.txt」、「randfile2.txt」、「randfile3.txt」として表記します。
- 用意したファイルを、作業ディレクトリに用意してください。
鍵ペアの生成を行うため、次のコマンドを入力してください。今回のコマンド例では、 作業ディレクトリに移動し、4096 bitの RSA 鍵ペアを生成し、「servername.key」という名前で保存することを示しています。 > set Path=(OpenSSLインストールディレクトリ)\bin ※OpenSSLインストールディレクトリをプログラムを探すディレクトリに指定します > cd (作業ディレクトリ) ←作業ディレクトリ > openssl genrsa -des3 -rand (randfile1.txt):(randfile2.txt):(randfile3.txt) 4096 > servername.key Generating RSA private key, 4096 bit long modulus ..............................++++++ ...............++++++ unable to write 'random state' e is 65537 (0x10001) Enter pass phrase: <PassPhrase> ←私有鍵パスフレーズ入力 |
重要: この鍵ペア用私有鍵パスフレーズは、署名の付与等に必要となる重要な情報です。鍵ペア利用期間中は忘れることがないよう、また、情報が他人に漏れることがないよう、安全な方法で管理してください。
- 生成した鍵ペアのファイルを保存します。バックアップは外部媒体ディスク等に保存し、安全な場所に保存してください。鍵ペアの中の私有鍵を利用すれば、コード署名の付与者へのなりすましができてしまいます。従って保存する鍵ペアファイルへのアクセス権は利用管理者自身等必要最小限になるよう設定してください。
バックアップを保存した外部媒体ディスク等も利用管理者のみまたは同じ権限のある方のみ利用できる場所へ保管してください。 また、鍵ペア用私有鍵パスフレーズの管理も、確実に行ってください。鍵ペアファイルの紛失、鍵ペア用私有鍵パスフレーズ忘れ等が発生した場合、コード署名用証明書のインストールが行えなくなります。この場合、新たにコード署名用証明書を申請しなおしていただくことになりますので、ご注意ください。
|
1-4. CSRの作成
鍵ペアが作成されたことを確認後、CSRを作成します。
CSRの作成 |
次のコマンドを入力し、CSRの作成を開始してください。パスフレーズの入力が求められますので、「1-3-1 鍵ペアの生成」の手続き3で作成した私有鍵のパスフレーズを入力してください。 コマンドでは、署名アルゴリズムSHA-1でCSRを作成し、「signname.csr」(ファイル名は任意)というファイル名で保存することを示しています。 > openssl req -new -key servername.key -sha256 -out signname.csr ←CSRファイル名 Enter pass phrase for servername.key: <PassPhrase> ←私有鍵パスフレーズ入力 |
「-sha256」:署名アルゴリズムを示すオプション。 署名アルゴリズムSHA-1でCSRを作成する場合は、「-sha1」に置き換えてください。
パスフレーズの入力に成功すると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]:Tokyo ←都道府県名を入力 Locality Name (eg, city) []:Chiyoda-ku ←市区町村名を入力 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 []:.← 「.」ドットを入力| |
要求された情報の入力が完了すると CSR が作成され、signname.csrに保存されます。なお、このファイルも、バックアップをとって、証明書を受領するまでは別途保管することをお勧めします。 ----BEGIN CERTIFICATE REQUEST---- MIIBhDCB7gIBADBFMQswCQYDVQQGEwJKUDEQMA4GA1UEBxMHQWNhZGVtZTEMMAoG 例 Um0E3vq8Ajg= ----END CERTIFICATE REQUEST---- |
以下のコマンドを入力することにより、CSRの内容を確認することができます。 > openssl req -noout -text -in signname.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=JP,ST=Tokyo, L=Chiyoda-ku, 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: (4096 bit)←鍵長が4096bitであることを確認してください。 Modulus (4096 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 |
|
2. 証明書の申請から取得まで
2-1. 証明書の申請と取得について
CSRを作成後、登録担当者へ送付するためのコード署名証明書 発行申請書(Excel)を作成し申請します。コード署名証明書 発行申請書(Excel)の作成方法、申請方法等につきましては、「証明書自動発行支援システム操作手順書(利用管理者用)」をご確認ください。
コード署名用証明書の発行が完了すると、発行申請書に記載したパスワードでZIP暗号化された証明書が納品されます。