jdk/src/linux/doc/man/ja/jarsigner.1
changeset 2692 345bc8d65b19
parent 2 90ce3da70b43
child 5506 202f599c92aa
equal deleted inserted replaced
2691:bad7bbf42755 2692:345bc8d65b19
     1 '\" t
     1 ." Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
     2 .\"
     2 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3 .\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
     3 ."
     4 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 ." This code is free software; you can redistribute it and/or modify it
     5 .\"
     5 ." under the terms of the GNU General Public License version 2 only, as
     6 .\" This code is free software; you can redistribute it and/or modify it
     6 ." published by the Free Software Foundation.
     7 .\" under the terms of the GNU General Public License version 2 only, as
     7 ."
     8 .\" published by the Free Software Foundation.
     8 ." This code is distributed in the hope that it will be useful, but WITHOUT
     9 .\"
     9 ." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    10 .\" This code is distributed in the hope that it will be useful, but WITHOUT
    10 ." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    11 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 ." version 2 for more details (a copy is included in the LICENSE file that
    12 .\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 ." accompanied this code).
    13 .\" version 2 for more details (a copy is included in the LICENSE file that
    13 ."
    14 .\" accompanied this code).
    14 ." You should have received a copy of the GNU General Public License version
    15 .\"
    15 ." 2 along with this work; if not, write to the Free Software Foundation,
    16 .\" You should have received a copy of the GNU General Public License version
    16 ." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    17 .\" 2 along with this work; if not, write to the Free Software Foundation,
    17 ."
    18 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    19 .\"
    19 ." CA 95054 USA or visit www.sun.com if you need additional information or
    20 .\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    20 ." have any questions.
    21 .\" CA 95054 USA or visit www.sun.com if you need additional information or
    21 ."
    22 .\" have any questions.
    22 .TH jarsigner 1 "04 May 2009"
    23 .\" 
    23 ." Generated from HTML by html2man (author: Eric Armstrong)
    24 .\"
    24 
    25 .TH jarsigner 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
    25 .LP
    26 .SH "名前"
    26 .SH ""
    27 jarsigner \- JAR 署名および検証ツール
    27 jarsigner \- JAR 臀峨恰荐若若
    28 .LP
    28 .LP
    29 .RS 3
    29 .RS 3
    30 
    30 
    31 .LP
    31 .LP
    32 .LP
    32 .LP
    33 Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。
    33 Java ARchive (JAR) <ゃ臀峨臀峨篁 JAR <ゃ臀峨罎荐若障
    34 .LP
    34 .LP
    35 .RE
    35 .RE
    36 .SH "形式"
    36 .SH "綵√"
    37 .B jarsigner 
    37 .LP
    38 [ 
    38 
    39 .BI options
    39 .LP
    40 ]  
    40 .nf
    41 jar-file alias
    41 \f3
    42 .br
    42 .fl
    43 .B jarsigner
    43 \fP\f3jarsigner\fP [ options ] jar\-file alias
    44 .BI \-verify
    44 .fl
    45 [
    45 \f3jarsigner\fP \-verify [ options ] jar\-file 
    46 .BI options 
    46 .fl
    47 ]
    47 .fi
    48 jar-file 
    48 
    49 .SH "説明"
    49 .LP
    50 .IX "JAR signing and verification tool " "" "JAR signing and verification tool  \(em \fLjarsigner\fP"
    50 .SH "茯"
    51 .IX "jarsigner" "" "\fLjarsigner\fP \(em JAR signing and verification tool "
    51 .LP
    52 .B jarsigner 
    52 
    53 ツールは、次の 2 つの目的で使用します。
    53 .LP
    54 .TP 5
    54 .LP
    55 1. 
    55 \f3jarsigner\fP 若罨< 2 ゃт戎障
    56 Java ARchive (JAR) ファイルに署名を付ける
    56 .LP
    57 .TP 5
    57 .RS 3
    58 2. 
    58 .TP 3
    59 署名付き JAR ファイルの署名と完全性を検証する
    59 1.
    60 .LP
    60 Java ARchive (JAR) <ゃ臀峨篁 
    61 JAR 機能を使うと、クラスファイル、イメージ、サウンド、およびその他のデジタルデータ
    61 .TP 3
    62 を単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。
    62 2.
    63 開発者は、
    63 臀峨篁 JAR <ゃ臀峨翫с罎荐若 
    64 .B jar 
    64 .RE
    65 という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、
    65 
    66 すべての ZIP ファイルも JAR ファイルとみなすことができます。
    66 .LP
    67 .LP
    67 .LP
    68 「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティ
    68 JAR 罘純篏帥鴻<ゃゃ<若吾泣潟潟篁吾帥若帥筝<ゃ宴若後сс<ゃ菴ゅ号絽с障肴jar(1) 若篏帥c JAR <ゃ篏с障茵荀括鴻荐違鴻 ZIP <ゃ JAR <ゃ帥с障 \f3jar\fP c篏 JAR <ゃ障 \f3jarsigner\fP c JAR <ゃMETA\-INF/MANIFEST.MF <ゃ障障
    69 (人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、
    69 .LP
    70 デジタル署名には多くの利点があります。
    70 .LP
    71 .TP 2
    71 吾帥臀峨若 (臀峨絲乗院若) 潟cc (篋冴篌腓障) 泣冴ャ荐膊с吾臀峨罕吾帥臀峨紊鴻障
    72 \(bu
    72 .LP
    73 署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、
    73 .RS 3
    74 デジタル署名が本物かどうかを検証できる
    74 .TP 2
    75 .TP 2
    75 o
    76 \(bu
    76 臀峨篏帥泣絲障泣篏帥c荐膊茵с吾帥臀峨罎荐若с 
    77 非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である
    77 .TP 2
    78 .TP 2
    78 o
    79 \(bu
    79 泣篁篋冴ャ吾帥臀峨初筝純с 
    80 デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの
    80 .TP 2
    81 署名として機能することはない
    81 o
    82 .TP 2
    82 吾帥臀峨臀峨篁若帥絲乗院с祉若帥臀峨罘純 
    83 \(bu
    83 .TP 2
    84 署名付きのデータは変更できない。データが変更された場合は、その署名によってデータ
    84 o
    85 が本物ではないことが検証される
    85 臀峨篁若帥紊眼с 若帥紊眼翫臀峨c若帥с罎荐若 
    86 .LP
    86 .RE
    87 ファイルに対してエンティティの署名を生成するには、まず、そのエンティティが公開鍵と
    87 
    88 非公開鍵のペアを持つ必要があります。また、公開鍵を認証する 1 つ以上の証明書も
    88 .LP
    89 必要です。「証明書」とは、あるエンティティからのデジタル署名付きの文書のことです。
    89 .LP
    90 証明書には、ほかのあるエンティティの公開鍵が特別な値を持っていることが書かれて
    90 <ゃ絲障潟cc若臀峨障潟cc若潟cc若∫c泣泣≪ゅ荀障 障泣茯荐若 1 ゃ障茲違荐惹吾綽荀с荐惹吾潟cc若肴吾帥臀峨篁吾сャ潟cc若泣劫ゃс荐惹障
    91 います。
    91 .LP
    92 .LP
    92 .LP
    93 .B jarsigner 
    93 \f3jarsigner\fP 若鴻≪障泣荐惹御宴篏帥cJAR <ゃ吾帥臀峨障若鴻≪泣泣∫d X.509 荐惹吾с若潟若帥若鴻с若鴻≪篏膊∞keytool(1) 若cc若篏帥障
    94 は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を
    94 .LP
    95 生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明連鎖が
    95 .LP
    96 収められたデータベースです。証明連鎖は、非公開鍵に対応する公開鍵を認証します。
    96 \f3jarsigner\fP 潟cc若泣篏帥c臀峨障臀峨篁 JAR <ゃ<ゃ臀峨篏睡泣絲上泣篆絖若鴻≪c荐惹吾潟若障障 \f3jarsigner\fP 臀峨篁 JAR <ゃ吾帥臀峨<ゃ (臀峨<ゃ) 障荐惹吾篏帥c罎荐若с障
    97 キーストアの作成と管理には、
    97 .LP
    98 .B keytool
    98 .LP
    99 ユーティリティを使います。
    99 5.0 篁ラс\f3jarsigner\fP 帥ゃ鴻帥潟臀峨с激鴻ゃ (Java Plug\-in ) JAR <ゃ臀峨荐惹吾号筝臀峨сс障5.0 ц申 API 篏睡≪宴若激с潟帥ゃ鴻帥潟宴緇с障
   100 .LP
   100 .LP
   101 .B jarsigner 
   101 .LP
   102 は、エンティティの非公開鍵を使って署名を生成します。署名付き JAR ファイルには、
   102 憝鴻с\f3jarsigner\fP х讐сJDK  jar(1) 若т JAR <ゃ障 ZIP <ゃсJAR <ゃ ZIP <ゃсJAR <ゃ META\-INF/MANIFEST.MF <ゃ障鴻違障META\-INF/MANIFEST.MF <ゃ\f3jarsigner\fP  ZIP <ゃ臀峨篁篏障
   103 キーストアからの証明書のコピーが含まれています。これは、JAR ファイルの署名に使わ
   103 .LP
   104 れた非公開鍵に対応する公開鍵の証明書のコピーです。
   104 .LP
   105 .B jarsigner 
   105 с\f3jarsigner\fP  JAR (障 ZIP) <ゃ臀峨篁障臀峨篁 JAR <ゃ罎荐若翫\f2\-verify\fP 激с潟絎障
   106 は、署名付き JAR ファイルのデジタル署名を、ファイル内 (の署名ブロックファイル) に含
   106 .LP
   107 まれている証明書を使って検証することができます。
       
   108 .LP
       
   109 J2SE 5.0 以降の \f3jarsigner\fP は、タイムスタンプを含む署名を生成できるようになりました。このため、システム/デプロイヤ (Java Plug\-in など) は、署名付きの証明書がまだ有効である期間中に JAR ファイルの署名が行われたかどうかを確認できます。さらに、そのタイムスタンプ情報をアプリケーションが取得するための API が、J2SE 5.0 で追加されました。
       
   110 .LP
       
   111 現時点では、
       
   112 .B jarsigner 
       
   113 で署名できるのは、JDK の 
       
   114 .B jar
       
   115 ツールで作成された JAR ファイル、または ZIP ファイルだけです。JAR ファイルは ZIP ファイルと同じですが、JAR ファイルには
       
   116 .B META-INF/MANIFEST.MF 
       
   117 ファイルが含まれている点が異なります。
       
   118 .B META-INF/MANIFEST.MF
       
   119 ファイルは、
       
   120 .B jarsigner 
       
   121 が ZIP ファイルに署名を付けるときに自動的に作成されます。
       
   122 .LP
       
   123 デフォルトでは、
       
   124 .B jarsigner
       
   125 は JAR ファイルに「署名」を付けます。
       
   126 署名付き JAR ファイルを「検証」する場合は、
       
   127 .I -verify 
       
   128 オプションを指定します。
       
   129 .SS 
   107 .SS 
   130 JDK 1.1 との互換性
   108 JDK 1.1 篋
   131 .LP
   109 .LP
   132 .IX "jarsigner" "Compatibility with JDK 1.1" "\fLjarsigner\fP \(em JAR signing and verification tool "
   110 .RS 3
   133 .B keytool
   111 
   134 ツールと 
   112 .LP
   135 .B jarsigner 
   113 .LP
   136 ツールは、JDK 1.1 で提供されていた
   114 \f3keytool\fP 若 \f3jarsigner\fP 若JDK 1.1 ф箴 \f3javakey\fP 若絎臀с違若 \f3javakey\fP 紊罘純若鴻≪泣鴻若т茘激罘純臀峨臀峨罎荐若罘純c障
   137 .B javakey
   115 .LP
   138 ツールを完全に置き換えるものです。これらの新しいツールは
   116 .LP
   139 .B javakey
   117 違若鴻≪≪若c若\f3javakey\fP 篏膊∞≪ゃ潟cc若若帥若鴻篁cс若鴻√就綣JDK 1.1  \f3javakey\fP 篏帥c若帥若劫就綣筝篏篋с障罨<純с
   140 よりも多くの機能を備えており、キーストアと非公開鍵をパスワードで保護する機能や、
   118 .LP
   141 署名の生成だけでなく署名を検証する機能を持っています。
   119 .RS 3
   142 .LP
   120 .TP 2
   143 新しいキーストアアーキテクチャは、
   121 o
   144 .B javakey 
   122 \f3keytool\fP  \f2\-identitydb\fP 潟潟篏帥≪ゃ潟cc若若帥若鴻宴若鴻≪ゃ潟若с障 
   145 が作成して管理していたアイデンティティデータベースに代わるものです。キーストア形式と、JDK 1.1 の 
   123 .TP 2
   146 .B javakey 
   124 o
   147 が使っていたデータベース形式との間には下位互換性はありません。ただし、次のような
   125 \f3jarsigner\fP 篁ュ \f3javakey\fP 篏帥c臀峨 JAR <ゃ臀峨篁с障 
   148 ことは可能です。
   126 .TP 2
   149 .TP 2
   127 o
   150 \(bu
   128 \f3jarsigner\fP \f3javakey\fP篏帥c臀峨 JAR <ゃ罎荐若с障cjarsigner Java 2 SDK 若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻臀峨ュ茯茘絲乗院茵с障 
   151 .B keytool
   129 .RE
   152
   130 
   153 .I -identitydb 
   131 .LP
   154 コマンドを使うと、アイデンティティデータベースの情報をキーストアにインポートできます。
   132 .LP
   155 .TP 2
   133 罨<茵JDK 1.1.x х讐 JAR <ゃJava 2 若с宴腓冴障
   156 \(bu
   134 .LP
   157 
   135 .LP
   158 .B jarsigner
   136 .TS
   159 は、以前に 
   137 .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
   160 .B javakey
   138 .de 35
   161 を使って署名された JAR ファイルに署名を付けることができます。
   139 .ps \n(.s
   162 .TP 2
   140 .vs \n(.vu
   163 \(bu
   141 .in \n(.iu
   164 .B jarsigner 
   142 .if \n(.u .fi
   165 は、
   143 .if \n(.j .ad
   166 .B javakey
   144 .if \n(.j=0 .na
   167 を使って署名された JAR ファイルを検証できます。したがって、
   145 ..
   168 .B jarsigner
   146 .nf
   169 は、JDK 1.2 のキーストアではなく JDK 1.1 のアイデンティティデータベースからの署名者別
   147 .nr #~ 0
   170 名を認識し、これらを対象に処理を行うことができます。
   148 .if n .nr #~ 0.6n
   171 .LP 
   149 .ds #d .d
   172 次の表は、JDK 1.1.x で署名された JAR ファイルが、Java 2 プラットフォームでどのように扱われるかを
   150 .if \(ts\n(.z\(ts\(ts .ds #d nl
   173 示しています。
   151 .fc
   174 .LP
   152 .nr 33 \n(.s
   175 .nf
   153 .rm 80 81 82 83 84
   176 .ft 3
   154 .nr 34 \n(.lu
   177                       1.1 データ
   155 .eo
   178          1.1 データ   ベースから   ポリシー
   156 .am 80
   179 JAR      ベース内の   1.2 キース   ファイル      
   157 .br
   180 ファイル   アイデン   トアにイン   がアイデン   与えられる
   158 .di a+
   181 のタイプ   ティティ   ポートされ   ティティ/    特権 
   159 .35
   182                       る信頼でき   別名に特権  
   160 .ft \n(.f
   183                       るアイデン   を与える
   161 .ll \n(34u*1u/6u
   184                       ティティ(4)
   162 .if \n(.l<\n(80 .ll \n(80u
   185 
   163 .in 0
   186 署名付き                                         すべてのコードに
   164 \f3JAR <ゃ帥ゃ\fP
   187 JAR          x         x          x           与えられる
   165 .br
   188                                                  デフォルトの
   166 .di
   189                                                  特権
   167 .nr a| \n(dn
   190 												   
   168 .nr a- \n(dl
   191 署名のない                                       すべてのコードに
   169 ..
   192 JAR          x         x          x           与えられる
   170 .ec \
   193                                                  デフォルトの
   171 .eo
   194                                                  特権
   172 .am 81
   195 
   173 .br
   196 署名付き                                         すべてのコードに
   174 .di b+
   197 JAR          x         ○          x           与えられる
   175 .35
   198                                                  デフォルトの
   176 .ft \n(.f
   199                                                  特権
   177 .ll \n(34u*1u/6u
   200 
   178 .if \n(.l<\n(81 .ll \n(81u
   201 署名付き                                         すべてのコードに
   179 .in 0
   202 JAR          ○/信頼で  x          x           与えられる
   180 \f31.1 若帥若劫≪ゃ潟cc\fP
   203               きない                             デフォルトの
   181 .br
   204                                                  特権 (3)
   182 .di
   205 
   183 .nr b| \n(dn
   206 署名付き                                         すべてのコードに
   184 .nr b- \n(dl
   207 JAR          ○/信頼で  x          ○           与えられる
   185 ..
   208               きない                             デフォルトの
   186 .ec \
   209                                                  特権 (1,3)
   187 .eo
   210 
   188 .am 82
   211 署名付き                                         すべてのコードに
   189 .br
   212 JAR          x         ○          ○           与えられる
   190 .di c+
   213                                                  デフォルトの
   191 .35
   214                                                  特権とポリシー
   192 .ft \n(.f
   215                                                  ファイル内
   193 .ll \n(34u*1u/6u
   216                                                  で与えられる
   194 .if \n(.l<\n(82 .ll \n(82u
   217                                                  特権
   195 .in 0
   218 												   
   196 \f31.1 若帥若鴻 Java 2 Platform 若鴻≪ゃ潟若篆♂若с≪ゃ潟cc (4)\fP
   219 署名付き                                         すべてのコードに
   197 .br
   220 JAR          ○/信頼    ○          ○           与えられる
   198 .di
   221               できる                             デフォルトの
   199 .nr c| \n(dn
   222                                                  特権とポリシー
   200 .nr c- \n(dl
   223                                                  ファイル内
   201 ..
   224                                                  で与えられる
   202 .ec \
   225                                                  特権 (2)
   203 .eo
   226 
   204 .am 83
   227 署名付き                                         すべての
   205 .br
   228 JAR          ○/信頼    x          x           特権
   206 .di d+
   229               できる 
   207 .35
   230 署名付き                                         すべての
   208 .ft \n(.f
   231 JAR          ○/信頼    ○          x           特権 (1)
   209 .ll \n(34u*1u/6u
   232               できる
   210 .if \n(.l<\n(83 .ll \n(83u
   233 署名付き                                         すべての
   211 .in 0
   234 JAR          ○/信頼    x          ○           特権 (1)
   212 \f3激若<ゃ≪ゃ潟cc/ュ号┤筝\fP
   235               できる
   213 .br
   236 .fi
   214 .di
   237 .ft 1
   215 .nr d| \n(dn
   238 .LP
   216 .nr d- \n(dl
   239 注:
   217 ..
   240 .TP 5
   218 .ec \
   241 1. 
   219 .eo
   242 ポリシーファイル内にアイデンティティ/別名についての言及がある場合、
   220 .am 84
   243 それをキーストアにインポートして、ポリシーファイルの設定が与えられた
   221 .br
   244 特権に反映されるようにする必要があります。
   222 .di e+
   245 .TP 5
   223 .35
   246 2. 
   224 .ft \n(.f
   247 ポリシーファイル/キーストアの組み合わせは、アイデンティティデータベース
   225 .ll \n(34u*1u/6u
   248 内の信頼できるアイデンティティよりも優先されます。
   226 .if \n(.l<\n(84 .ll \n(84u
   249 .TP 5
   227 .in 0
   250 3. 
   228 鴻潟若筝号┤
   251 Java 2 プラットフォームでは、信頼できないアイデンティティは無視されます。
   229 .br
   252 .TP 5
   230 .di
   253 4. 
   231 .nr e| \n(dn
   254 JDK キーストアにインポートできるのは、信頼できるアイデンティティだけです。
   232 .nr e- \n(dl
       
   233 ..
       
   234 .ec \
       
   235 .eo
       
   236 .am 84
       
   237 .br
       
   238 .di f+
       
   239 .35
       
   240 .ft \n(.f
       
   241 .ll \n(34u*1u/6u
       
   242 .if \n(.l<\n(84 .ll \n(84u
       
   243 .in 0
       
   244 鴻潟若筝号┤
       
   245 .br
       
   246 .di
       
   247 .nr f| \n(dn
       
   248 .nr f- \n(dl
       
   249 ..
       
   250 .ec \
       
   251 .eo
       
   252 .am 84
       
   253 .br
       
   254 .di g+
       
   255 .35
       
   256 .ft \n(.f
       
   257 .ll \n(34u*1u/6u
       
   258 .if \n(.l<\n(84 .ll \n(84u
       
   259 .in 0
       
   260 鴻潟若筝号┤
       
   261 .br
       
   262 .di
       
   263 .nr g| \n(dn
       
   264 .nr g- \n(dl
       
   265 ..
       
   266 .ec \
       
   267 .eo
       
   268 .am 81
       
   269 .br
       
   270 .di h+
       
   271 .35
       
   272 .ft \n(.f
       
   273 .ll \n(34u*1u/6u
       
   274 .if \n(.l<\n(81 .ll \n(81u
       
   275 .in 0
       
   276 /篆♂若с
       
   277 .br
       
   278 .di
       
   279 .nr h| \n(dn
       
   280 .nr h- \n(dl
       
   281 ..
       
   282 .ec \
       
   283 .eo
       
   284 .am 84
       
   285 .br
       
   286 .di i+
       
   287 .35
       
   288 .ft \n(.f
       
   289 .ll \n(34u*1u/6u
       
   290 .if \n(.l<\n(84 .ll \n(84u
       
   291 .in 0
       
   292 鴻潟若筝号┤ (3)
       
   293 .br
       
   294 .di
       
   295 .nr i| \n(dn
       
   296 .nr i- \n(dl
       
   297 ..
       
   298 .ec \
       
   299 .eo
       
   300 .am 81
       
   301 .br
       
   302 .di j+
       
   303 .35
       
   304 .ft \n(.f
       
   305 .ll \n(34u*1u/6u
       
   306 .if \n(.l<\n(81 .ll \n(81u
       
   307 .in 0
       
   308 /篆♂若с
       
   309 .br
       
   310 .di
       
   311 .nr j| \n(dn
       
   312 .nr j- \n(dl
       
   313 ..
       
   314 .ec \
       
   315 .eo
       
   316 .am 84
       
   317 .br
       
   318 .di k+
       
   319 .35
       
   320 .ft \n(.f
       
   321 .ll \n(34u*1u/6u
       
   322 .if \n(.l<\n(84 .ll \n(84u
       
   323 .in 0
       
   324 鴻潟若筝号┤ (1,3)
       
   325 .br
       
   326 .di
       
   327 .nr k| \n(dn
       
   328 .nr k- \n(dl
       
   329 ..
       
   330 .ec \
       
   331 .eo
       
   332 .am 84
       
   333 .br
       
   334 .di l+
       
   335 .35
       
   336 .ft \n(.f
       
   337 .ll \n(34u*1u/6u
       
   338 .if \n(.l<\n(84 .ll \n(84u
       
   339 .in 0
       
   340 鴻潟若筝号┤激若<ゃт号┤
       
   341 .br
       
   342 .di
       
   343 .nr l| \n(dn
       
   344 .nr l- \n(dl
       
   345 ..
       
   346 .ec \
       
   347 .eo
       
   348 .am 84
       
   349 .br
       
   350 .di m+
       
   351 .35
       
   352 .ft \n(.f
       
   353 .ll \n(34u*1u/6u
       
   354 .if \n(.l<\n(84 .ll \n(84u
       
   355 .in 0
       
   356 鴻潟若筝号┤激若<ゃт号┤ (2)
       
   357 .br
       
   358 .di
       
   359 .nr m| \n(dn
       
   360 .nr m- \n(dl
       
   361 ..
       
   362 .ec \
       
   363 .35
       
   364 .nf
       
   365 .ll \n(34u
       
   366 .nr 80 0
       
   367 .nr 38 \w臀峨篁 JAR
       
   368 .if \n(80<\n(38 .nr 80 \n(38
       
   369 .nr 38 \w臀峨 JAR
       
   370 .if \n(80<\n(38 .nr 80 \n(38
       
   371 .nr 38 \w臀峨篁 JAR
       
   372 .if \n(80<\n(38 .nr 80 \n(38
       
   373 .nr 38 \w臀峨篁 JAR
       
   374 .if \n(80<\n(38 .nr 80 \n(38
       
   375 .nr 38 \w臀峨篁 JAR
       
   376 .if \n(80<\n(38 .nr 80 \n(38
       
   377 .nr 38 \w臀峨篁 JAR
       
   378 .if \n(80<\n(38 .nr 80 \n(38
       
   379 .nr 38 \w臀峨篁 JAR
       
   380 .if \n(80<\n(38 .nr 80 \n(38
       
   381 .nr 38 \w臀峨篁 JAR
       
   382 .if \n(80<\n(38 .nr 80 \n(38
       
   383 .nr 38 \w臀峨篁 JAR
       
   384 .if \n(80<\n(38 .nr 80 \n(38
       
   385 .nr 38 \w臀峨篁 JAR
       
   386 .if \n(80<\n(38 .nr 80 \n(38
       
   387 .80
       
   388 .rm 80
       
   389 .nr 38 \n(a-
       
   390 .if \n(80<\n(38 .nr 80 \n(38
       
   391 .nr 81 0
       
   392 .nr 38 \w
       
   393 .if \n(81<\n(38 .nr 81 \n(38
       
   394 .nr 38 \w
       
   395 .if \n(81<\n(38 .nr 81 \n(38
       
   396 .nr 38 \w
       
   397 .if \n(81<\n(38 .nr 81 \n(38
       
   398 .nr 38 \w
       
   399 .if \n(81<\n(38 .nr 81 \n(38
       
   400 .nr 38 \w/篆♂若с
       
   401 .if \n(81<\n(38 .nr 81 \n(38
       
   402 .nr 38 \w/篆♂若с
       
   403 .if \n(81<\n(38 .nr 81 \n(38
       
   404 .nr 38 \w/篆♂若с
       
   405 .if \n(81<\n(38 .nr 81 \n(38
       
   406 .nr 38 \w/篆♂若с
       
   407 .if \n(81<\n(38 .nr 81 \n(38
       
   408 .81
       
   409 .rm 81
       
   410 .nr 38 \n(b-
       
   411 .if \n(81<\n(38 .nr 81 \n(38
       
   412 .nr 38 \n(h-
       
   413 .if \n(81<\n(38 .nr 81 \n(38
       
   414 .nr 38 \n(j-
       
   415 .if \n(81<\n(38 .nr 81 \n(38
       
   416 .nr 82 0
       
   417 .nr 38 \w
       
   418 .if \n(82<\n(38 .nr 82 \n(38
       
   419 .nr 38 \w
       
   420 .if \n(82<\n(38 .nr 82 \n(38
       
   421 .nr 38 \w
       
   422 .if \n(82<\n(38 .nr 82 \n(38
       
   423 .nr 38 \w
       
   424 .if \n(82<\n(38 .nr 82 \n(38
       
   425 .nr 38 \w
       
   426 .if \n(82<\n(38 .nr 82 \n(38
       
   427 .nr 38 \w
       
   428 .if \n(82<\n(38 .nr 82 \n(38
       
   429 .nr 38 \w
       
   430 .if \n(82<\n(38 .nr 82 \n(38
       
   431 .nr 38 \w
       
   432 .if \n(82<\n(38 .nr 82 \n(38
       
   433 .nr 38 \w
       
   434 .if \n(82<\n(38 .nr 82 \n(38
       
   435 .nr 38 \w
       
   436 .if \n(82<\n(38 .nr 82 \n(38
       
   437 .82
       
   438 .rm 82
       
   439 .nr 38 \n(c-
       
   440 .if \n(82<\n(38 .nr 82 \n(38
       
   441 .nr 83 0
       
   442 .nr 38 \w
       
   443 .if \n(83<\n(38 .nr 83 \n(38
       
   444 .nr 38 \w
       
   445 .if \n(83<\n(38 .nr 83 \n(38
       
   446 .nr 38 \w
       
   447 .if \n(83<\n(38 .nr 83 \n(38
       
   448 .nr 38 \w
       
   449 .if \n(83<\n(38 .nr 83 \n(38
       
   450 .nr 38 \w
       
   451 .if \n(83<\n(38 .nr 83 \n(38
       
   452 .nr 38 \w
       
   453 .if \n(83<\n(38 .nr 83 \n(38
       
   454 .nr 38 \w
       
   455 .if \n(83<\n(38 .nr 83 \n(38
       
   456 .nr 38 \w
       
   457 .if \n(83<\n(38 .nr 83 \n(38
       
   458 .nr 38 \w
       
   459 .if \n(83<\n(38 .nr 83 \n(38
       
   460 .nr 38 \w
       
   461 .if \n(83<\n(38 .nr 83 \n(38
       
   462 .83
       
   463 .rm 83
       
   464 .nr 38 \n(d-
       
   465 .if \n(83<\n(38 .nr 83 \n(38
       
   466 .nr 84 0
       
   467 .nr 38 \w\f3筝号┤\fP
       
   468 .if \n(84<\n(38 .nr 84 \n(38
       
   469 .nr 38 \w鴻号┤
       
   470 .if \n(84<\n(38 .nr 84 \n(38
       
   471 .nr 38 \w鴻号┤ (1)
       
   472 .if \n(84<\n(38 .nr 84 \n(38
       
   473 .nr 38 \w鴻号┤ (1)
       
   474 .if \n(84<\n(38 .nr 84 \n(38
       
   475 .84
       
   476 .rm 84
       
   477 .nr 38 \n(e-
       
   478 .if \n(84<\n(38 .nr 84 \n(38
       
   479 .nr 38 \n(f-
       
   480 .if \n(84<\n(38 .nr 84 \n(38
       
   481 .nr 38 \n(g-
       
   482 .if \n(84<\n(38 .nr 84 \n(38
       
   483 .nr 38 \n(i-
       
   484 .if \n(84<\n(38 .nr 84 \n(38
       
   485 .nr 38 \n(k-
       
   486 .if \n(84<\n(38 .nr 84 \n(38
       
   487 .nr 38 \n(l-
       
   488 .if \n(84<\n(38 .nr 84 \n(38
       
   489 .nr 38 \n(m-
       
   490 .if \n(84<\n(38 .nr 84 \n(38
       
   491 .35
       
   492 .nf
       
   493 .ll \n(34u
       
   494 .nr 38 1n
       
   495 .nr 79 0
       
   496 .nr 40 \n(79+(0*\n(38)
       
   497 .nr 80 +\n(40
       
   498 .nr 41 \n(80+(3*\n(38)
       
   499 .nr 81 +\n(41
       
   500 .nr 42 \n(81+(3*\n(38)
       
   501 .nr 82 +\n(42
       
   502 .nr 43 \n(82+(3*\n(38)
       
   503 .nr 83 +\n(43
       
   504 .nr 44 \n(83+(3*\n(38)
       
   505 .nr 84 +\n(44
       
   506 .nr TW \n(84
       
   507 .if t .if \n(TW>\n(.li .tm Table at line 186 file Input is too wide - \n(TW units
       
   508 .fc  
       
   509 .nr #T 0-1
       
   510 .nr #a 0-1
       
   511 .eo
       
   512 .de T#
       
   513 .ds #d .d
       
   514 .if \(ts\n(.z\(ts\(ts .ds #d nl
       
   515 .mk ##
       
   516 .nr ## -1v
       
   517 .ls 1
       
   518 .ls
       
   519 ..
       
   520 .ec
       
   521 .ne \n(a|u+\n(.Vu
       
   522 .ne \n(b|u+\n(.Vu
       
   523 .ne \n(c|u+\n(.Vu
       
   524 .ne \n(d|u+\n(.Vu
       
   525 .if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
       
   526 .if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
       
   527 .if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
       
   528 .if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
       
   529 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   530 .nr 31 \n(.f
       
   531 .nr 35 1m
       
   532 \&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3筝号┤\fP
       
   533 .mk ##
       
   534 .nr 31 \n(##
       
   535 .sp |\n(##u-1v
       
   536 .nr 37 \n(40u
       
   537 .in +\n(37u
       
   538 .a+
       
   539 .in -\n(37u
       
   540 .mk 32
       
   541 .if \n(32>\n(31 .nr 31 \n(32
       
   542 .sp |\n(##u-1v
       
   543 .nr 37 \n(41u
       
   544 .in +\n(37u
       
   545 .b+
       
   546 .in -\n(37u
       
   547 .mk 32
       
   548 .if \n(32>\n(31 .nr 31 \n(32
       
   549 .sp |\n(##u-1v
       
   550 .nr 37 \n(42u
       
   551 .in +\n(37u
       
   552 .c+
       
   553 .in -\n(37u
       
   554 .mk 32
       
   555 .if \n(32>\n(31 .nr 31 \n(32
       
   556 .sp |\n(##u-1v
       
   557 .nr 37 \n(43u
       
   558 .in +\n(37u
       
   559 .d+
       
   560 .in -\n(37u
       
   561 .mk 32
       
   562 .if \n(32>\n(31 .nr 31 \n(32
       
   563 .sp |\n(31u
       
   564 .ne \n(e|u+\n(.Vu
       
   565 .if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
       
   566 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   567 .nr 31 \n(.f
       
   568 .nr 35 1m
       
   569 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'
       
   570 .mk ##
       
   571 .nr 31 \n(##
       
   572 .sp |\n(##u-1v
       
   573 .nr 37 \n(44u
       
   574 .in +\n(37u
       
   575 .e+
       
   576 .in -\n(37u
       
   577 .mk 32
       
   578 .if \n(32>\n(31 .nr 31 \n(32
       
   579 .sp |\n(31u
       
   580 .ne \n(f|u+\n(.Vu
       
   581 .if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
       
   582 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   583 .nr 31 \n(.f
       
   584 .nr 35 1m
       
   585 \&\h'|\n(40u'臀峨 JAR\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'
       
   586 .mk ##
       
   587 .nr 31 \n(##
       
   588 .sp |\n(##u-1v
       
   589 .nr 37 \n(44u
       
   590 .in +\n(37u
       
   591 .f+
       
   592 .in -\n(37u
       
   593 .mk 32
       
   594 .if \n(32>\n(31 .nr 31 \n(32
       
   595 .sp |\n(31u
       
   596 .ne \n(g|u+\n(.Vu
       
   597 .if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
       
   598 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   599 .nr 31 \n(.f
       
   600 .nr 35 1m
       
   601 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'
       
   602 .mk ##
       
   603 .nr 31 \n(##
       
   604 .sp |\n(##u-1v
       
   605 .nr 37 \n(44u
       
   606 .in +\n(37u
       
   607 .g+
       
   608 .in -\n(37u
       
   609 .mk 32
       
   610 .if \n(32>\n(31 .nr 31 \n(32
       
   611 .sp |\n(31u
       
   612 .ne \n(h|u+\n(.Vu
       
   613 .ne \n(i|u+\n(.Vu
       
   614 .if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
       
   615 .if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
       
   616 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   617 .nr 31 \n(.f
       
   618 .nr 35 1m
       
   619 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'
       
   620 .mk ##
       
   621 .nr 31 \n(##
       
   622 .sp |\n(##u-1v
       
   623 .nr 37 \n(41u
       
   624 .in +\n(37u
       
   625 .h+
       
   626 .in -\n(37u
       
   627 .mk 32
       
   628 .if \n(32>\n(31 .nr 31 \n(32
       
   629 .sp |\n(##u-1v
       
   630 .nr 37 \n(44u
       
   631 .in +\n(37u
       
   632 .i+
       
   633 .in -\n(37u
       
   634 .mk 32
       
   635 .if \n(32>\n(31 .nr 31 \n(32
       
   636 .sp |\n(31u
       
   637 .ne \n(j|u+\n(.Vu
       
   638 .ne \n(k|u+\n(.Vu
       
   639 .if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
       
   640 .if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
       
   641 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   642 .nr 31 \n(.f
       
   643 .nr 35 1m
       
   644 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'
       
   645 .mk ##
       
   646 .nr 31 \n(##
       
   647 .sp |\n(##u-1v
       
   648 .nr 37 \n(41u
       
   649 .in +\n(37u
       
   650 .j+
       
   651 .in -\n(37u
       
   652 .mk 32
       
   653 .if \n(32>\n(31 .nr 31 \n(32
       
   654 .sp |\n(##u-1v
       
   655 .nr 37 \n(44u
       
   656 .in +\n(37u
       
   657 .k+
       
   658 .in -\n(37u
       
   659 .mk 32
       
   660 .if \n(32>\n(31 .nr 31 \n(32
       
   661 .sp |\n(31u
       
   662 .ne \n(l|u+\n(.Vu
       
   663 .if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
       
   664 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   665 .nr 31 \n(.f
       
   666 .nr 35 1m
       
   667 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'
       
   668 .mk ##
       
   669 .nr 31 \n(##
       
   670 .sp |\n(##u-1v
       
   671 .nr 37 \n(44u
       
   672 .in +\n(37u
       
   673 .l+
       
   674 .in -\n(37u
       
   675 .mk 32
       
   676 .if \n(32>\n(31 .nr 31 \n(32
       
   677 .sp |\n(31u
       
   678 .ne \n(m|u+\n(.Vu
       
   679 .if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v)
       
   680 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   681 .nr 31 \n(.f
       
   682 .nr 35 1m
       
   683 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'/篆♂若с\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'
       
   684 .mk ##
       
   685 .nr 31 \n(##
       
   686 .sp |\n(##u-1v
       
   687 .nr 37 \n(44u
       
   688 .in +\n(37u
       
   689 .m+
       
   690 .in -\n(37u
       
   691 .mk 32
       
   692 .if \n(32>\n(31 .nr 31 \n(32
       
   693 .sp |\n(31u
       
   694 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   695 .nr 31 \n(.f
       
   696 .nr 35 1m
       
   697 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'/篆♂若с\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'鴻号┤
       
   698 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   699 .nr 31 \n(.f
       
   700 .nr 35 1m
       
   701 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'/篆♂若с\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'鴻号┤ (1)
       
   702 .ta \n(80u \n(81u \n(82u \n(83u \n(84u 
       
   703 .nr 31 \n(.f
       
   704 .nr 35 1m
       
   705 \&\h'|\n(40u'臀峨篁 JAR\h'|\n(41u'/篆♂若с\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'鴻号┤ (1)
       
   706 .fc
       
   707 .nr T. 1
       
   708 .T# 1
       
   709 .35
       
   710 .rm a+
       
   711 .rm b+
       
   712 .rm c+
       
   713 .rm d+
       
   714 .rm e+
       
   715 .rm f+
       
   716 .rm g+
       
   717 .rm h+
       
   718 .rm i+
       
   719 .rm j+
       
   720 .rm k+
       
   721 .rm l+
       
   722 .rm m+
       
   723 .TE
       
   724 .if \n-(b.=0 .nr c. \n(.c-\n(d.-50
       
   725 
       
   726 .LP
       
   727 .LP
       
   728 羈 \-
       
   729 .LP
       
   730 .RS 3
       
   731 .TP 3
       
   732 1.
       
   733 激若<ゃ≪ゃ潟cc/ュゃ荐翫若鴻≪ゃ潟若激若<ゃ荐絎筝号┤綽荀障 
       
   734 .TP 3
       
   735 2.
       
   736 激若<ゃ/若鴻≪腟水≪ゃ潟cc若若帥若劫篆♂若с≪ゃ潟cc若障 
       
   737 .TP 3
       
   738 3.
       
   739 Java 2 若с篆♂若с≪ゃ潟cc若∴障 
       
   740 .TP 3
       
   741 4.
       
   742 Java 2 SDK 若鴻≪ゃ潟若с篆♂若с≪ゃ潟cc若с 
       
   743 .RE
       
   744 
       
   745 .LP
   255 .SS 
   746 .SS 
   256 キーストアの別名
   747 若鴻≪ュ
   257 .LP
   748 .LP
   258 .IX "jarsigner" "Keystore Aliases" "\fLjarsigner\fP \(em JAR signing and verification tool "
   749 .RS 3
   259 .LP
   750 
   260 キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。
   751 .LP
   261 .LP
   752 .LP
   262 .B jarsigner 
   753 若鴻≪鴻潟筝ュ篁≪祉鴻障
   263 を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を
   754 .LP
   264 含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、
   755 .LP
   265 working ディレクトリの
   756 \f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁臀峨綽荀泣若鴻≪潟ュ絎綽荀障違罨<箴working c mystore 若鴻≪障ュ duke ∫d泣篏帥cMyJARFile.jar  JAR <ゃ臀峨篁障阪<ゃ絎сMyJARFile.jar 臀峨篁 JAR <ゃc筝吾障
   266 .B mystore
   757 .LP
   267 という名前のキーストアに含まれる別名 
   758 .nf
   268 .B duke 
   759 \f3
   269 に関連付けられた非公開鍵を使って、
   760 .fl
   270 .BR MyJARFile.jar
   761     jarsigner \-keystore /working/mystore \-storepass myspass
   271 という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていない
   762 .fl
   272 ので、
   763       \-keypass dukekeypasswd MyJARFile.jar duke 
   273 .BR MyJARFile.jar 
   764 .fl
   274 は署名付きの JAR ファイルによって上書きされます。
   765 \fP
   275 .LP
   766 .fi
   276 .ft 3
   767 
   277 .nf
   768 .LP
   278 jarsigner -keystore /working/mystore -storepass 
   769 .LP
   279    myspass -keypass dukekeypasswd MyJARFile.jar duke
   770 若鴻≪鴻若т茘激с鴻≪鴻若 (筝箴с mypass) 絎綽荀障潟潟茵с鴻≪鴻若絎鴻若ュ羆障罕泣若鴻√с鴻若c篆茘激泣鴻若 (筝箴с dukekeypasswd) 絎綽荀障 潟潟茵ч泣鴻若絎障絎鴻若篆絖鴻若c翫泣鴻若ュ羆障
   280 .fi
   771 .LP
   281 .ft 1
   772 .RE
   282 .LP
       
   283 キーストアはパスワードで保護されているので、ストアのパスワード (上の例では 
       
   284 .BR myspass
       
   285 ) を指定する必要があります。コマンド行でストアのパスワードを指定しなかった場合は、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているので、非公開鍵のパスワード (上の例では 
       
   286 .BR dukekeypasswd 
       
   287 ) を指定する必要があります。コマンド行で非公開鍵のパスワードを指定しておらず、非公開鍵のパスワートがストアのパスワードと違っている場合は、非公開鍵のパスワードの入力を求められます。
       
   288 .LP
       
   289 .SS 
   773 .SS 
   290 キーストアの場所
   774 若鴻≪贋
   291 .LP
   775 .LP
   292 .IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool "
   776 .RS 3
   293 .LP
   777 
   294 .B jarsigner 
   778 .LP
   295 には、使用するキーストアの名前と場所を指定する 
   779 .LP
   296 .I -keystore
   780 \f3jarsigner\fP 篏睡若鴻≪ URL 絎 \f2\-keystore\fP 激с潟障若鴻≪с若吟若若c \f2.keystore\fP <ゃ主障 若吟若若c\f2user.home\fP 激鴻c若c羆冴障障Solaris 激鴻翫\f2user.home\fP с若吟若若cc障
   297 オプションがあります。キーストアは、デフォルトではユーザのホームディレクトリの 
   781 .LP
   298 .I .keystore 
   782 .LP
   299 という名前のファイルに格納されます。ユーザのホームディレクトリは、
   783 \f2\-keystore\fP 激с潟ュ鴻若\f2KeyStore.load\fP <純羝<障URL  \f2NONE\fP 絎翫null 鴻若 \f2KeyStore.load\fP <純羝<障\f2NONE\fP \f2KeyStore\fP <ゃ若鴻с違若с≪若潟ゃ鴻臀翫絎障
   300 .I user.home
   784 .LP
   301 システムプロパティによって決まります。
   785 .RE
   302 .LP
       
   303 .I \-keystore 
       
   304 オプションからの入力ストリームは
       
   305 .I KeyStore.load 
       
   306 メソッドに渡されます。
       
   307 URL として NONE  が指定された場合は、NULL ストリームが
       
   308 .I KeyStore.load 
       
   309 メソッドに渡されます。キーストアがハードウェアトークンデバイス上にあるなど、
       
   310 ファイルベースでない場合は、
       
   311 .I NONE 
       
   312 を指定してください。
       
   313 .SS 
   786 .SS 
   314 キーストアの実装
   787 若鴻≪絎茖
   315 .LP
   788 .LP
   316 .IX "jarsigner" "Keystore Implementation" "\fLjarsigner\fP \(em JAR signing and verification tool "
   789 .RS 3
   317 .LP
   790 
   318 .I java.security 
   791 .LP
   319 パッケージ内にある 
   792 .LP
   320 .I KeyStore 
   793 \f2java.security\fP 宴若吾ф箴 \f2KeyStore\fP 鴻若鴻√宴絲障≪祉鴻紊眼茵腆冴絎臂ゃ潟帥с若鴻障若鴻≪阪絎茖劫帥ゃ若鴻≪絲乗院茲違違絎茖絖純с
   321 クラス
   794 .LP
   322 では、キーストア内の情報にアクセスし、変更できるように
   795 .LP
   323 適切に定義されたインタフェースが提供されています。
   796 憜若鴻≪絎茖篏睡\f3keytool\fP  \f3jarsigner\fP  2 ゃ潟潟茵若\f3Policy Tool\fP  1 ゃ GUI 若鴻若障\f2KeyStore\fP  public 篏睡純сJava 2 SDK 若吟若 KeyStore 篏帥c祉祉ャc若≪宴若激с潟篏с障
   324 このクラスは複数のさまざまな固定実装が可能で、
   797 .LP
   325 それぞれの実装は、特定の種類のキーストア用の固定実装です。
   798 .LP
   326 .LP
   799 若鴻≪Sun 箴腟粋昭帥絎茖障JKS 若鴻≪帥ゃ (綵√) с若鴻≪<ゃ絎茖障絎茖с泣ャ鴻若c篆茘激若鴻√篏翫с (泣ャ) 鴻若c篆茘激障
   327 現在、キーストアの実装を使用するものとして、keytool と 
   800 .LP
   328 .BR  jarsigner
   801 .LP
   329 の 2 つのコマンド行ツールと、
   802 若鴻≪絎茖ゃ若鴻с隙\f2KeyStore\fP 箴≪宴若激с潟ゃ潟帥с若鴻Service Provider Interface (SPI) 綵≪у茖障ゃ障絲上 \f2KeystoreSpi\fP 処院 ( \f2java.security\fP 宴若吾障) 鴻 Service Provider Interface <純絎臂障 <純ゃ絎茖違障сゃJava Security API c≪祉劫純泣若鴻泣祉絲障阪絎茖箴宴若吾障宴若吾сc若鴻≪絎茖箴
   330 .BR policytool 
   803 .na
   331 という名前の 1 つの GUI ベースのツールがあります。
   804 \f2Java 垸≪若c主ゃ絎茖号\fP @
   332 .I KeyStore 
   805 .fi
   333 クラスは public として使用可能なので、JDK ユーザは 
   806 http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlцゃ≪潟ゃ絎茖KeystoreSpi 泣鴻絎茖箴綽荀障
   334 .B KeyStore
   807 .LP
   335 を使ってほかのセキュリティアプリケーションも作成できます。
   808 .LP
   336 .LP
   809 ≪宴若激с潟с\f2KeyStore\fP 鴻箴 getInstance <<純篏帥с障障ゃ違帥ゃ若鴻≪絎茖御с障若鴻≪帥ゃ若鴻∽宴主綵√若水就綣絎臂若鴻√泣若鴻∵篏翫с篆茘激篏帥≪眼冴絎臂障違帥ゃ若鴻≪絎茖篋с障
   337 キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、
   810 .LP
   338 JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアを
   811 .LP
   339 ファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワード
   812 \f3keytool\fP 篁紙<ゃ若鴻若鴻√茖у篏障keytool 潟潟茵羝<若鴻≪贋<ゃ宴 FileInputStream 紊FileInputStream 若鴻≪宴若障筝鴻\f3jarsigner\fP 若 \f3policytool\fP 若URL ф絎純篁紙贋若鴻≪茯粋昭с障
   340 によって保護され、キーストア全体の完全性も (非公開鍵とは別の) パスワードに
   813 .LP
   341 よって保護されます。
   814 .LP
   342 .LP
   815 \f3jarsigner\fP  \f3keytool\fP 翫\f2\-storetype\fP 激с潟篏帥c潟潟茵с若鴻≪帥ゃ絎с障\f3Policy Tool\fP 翫[Edit] <ャ若 [Change Keystore] 潟潟篏帥c若鴻≪帥ゃ絎с障
   343 
   816 .LP
   344 キーストアの実装は、プロバイダベースです。具体的には、
   817 .LP
   345 .I KeyStore
   818 若鴻≪帥ゃ腓榊絎翫keytooljarsigner policytool 若祉ャc若c若<ゃф絎 \f2keystore.type\fP c若ゃ冴ャ若鴻≪絎茖御障祉ャc若c若<ゃ\f2java.security\fP  SDK 祉ャc若c若c \f2java.home\fP/lib/security 臀障 \f2java.home\fP 絎茵医c (SDK  \f2jre\fP c障 Java 2 Runtime Environment 筝篏c) с
   346 クラスが提供するアプリケーションインタフェースは、Service Provider Interface (SPI) 
   819 .LP
   347 という形で実装されています。つまり、対応する 
   820 .LP
   348 .I KeystoreSpi
   821 若\f2keystore.type\fP ゃ緇ゃф絎帥ゃ若鴻≪絎茖ゃ荀ゃ障с憜ゃ潟鴻若鴻ゃ茯帥鴻障ゃ荀ゃゃ若鴻≪絎茖篏帥障
   349 抽象クラス (これも 
   822 .LP
   350 .I java.security
   823 .LP
   351 パッケージに含まれている) があり、このクラスが Service Provider Interface の
   824 \f2KeyStore\fP 鴻с \f2getDefaultType\fP  static <純絎臂≪宴若激с潟≪<純篏帥 \f2keystore.type\fP c若ゃ緇с障罨<潟若若鴻≪帥ゃ (\f2keystore.type\fP c若ф絎帥ゃ) ゃ潟鴻帥潟鴻障
   352 メソッドを定義しています。これらのメソッドは、「プロバイダ」が実装しなければなりま
       
   353 せん。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービス
       
   354 のサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合の
       
   355 ことです。したがって、キーストアの実装を提供するには、「Java 暗号化アーキテク
       
   356 チャ用プロバイダの実装方法」(http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html) のページで説明しているように、クライアントがプロバイダを実装し、
       
   357 .I KeystoreSpi 
       
   358 サブクラスの実装を提供する必要があります。
       
   359 .LP
       
   360 アプリケーションでは、
       
   361 .I KeyStore
       
   362 クラスが提供する 
       
   363 .B getInstance
       
   364 ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの
       
   365 実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式、
       
   366 およびキーストア内の非公開鍵とキーストア自体の完全性を保護するために使われる
       
   367 アルゴリズムを定義します。異なるタイプのキーストアの実装には、互いに互換性は
       
   368 ありません。keytool、jarsigner、および policytool の各ツールは、
       
   369 .B KeyStore
       
   370 が提供する共通のアプリケーションインタフェースだけを使っているので、任意の
       
   371 タイプのキーストアで使用できます。
       
   372 .LP
       
   373 .B keytool 
       
   374 は、ファイルベースのキーストア実装に対して機能します。
       
   375 .B keytool 
       
   376 は、コマンド行で渡されたキーストアの位置をファイル名として扱い、
       
   377 .BR FileInputStream
       
   378 に変換して、そこからキーストア情報をロードします。一方、
       
   379 .B jarsigner
       
   380 ツールおよび 
       
   381 .B policytool
       
   382 ツールは、URL を使って指定することが可能な任意の位置にあるキーストアを
       
   383 読み取ることができます。
       
   384 .LP
       
   385 .B jarsigner 
       
   386
       
   387 .BR keytool
       
   388 の場合、
       
   389 .I -storetype
       
   390 オプションを使ってコマンド行でキーストアのタイプを指定できます。
       
   391 .BR policytool 
       
   392 の場合は、[Edit] メニューの [Change Keystore] コマンドを使ってキーストアの
       
   393 タイプを指定できます。
       
   394 .LP
       
   395 キーストアのタイプを明示的に指定しない場合、
       
   396 .B keytool
       
   397
       
   398 .B jarsigner
       
   399 、および 
       
   400 .B policytool 
       
   401 の各ツールは、セキュリティプロパティファイル内で指定
       
   402 された
       
   403 .I keystore.type
       
   404 プロパティの値に基づいてキーストアの実装を選択します。セキュリティプロパティファ
       
   405 イルは、
       
   406 .I java.security
       
   407 という名前でセキュリティプロパティディレクトリ 
       
   408 .I java.home/lib/security
       
   409 に置かれています。
       
   410 .I java.home
       
   411 は、JDK の実行環境ディレクトリです。(SDK 内の jre ディレクトリ
       
   412 または Java Runtime Environment のトップレベルのディレクトリ)。
       
   413 .LP
       
   414 各ツールは、
       
   415 .I keystore.type
       
   416 の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが
       
   417 見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的の
       
   418 プロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。
       
   419 .LP
       
   420 .I KeyStore 
       
   421 クラスでは 
       
   422 .I getDefaultType
       
   423 という名前の static メソッドが定義されており、アプリケーションとアプレットはこの
       
   424 メソッドを使うことで 
       
   425 .I keystore.type
       
   426 プロパティの値を取得できます。次のコードは、デフォルトのキーストアタイプ (
       
   427 .I keystore.type
       
   428 プロパティで指定されたタイプ) のインスタンスを生成します。
       
   429 .LP
   825 .LP
   430 .nf
   826 .nf
   431 \f3
   827 \f3
   432 .fl
   828 .fl
   433     KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
   829     KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
   435 \fP
   831 \fP
   436 .fi
   832 .fi
   437 
   833 
   438 .LP
   834 .LP
   439 .LP
   835 .LP
   440 デフォルトのキーストアタイプは jks (Sun が提供する独自のタイプのキーストアの
   836 若鴻≪帥ゃ JKS (Sun 箴帥ゃ若鴻≪絎茖) с祉ャc若c若<ゃ罨<茵c絎障
   441 実装) です。これは、セキュリティプロパティファイル内の次の行によって指定されて
   837 .LP
   442 います。
   838 .nf
   443 .LP
   839 \f3
   444 .RS 5
   840 .fl
   445 .B keystore.type=jks
   841     keystore.type=jks
   446 .RE
   842 .fl
   447 .LP
   843 \fP
   448 注: キーストアタイプの指定では、大文字と小文字は区別されません。たとえば、「JKS」と「jks」は同じものとみなされます。
   844 .fi
   449 .LP
   845 
   450 各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して
   846 .LP
   451 別のキーストアのタイプを指定します。
   847 .LP
   452 たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供している
   848 羈:若鴻≪帥ゃ絎с紊ф絖絨絖阪ャ障違JKS  jks 宴障
   453 プロバイダパッケージを使用するには、上の行を次のように変更します。
   849 .LP
   454 .LP
   850 .LP
   455 .B keystore.type=pkcs12
   851 若с篁ュ若鴻≪絎茖篏睡筝茵紊眼ャ若鴻≪帥ゃ絎障違pkcs12 若違帥ゃ若鴻≪絎茖箴ゃ宴若吾篏睡筝茵罨<紊眼障
   456 .LP
   852 .LP
   457 PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」(
   853 .nf
   458 http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner)
   854 \f3
   459 にある
   855 .fl
   460 「\f2KeyTool and JarSigner\fP」節を参照してください。
   856     keystore.type=pkcs12
   461 .LP
   857 .fl
       
   858 \fP
       
   859 .fi
       
   860 
       
   861 .LP
       
   862 .LP
       
   863 PKCS#11 ゃ宴若吾篏睡翫荅括完ゃJava PKCS#11 Reference Guide
       
   864 .na
       
   865 \f2KeyTool and JarSigner\fP @
       
   866 .fi
       
   867 http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner膀с
       
   868 .LP
       
   869 .RE
       
   870 .RE
   462 .SS 
   871 .SS 
   463 サポートされるアルゴリズム
   872 泣若≪眼冴
   464 .LP
   873 .LP
   465 .IX "jarsigner" "Supported Algorithms and Key Sizes" "\fLjarsigner\fP \(em JAR signing and verification tool "
   874 .RS 3
   466 .LP
   875 
   467 デフォルトでは、
   876 .LP
   468 .B jarsigner
   877 .LP
   469 は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。
   878 с\f3jarsigner\fP 罨<<≪眼冴篏帥c JAR <ゃ臀峨障
   470 .TP 2
   879 .LP
   471 \(bu
   880 .RS 3
   472 SHA-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム)
   881 .TP 2
   473 .TP 2
   882 o
   474 \(bu
   883 SHA\-1 ゃ吾с鴻≪眼冴篏帥c DSA (吾帥臀峨≪眼冴) 
   475 MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム
   884 .TP 2
   476 .LP
   885 o
   477 具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、
   886 MD5 ゃ吾с鴻≪眼冴篏帥c RSA ≪眼冴 
   478 .B jarsigner
   887 .RE
   479 は「SHA1withDSA」アルゴリズムを使って JAR ファイルに署名を付けようとします。署名者の
   888 
   480 鍵が RSA 鍵である場合、
   889 .LP
   481 .B jarsigner
   890 .LP
   482 は「MD5withRSA」アルゴリズムを使って JAR ファイルに署名を付けます。
   891 隙臀峨泣泣 DSA 泣с翫\f3jarsigner\fP  SHA1withDSA ≪眼冴篏帥c JAR <ゃ臀峨篁障臀峨泣 RSA 泣с翫\f3jarsigner\fP  MD5withRSA ≪眼冴篏帥c JAR <ゃ臀峨篁障
   483 .LP
   892 .LP
   484 これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。
   893 .LP
   485 .LP
   894 臀峨≪眼冴\f2\-sigalg\fP 激с潟篏帥c若若ゃс障
       
   895 .LP
       
   896 .RE
   486 .SS 
   897 .SS 
   487 署名付き JAR ファイル
   898 臀峨篁 JAR <ゃ
   488 .LP
   899 .LP
   489 .IX "jarsigner" "The Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
   900 .RS 3
   490 .LP
   901 
   491 .B jarsigner
   902 .LP
   492 を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは
   903 .LP
   493 入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが
   904 \f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁翫阪臀峨篁 JAR <ゃュ JAR <ゃс罨< 2 ゃ菴遵<ゃ META\-INF c臀鴻違障
   494 .B META-INF
   905 .LP
   495 ディレクトリに置かれる点が異なります。
   906 .RS 3
   496 .TP 2
   907 .TP 2
   497 \(bu
   908 o
   498 .B .SF
   909 .SF ≦宍絖篁臀峨<ゃ 
   499 拡張子の付いた署名ファイル
   910 .TP 2
   500 .TP 2
   911 o
   501 \(bu
   912 .DSA ≦宍絖篁臀峨<ゃ 
   502 .B .DSA
   913 .RE
   503 拡張子の付いた署名ブロックファイル
   914 
   504 .LP
   915 .LP
   505 これら 2 つのファイルのベースファイル名は、
   916 .LP
   506 .I -sigFile 
   917  2 ゃ<ゃ若鴻<ゃ\f2\-sigFile\fP 激с潟ゃ篏障違罨<激с潟絎障
   507 オプションの値から作成されます。たとえば、次のようにオプションを指定したとします。
   918 .LP
   508 .LP
   919 .nf
   509 .B -sigFile MKSIGN
   920 \f3
   510 .LP
   921 .fl
   511 この場合、ファイル名はそれぞれ 
   922   \-sigFile MKSIGN
   512 .B MKSIGN.SF
   923 .fl
   513
   924 \fP
   514 .BR MKSIGN.DSA
   925 .fi
   515 になります。
   926 
   516 .LP
   927 .LP
   517 コマンド行に 
   928 .LP
   518 .I -sigfile 
   929 翫<ゃ MKSIGN.SF  MKSIGN.DSA 障
   519 オプションの指定がない場合、
   930 .LP
   520 .B .SF
   931 .LP
   521 ファイルと 
   932 潟潟茵 \f2\-sigfile\fP 激с潟絎c翫.SF <ゃ .DSA <ゃ若鴻<ゃ潟潟茵ф絎ュ 8 絖鴻紊ф絖紊障ュ 8 絖羣翫ュ障鞘戎障ュ筝臀峨<ゃ篏睡с絖障翫荅峨絖筝膩 (_) 臀<ゃ篏障篏睡с絖≪<医筝膩 (_)ゃ潟с
   522 .B .DSA
   933 .LP
   523 ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字を
   934 \f3臀峨 (.SF) <ゃ\fP
   524 すべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名が
   935 .LP
   525 そのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれ
   936 .RS 3
   526 ている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。
   937 
   527 使用できる文字は、アルファベット、数字、下線 (_)、ハイフンです。
   938 .LP
   528 .LP
   939 .LP
   529 署名 (\f3.SF\f1) ファイル
   940 臀峨<ゃ (.SF <ゃ) \f3jarsigner\fP х讐篁 JAR <ゃ絽吾障с鴻<ゃ篌若障ゃ障с鴻<ゃ罕.SF <ゃJAR <ゃ障純若鴻<ゃ罨< 3 ゃ茵障
   530 .LP
   941 .LP
   531 署名ファイル (
   942 .RS 3
   532 .B .SF
   943 .TP 2
   533 ファイル) は、
   944 o
   534 .B jar
   945 <ゃ 
   535 ツールで生成された JAR ファイルに常に含まれるマニフェストファイルと似ています。つまり、マニフェストファイル同様、
   946 .TP 2
   536 .B .SF
   947 o
   537 ファイルには、JAR ファイルに含まれているソースファイルごとに、次の 3 つの行があります。
   948 篏帥ゃ吾с鴻≪眼冴 (SHA)  
   538 .TP 2
   949 .TP 2
   539 \(bu
   950 o
   540 ファイル名
   951 SHA ゃ吾с鴻 
   541 .TP 2
   952 .RE
   542 \(bu
   953 
   543 使われているダイジェストアルゴリズム (SHA) の名前
   954 .LP
   544 .TP 2
   955 .LP
   545 \(bu
   956 с鴻<ゃсSHA ゃ吾с鴻ゃ純若鴻<ゃゃ若帥ゃ吾с鴻 (激) с筝鴻.SF <ゃс純若鴻<ゃゃ吾с鴻ゃс鴻<ゃ筝荅峨純若鴻<ゃ絲上 3 茵激ャс
   546 SHA ダイジェストの値
   957 .LP
   547 .LP
   958 .LP
   548 マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータ
   959 臀峨<ゃсс鴻<ゃ篏激ャ障障緇菴違JAR <ゃ罎荐若ц若絖c罎荐若純c障
   549 のダイジェスト (ハッシュ) です。一方、
   960 .LP
   550 .B .SF
   961 .RE
   551 ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当する
   962 \f3臀峨 (.DSA) <ゃ\fP
   552 ソースファイルに対応する 3 行のハッシュです。
   963 .LP
   553 .LP
   964 .RS 3
   554 署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。
   965 
   555 後述の「JAR ファイルの検証」で説明するように、このヘッダの存在によって検証の
   966 .LP
   556 最適化が可能になっています。
   967 .LP
   557 .LP
   968 .SF <ゃ臀峨篁臀峨 .DSA <ゃ臀障.DSA <ゃ若鴻≪荐惹吾障荐惹吾с若潟膃垸綵≪у障障 荐惹吾障荐惹吾с若潟臀峨篏帥泣絲上泣茯荐若障
   558 署名ブロック (\f3.DSA\f1) ファイル
   969 .LP
   559 .LP
   970 .RE
   560 .B .SF
   971 .RE
   561 ファイルには署名が付けられ、署名は 
       
   562 .B .DSA 
       
   563 ファイルに置かれます。
       
   564 .B .DSA
       
   565 ファイルには、キーストアからの証明書または証明連鎖も符号化された形で含まれて
       
   566 います。証明書または証明連鎖は、署名に使われた非公開鍵に対応する公開鍵を
       
   567 認証します。
       
   568 .LP
       
   569 .SS 
   972 .SS 
   570 署名タイムスタンプ
   973 臀峨帥ゃ鴻帥潟
   571 .LP
   974 .LP
   572 .LP
   975 .RS 3
   573 J2SE 5.0 リリースの 
   976 
   574 .I jarsigner
   977 .LP
   575 ツールは、JAR ファイルの署名時に署名タイムスタンプを生成および格納できるようになりました。さらに、
   978 .LP
   576 .I jarsigner
   979 J2SE 5.0 若鴻 \f2jarsigner\fP 若JAR <ゃ臀峨臀峨帥ゃ鴻帥潟恰主с障\f2jarsigner\fP 篁f睡讐罘罕泣若障篏ュ純с臀峨罨<激с潟c九勝障
   577 は代替の署名機構もサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。
       
   578 .LP
   980 .LP
   579 .RS 3
   981 .RS 3
   580 .TP 2
   982 .TP 2
   581 o
   983 o
   582 \f2\-tsa url\fP 
   984 \f2\-tsa url\fP 
   591 \f2\-altsignerpath classpathlist\fP 
   993 \f2\-altsignerpath classpathlist\fP 
   592 .RE
   994 .RE
   593 
   995 
   594 .LP
   996 .LP
   595 .LP
   997 .LP
   596 これらの各オプションの詳細については、後述の「オプション」節を参照してください。
   998 激с潟荅括完ゃ緇菴違激с潟膀с
   597 .LP
   999 .LP
       
  1000 .RE
   598 .SS 
  1001 .SS 
   599 JAR ファイルの検証
  1002 JAR <ゃ罎荐
   600 .LP
  1003 .LP
   601 .IX "jarsigner" "JAR File Verification" "\fLjarsigner\fP \(em JAR signing and verification tool "
  1004 .RS 3
   602 .LP
  1005 
   603 JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に 
  1006 .LP
   604 JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。
  1007 .LP
   605 .TP 5
  1008 JAR <ゃ罎荐若臀峨鴻сょ讐篁ュ JAR <ゃ<ゃ紊眼翫сJAR <ゃ罎荐若罨<ц障
   606 1. 
  1009 .LP
   607 .B .SF 
  1010 .RS 3
   608 ファイルそれ自体の署名を検証します。
  1011 .TP 3
   609 .RS
  1012 1.
   610 .LP
  1013 .SF <ゃ篏臀峨罎荐若障 
   611 この手順では、各署名ブロック (
  1014 .LP
   612 .B .DSA
  1015 с臀峨 (.DSA) <ゃ主臀峨絎泣絲上泣篏帥cс腆肴障 .DSA <ゃ泣荐惹 (障荐惹吾с若) 障障障с臀峨絲上臀峨 (.SF) <ゃ鴻臀峨с茯帥鴻.SF <ゃ劫腆肴障  
   613 ) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って
  1016 .TP 3
   614 生成されたものであることを確認します。
  1017 2.
   615 .B .DSA
  1018 .SF <ゃ潟ゃ吾с鴻с鴻絲上祉激с潟腦罎荐若障 
   616 ファイルには、公開鍵の証明書も含まれています。また、この手順
  1019 .LP
   617 では、目的の署名が、対応する署名 (
  1020 .SF <ゃс鴻<ゃ篏激ャ主若у障障若絖翫弱激ャ絎с鴻<ゃ激ャ筝眼罎荐若с障激ャ筝眼翫罨<蚊帥障 
   618 .B .SF
  1021 .LP
   619 ) ファイル内の有効な署名であるかどうかを調べ、
  1022 激ャ筝眼翫合c号篏帥c罎荐若茵障 隙.SF <ゃ純若鴻<ゃ宴祉激с潟激ャс鴻<ゃ絲上祉激с潟激ャ筝眼腆肴障 (臀峨 (.SF) <ゃ) 
   620 .B .SF 
  1023 .LP
   621 ファイルが改変されていないことも確認します。
  1024 .SF <ゃ若主с鴻<ゃ激ャ絎с鴻<ゃ激ャ筝眼翫臀峨 ( .SF <ゃ) 緇JAR <ゃ 1 や札筝<ゃ菴遵 (\f2jar\fP 若篏睡) 醇с障\f2jar\fP 若篏帥c<ゃ菴遵翫с鴻<ゃ紊眼障 (違<ゃ祉激с潟菴遵).SF <ゃ紊眼障翫.SF <ゃ寂札紊祉激с潟主激ャс鴻<ゃ絲上祉激с潟激ャ筝眼臀峨 JAR <ゃ絖<ゃ<<ゃ紊眼罎荐若宴障  
   622 .RE
  1025 .TP 3
   623 .TP 5
  1026 3.
   624 2. 
  1027 JAR <ゃ<ゃ<.SF <ゃ潟ゅ<ゃ茯粋昭帥障茯粋昭推賢<ゃゃ吾с鴻荐膊腟с鴻祉激с喝荅峨<ゃゃ吾с鴻罸莠障2 ゃゃ吾с鴻с違с翫罎荐若紊掩障 
   625 .B .SF
  1028 .RE
   626 ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き
  1029 
   627 合わせて検証します。
  1030 .LP
   628 .RS 
  1031 .LP
   629 .LP
  1032 罎荐若祉鴻筝с紊с罎荐若若榊翫罎荐若祉鴻筝罩≪祉ャc寂紊鴻若障鴻若祉ャc寂紊\f3jarsigner\fP c茵腓冴障
   630 .B .SF
  1033 .LP
   631 ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダがデフォルトで
  1034 .RE
   632 含まれています。このヘッダが存在する場合は、ヘッダ内のハッシュが実際にマニフェ
       
   633 ストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致す
       
   634 る場合は、次の手順に進みます。
       
   635 .LP
       
   636 ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。具体的
       
   637 には、
       
   638 .B .SF
       
   639 ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の
       
   640 対応するセクションのハッシュと一致するかどうかを確認します (「署名 (\f3.SF\f1) 
       
   641 ファイル」を参照)。
       
   642 .LP
       
   643 .B .SF
       
   644 ファイルのヘッダに格納されたマニフェストファイルのハッシュと、実際のマニフェスト
       
   645 ファイルのハッシュとが一致しない場合は、署名 (および 
       
   646 .B .SF
       
   647 ファイル) の生成後に、ファイルに 1 つ以上のファイルが追加 (
       
   648 .I jar
       
   649 ツールを使用) された可能性があります。
       
   650 .I jar
       
   651 ツールを使ってファイルを追加した場合、マニフェストファイルは変更されますが 
       
   652 (新しいファイル用のセクションが追加される)、
       
   653 .B .SF
       
   654 ファイルは変更されません。この場合、
       
   655 .B .SF
       
   656 ファイルのヘッダ以外のセクションに格納されたハッシュが、マニフェストファイル内の
       
   657 対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に
       
   658 存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功
       
   659 したものとして扱われます。
       
   660 .RE
       
   661 .TP 5
       
   662 3. 
       
   663 JAR ファイル内のファイルのうち、
       
   664 .B .SF
       
   665 ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルの
       
   666 ダイジェストを計算し、結果をマニフェストセクション内の該当するファイルの
       
   667 ダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない
       
   668 場合は検証が失敗します。
       
   669 .LP
       
   670 検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセス
       
   671 は中止され、セキュリティ例外がスローされます。スローされたセキュリティ例外は、
       
   672 .BR jarsigner
       
   673 がキャッチして表示します。
       
   674 .LP
       
   675 .SS 
  1035 .SS 
   676 1 つの JAR ファイルを対象とする複数の署名
  1036 1 ゃ JAR <ゃ絲乗院茲違臀峨
   677 .LP
  1037 .LP
   678 .IX "jarsigner" "Multiple Signatures for a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
  1038 .RS 3
   679 .LP
  1039 
   680 1 つの JAR ファイルに対して 
  1040 .LP
   681 .B jarsigner 
  1041 .LP
   682 ツールを複数回実行し、実行のたびに、異なるユーザの別名を指定すれば、JAR 
  1042 1 ゃ JAR <ゃ絲障 \f3jarsigner\fP 若茲医絎茵絎茵潟違若吟若ュ絎違JAR <ゃ茲違若吟若臀峨篁с障
   683 ファイルに複数のユーザの署名を付けることができます。たとえば、次のようにします。
  1043 .LP
   684 .LP
  1044 .nf
   685 .ft 3
  1045 \f3
   686 .nf
  1046 .fl
   687 jarsigner myBundle.jar susan
  1047   jarsigner myBundle.jar susan
   688 jarsigner myBundle.jar kevin
  1048 .fl
   689 .fi
  1049   jarsigner myBundle.jar kevin
   690 .ft 1
  1050 .fl
   691 .LP
  1051 \fP
   692 JAR ファイルが複数回署名されている場合、その JAR ファイルには
  1052 .fi
   693 .B .SF
  1053 
   694 ファイルと
  1054 .LP
   695 .B .DSA
  1055 .LP
   696 ファイルの対が複数含まれることになります。
  1056 JAR <ゃ茲医臀峨翫 JAR <ゃ .SF <ゃ .DSA <ゃ絲障茲医障障 .SF <ゃ .DSA <ゃ絲障1 臀峨絲障 1 や障c筝箴у阪 JAR <ゃ罨<ゃ<ゃ障障
   697 .B .SF 
  1057 .LP
   698 ファイルと
  1058 .nf
   699 .B .DSA
  1059 \f3
   700 ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力
  1060 .fl
   701 される JAR ファイルには、次の名前を持つファイルが含まれます。
  1061   SUSAN.SF
   702 .LP
  1062 .fl
   703 .ft 3
  1063   SUSAN.DSA
   704 .nf
  1064 .fl
   705 SUSAN.SF
  1065   KEVIN.SF
   706 SUSAN.DSA
  1066 .fl
   707 KEVIN.SF
  1067   KEVIN.DSA
   708 KEVIN.DSA
  1068 .fl
   709 .fi
  1069 \fP
   710 .ft 1
  1070 .fi
   711 .LP
  1071 
   712 注: JDK 1.1 の 
  1072 .LP
   713 .B javakey 
  1073 .LP
   714 ツールで生成した署名と、
  1074 羈:JAR <ゃсJDK 1.1  \f3javakey\fP 若х臀峨 \f3jarsigner\fP х臀峨羞桁с障ゃ障с \f3javakey\fP 篏帥c臀峨篁 JAR <ゃ\f3jarsigner\fP 篏帥c臀峨篁с障
   715 .B jarsigner 
  1075 .LP
   716 で生成した署名というように、
  1076 .RE
   717 1 つの JAR ファイルに署名を混在させることができます。
  1077 .SH "激с"
   718 つまり 
  1078 .LP
   719 .B javakey 
  1079 
   720 ですでに以前署名した JAR ファイルに署名するために、
  1080 .LP
   721 .B jarsigner 
  1081 .LP
   722 を使用できます。
  1082 篁ヤс\f3jarsigner\fP 激с潟ゃ茯障羈:
   723 .SH "オプション"
  1083 .LP
   724 .LP
  1084 .RS 3
   725 以下では、
  1085 .TP 2
   726 .B jarsigner 
  1086 o
   727 のオプションについて説明します。オプションを指定するときは、次の点に注意
  1087 激с喝ゃ壕 (\-) 篁 
   728 してください。
  1088 .TP 2
   729 .TP 2
  1089 o
   730 \(bu
  1090 激с潟篁紙綺ф絎с 
   731 どのオプション名にも先頭にマイナス記号 (-) が付く
  1091 .TP 2
   732 .TP 2
  1092 o
   733 \(bu
  1093 ゃ帥篏絎 (激с潟) 若吟若絎綽荀 
   734 オプションは任意の順序で指定できる
  1094 .TP 2
   735 .TP 2
  1095 o
   736 \(bu
  1096 \f2\-keystore\fP\f2\-storepass\fP\f2\-keypass\fP\f2\-sigfile\fP\f2\-sigalg\fP\f2\-digestalg\fP  \f2\-signedjar\fP 激с潟篏睡сJAR <ゃ臀峨篁翫с 激с潟JAR <ゃ罎荐若翫篏睡с罕ュ潟潟茵ф絎JAR <ゃ臀峨篁翫с 
   737 イタリック体の項目の実際の値 (オプションの値) は、ユーザが指定する必要がある
  1097 .RE
   738 .TP 2
  1098 
   739 \(bu
  1099 .LP
   740 .I -keystore、
  1100 .RS 3
   741 .I -storepass、
  1101 .TP 3
   742 .I -keypass、
  1102 \-keystore url 
   743 .I -sigfile、
  1103 若鴻≪贋腓冴 URL 絎障若吟若若c<ゃ \f2.keystore\fP с 若吟若若cuser.home 激鴻c若c羆冴障障 
   744 .I -sigalg、
  1104 .LP
   745 .I -digestalg、
  1105 臀峨若鴻≪綽荀с 若鴻≪絖翫篁ュ祉若鴻≪篏睡翫若鴻≪腓榊絎綽荀障 
   746 および 
  1106 .LP
   747 .I -signedjar 
  1107 罎荐若若鴻≪綽荀障 若鴻≪絎若鴻≪絖 \f2\-verbose\fP 激с潟絎翫JAR <ゃ罎荐若篏帥荐惹吾若鴻≪絖ゃ菴遵宴阪障 
   748 の各オプションを使用できるのは、JAR ファイルに署名を付ける場合だけである。
  1108 .LP
   749 これらのオプションは、JAR ファイルを検証する場合には使用できない。同様に、
  1109 羈:\f2\-keystore\fP 綣違URL 篁c<ゃ () 絎с障 <ゃ () 絎翫file:URL 宴障違罨<絎с障 
   750 別名をコマンド行で指定するのは、JAR ファイルに署名を付ける場合だけである
  1110 .nf
   751 .LP
  1111 \f3
   752 .RS 3
  1112 .fl
   753 .TP 3
  1113   \-keystore \fP\f4filePathAndName\fP\f3
   754 .B -keystore  url
  1114 .fl
   755 キーストアの場所を示す URL を指定します。デフォルトは、ユーザのホームディレクト
  1115 \fP
   756 リ内のファイル 
  1116 .fi
   757 .I .keystore 
  1117 罨<絎宴障 
   758 です。ユーザのホームディレクトリは、
  1118 .nf
   759 .I user.home 
  1119 \f3
   760 システムプロパティによって決まります。
  1120 .fl
   761 .LP
  1121   \-keystore file:\fP\f4filePathAndName\fP\f3
   762 署名するときはキーストアが必要です。このため、デフォルトのキーストアが存在
  1122 .fl
   763 しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、
  1123 \fP
   764 キーストアを明示的に指定する必要があります。
  1124 .fi
   765 .LP
  1125 JRE  \f2$JAVA_HOME/lib/security\fP c主 \f2java.security\fP 祉ャc若c若<ゃ Sun PKCS#11 ゃ荐絎翫keytool  jarsigner  PKCS#11 若潟冴ャ篏с障 罨<激с潟絎障 
   766 検証するときはキーストアは必要ありません。ただし、キーストアが指定されているか、
  1126 .RS 3
   767 あるいはデフォルトのキーストアが存在していて、さらに 
  1127 .TP 2
   768 .I -verbose
  1128 o
   769 オプションも指定されている場合は、JAR ファイルの検証に使われる証明書が
  1129 \f2\-keystore NONE\fP 
   770 キーストアに存在するかどうかについての追加情報が出力されます。
  1130 .TP 2
   771 .LP
  1131 o
   772 注: 
  1132 \f2\-storetype PKCS11\fP 
   773 .I -keystore 
  1133 .RE
   774 の引数には、URL の代わりにファイル名 (とパス) を指定できます。ファイル名 
  1134 違罨<潟潟荐絎 PKCS#11 若潟絎鴻筝荀ц;腓冴障 
   775 (とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように
       
   776 指定できます。
       
   777 .LP
       
   778 .B -keystore filePathAndName
       
   779 .LP
       
   780 これは、次の指定と同じものとして扱われます。
       
   781 .LP
       
   782 .B -keystore file:filePathAndName
       
   783 .LP
       
   784 \fP
       
   785 .fi
       
   786 JRE の \f2$JAVA_HOME/lib/security\fP ディレクトリに格納された \f2java.security\fP セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されている場合、keytool と jarsigner は PKCS#11 トークンに基づいて動作できます。次のオプションを指定します。 
       
   787 .RS 3
       
   788 .TP 2
       
   789 o \f2\-keystore NONE\fP 
       
   790 .TP 2
       
   791 o \f2\-storetype PKCS11\fP 
       
   792 .RE
       
   793 たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。 
       
   794 .RS 3
  1135 .RS 3
   795 
  1136 
   796 .LP
  1137 .LP
   797 .nf
  1138 .nf
   798 \f3
  1139 \f3
   803 .fl
  1144 .fl
   804 \fP
  1145 \fP
   805 .fi
  1146 .fi
   806 .RE
  1147 .RE
   807 .TP 3
  1148 .TP 3
   808 .B -storetype  storetype
  1149 \-storetype storetype 
   809 インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアの
  1150 ゃ潟鴻帥潟鴻若鴻≪帥ゃ絎障若鴻≪帥ゃ祉ャc若c若<ゃ keystore.type c若ゃф絎帥ゃс ゃ\f2java.security.KeyStore\fP  static \f2getDefaultType\fP <純у緇с障 
   810 タイプは、セキュリティプロパティファイルで keystore.type プロパティの値として
  1151 .LP
   811 指定されたタイプで、
  1152 \f2\-storepass\fP 激с潟篏帥c PCKS#11 若潟 PIN 絎с障篏絎c翫keytool  jarsigner 若吟若若 PIN  ュ羆障若潟篆茘激茯荐若 (絨 PIN 篏茯水罘) 翫\f2\-protected\fP 激с潟絎綽荀障鴻若激с潟絎綽荀障  
   812 .I java.security.KeyStore
  1153 .TP 3
   813 の static 
  1154 \-storepass password 
   814 .I getDefaultType 
  1155 若鴻≪≪祉鴻綽荀鴻若絎障激с潟綽荀JAR <ゃ臀峨篁с (JAR <ゃ罎荐若筝荀)臀峨篁潟潟茵 \f2\-storepass\fP 激с潟絎c翫鴻若ュ羆障 
   815 メソッドによって返されます。
  1156 .LP
   816 .LP
  1157 羈:鴻翫障祉ャc寂茘激激鴻篏睡翫篁ュ潟潟茵鴻с鴻若絎с障password 潟с鴻若ュュ鴻若潟若障丞脂≪茵腓冴障 蚊祉若吟若翫鴻若荀羈  
   817 \f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することも
  1158 .TP 3
   818 できます。何も指定しなかった場合、keytool と jarsigner はユーザにトークン PIN の
  1159 \-keypass password 
   819 入力を求めます。トークンの認証パスが、専用の PIN パッドやバイオメトリックリーダの
  1160 潟潟茵ф絎ュ絲上若鴻≪潟泣篆茘激篏帥鴻若絎障\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁鴻若綽荀с潟潟茵с鴻若絎綽荀鴻若鴻≪鴻若違翫鴻若ュ羆障 
   820 ような保護されたパスである場合、\f2\-protected\fP オプションを指定する必要があります。
  1161 .LP
   821 この場合、パスワードオプションは指定できません。  
  1162 羈:鴻翫障祉ャc寂茘激激鴻篏睡翫篁ュ潟潟茵鴻с鴻若絎с障password 潟с鴻若ュュ鴻若潟若障丞脂≪茵腓冴障 蚊祉若吟若翫鴻若荀羈  
   822 .TP
  1163 .TP 3
   823 .B -storepass  password
  1164 \-sigfile file 
   824 キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要
  1165 .SF <ゃ .DSA <ゃ篏帥若鴻<ゃ絎障違\f2file\fP  DUKESIGN 絎 .SF <ゃ .DSA <ゃ DUKESIGN.SF  DUKESIGN.DSA 障 <ゃ臀峨篁 JAR <ゃ META\-INF c臀障 
   825 なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは
  1166 .LP
   826 不要)。署名を付けるときに、コマンド行で 
  1167 \f2file\fP 篏睡с絖a\-zA\-Z0\-9_\-сゃ障絖医筝膩潟ゃ潟篏睡с障羈:.SF  .DSA <ゃс絨絖鴻紊ф絖紊障 
   827 .I -storepass
  1168 .LP
   828 オプションを指定しなかった場合は、パスワードの入力を求められます。
  1169 潟潟茵 \f2\-sigfile\fP 激с潟絎c翫.SF <ゃ .DSA <ゃ若鴻<ゃ潟潟茵ф絎ュ 8 絖鴻紊ф絖紊障ュ 8 絖羣翫ュ障鞘戎障ュ筝臀峨<ゃ篏睡с絖障翫荅峨絖筝膩 (_) 臀<ゃ篏障  
   829 .RS 
  1170 .TP 3
   830 .LP
  1171 \-sigalg algorithm 
   831 注: テストを目的とする場合、または安全が保障されたシステムで実行する場合
  1172 .RS 3
   832 以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、
  1173 
   833 password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、
  1174 .LP
   834 そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、
  1175 JAR <ゃ臀峨篏睡臀峨≪眼冴絎障 
   835 パスワードを見られないように注意してください。
  1176 .LP
   836 .RE
  1177 罔羣臀峨≪眼冴筝荀сゃJava Cryptography Architecture 
   837 .TP
  1178 .na
   838 .B -keypass  password
  1179 \f2Appendix A \fP @
   839 コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するの
  1180 .fi
   840 に使うパスワードを指定します。
  1181 http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс≪眼冴JAR <ゃ臀峨篏睡腱絲泣篋сс違障激с潟絎c翫腱絲泣帥ゃ綽 SHA1withDSAMD5withRSA 篏睡障絎≪眼冴絎茖箴ゃゃ潟鴻若若吟若ゃ \f2\-providerClass\fP 激с潟篏帥c絎綽荀障 с翫潟潟絎茵紊掩障
   841 .B jarsigner
  1182 .LP
   842 を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行で
  1183 .RE
   843 パスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる
  1184 .TP 3
   844 場合は、パスワードの入力を求められます。
  1185 \-digestalg algorithm 
   845 .RS 
  1186 .RS 3
   846 .LP
  1187 JAR <ゃ潟ゃ吾с鴻篏睡<祉若吾ゃ吾с鴻≪眼冴絎障 
   847 注: テストを目的とする場合、または安全であることがわかっているシステムで
  1188 .LP
   848 実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。
  1189 罔羣<祉若吾ゃ吾с鴻≪眼冴筝荀сゃJava Cryptography Architecture 
   849 また、password プロンプトでパスワードを入力すると、入力したパスワードがエコー
  1190 .na
   850 され、そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、
  1191 \f2Appendix A \fP @
   851 パスワードを見られないように注意してください。
  1192 .fi
   852 .RE
  1193 http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс激с潟絎c翫SHA\-1 篏睡障絎≪眼冴絎茖箴ゃゃ潟鴻若若吟若ゃ \f2\-providerClass\fP 激с潟篏帥c絎綽荀障 с翫潟潟絎茵紊掩障
   853 .TP
  1194 .LP
   854 .B -sigfile  file
  1195 .RE
   855 SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。
  1196 .TP 3
   856 たとえば、file に DUKESIGN を指定すると、生成される .SF ファイルと 
  1197 \-signedjar file 
   857 .DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。
  1198 臀峨篁 JAR <ゃ絎障 
   858 これらのファイルは、署名付き JAR ファイルの META-INF ディレクトリに置かれます。
  1199 .LP
   859 .RS 
  1200 潟潟茵у絎c翫ュ JAR <ゃ (臀峨絲乗院 JAR <ゃ) 篏帥障 翫ュ JAR <ゃ臀峨篁 JAR <ゃc筝吾障  
   860 .LP
  1201 .TP 3
   861 .I file
  1202 \-verify 
   862 に使用できる文字は「a-zA-Z0-9_-」です。つまり、文字、数字、下線、
  1203 潟潟茵с激с潟絎翫絎 JAR <ゃ罎荐若障JAR <ゃ吾臀峨茵障 罎荐若jar 罎荐若障 <祉若吾茵腓冴障臀峨 JAR <ゃ障泣若≪眼冴 (RSA ゃゃ潟鴻若腟篋翫 RSA ) 篏帥c臀峨 JAR <ゃ罎荐若jar 臀峨障(臀峨荀ゃ罕茹fс障)<祉若吾茵腓冴障 
   863 およびハイフンだけを使用できます。注: 
  1204 .LP
   864 .B .SF
  1205 臀峨篁 JAR <ゃ\f3jarsigner\fP 障 JDK 1.1  \f3javakey\fP 若筝≧鴻篏帥c罎荐若с障 
   865 および 
  1206 .LP
   866 .B .DSA
  1207 罎荐若ゃ荅括完JAR <ゃ罎荐若с  
   867 のファイル名では、小文字はすべて大文字に変換されます。
  1208 .TP 3
   868 .LP
  1209 \-certs 
   869 コマンド行で 
  1210 潟潟茵с\f2\-verify\fP  \f2\-verbose\fP 激с潟激с潟絎翫JAR <ゃ臀峨荐惹御宴阪障荐惹御宴罨<障障 
   870 .I -sigfile 
  1211 .RS 3
   871 オプションを指定しなかった場合、
  1212 .TP 2
   872 .B .SF 
  1213 o
   873 ファイルと 
  1214 臀峨泣荐惹 (.DSA <ゃ主) 荐惹吾腮蕁 
   874 .B .DSA
  1215 .TP 2
   875 ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字を
  1216 o
   876 すべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名が
  1217 荐惹吾 X.509 荐惹 (ゃ障\f2java.security.cert.X509Certificate\fP ゃ潟鴻帥潟) с翫臀峨茘ュ 
   877 そのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている
  1218 .RE
   878 場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。
  1219 .LP
   879 .TP 3
  1220 若鴻≪腆肴茵障潟潟茵с若鴻≪ゃ絎翫若鴻≪<ゃ違罎祉障臀峨泣荐惹吾若鴻√潟筝眼翫罨<宴茵腓冴障 
   880 \-sigalg  algorithm 
  1221 .RS 3
   881 .RS 3
  1222 .TP 2
   882 
  1223 o
   883 .LP
  1224 臀峨荅峨若鴻≪潟ュ ュ綣су蚊障障若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻掩ャ臀峨翫綣сс鎀ф綣су蚊障障 
   884 JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。 
  1225 .RE
   885 .LP
  1226 .TP 3
   886 標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」( 
  1227 \-verbose 
   887 http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)
  1228 潟潟茵с激с潟絎翫\f3jarsigner\fP 激≪若у篏JAR 臀峨障罎荐若画倶≪菴遵宴阪障 
   888 にある
  1229 .TP 3
   889
  1230 \-internalsf 
   890 .I Appendix A
  1231 篁ュJAR <ゃ臀峨 .DSA (臀峨) <ゃ筝 .SF <ゃ (臀峨<ゃ) 絎潟若膃垸綵≪у障障篏紊眼障篏紊眼憜с阪 JAR <ゃ篏泣ゃ冴絨с .SF <ゃ .DSA <ゃ障c障潟潟茵 \f2\-internalsf\fP 激с潟絎篁ュ篏障\f3激с潟鴻茵翫箴水с篁ュ篏睡с 激с潟篏睡茵障\fP 
   891 」を参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、MD5withRSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザがそのようなプロバイダを 
  1232 .TP 3
   892 .I \-providerClass
  1233 \-sectionsonly 
   893 オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。
  1234 潟潟茵с激с潟絎翫JAR <ゃ臀峨 .SF <ゃ (臀峨<ゃ) с鴻<ゃ篏激ャ若菴遵障翫.SF <ゃ障JAR <ゃ純若鴻<ゃ≪宴潟激ャс 荅括完臀峨 (.SF) <ゃс 
   894 .LP
  1235 .LP
   895 .RE
  1236 с茵с鴻<ゃ篏激ャ若菴遵障若絖翫JAR <ゃ罎荐惹障弱激ャс鴻<ゃ篏激ャ絎筝眼腆肴障激ャ筝眼翫罎荐若罨<蚊帥障激ャ筝眼翫合c号篏帥c罎荐若茵障 隙.SF <ゃ純若鴻<ゃ宴祉激с潟激ャс鴻<ゃ絲上祉激с潟激ャ筝眼腆肴障 
   896 .TP 3
  1237 .LP
   897 \-digestalg  algorithm 
  1238 荅括完JAR <ゃ罎荐若с 
   898 .RS 3
  1239 .LP
   899 JAR ファイルのエントリをダイジェストする際に使用するメッセージダイジェストアルゴリズムの名前を指定します。 
  1240 \f3激с潟鴻茵翫箴水с篁ュ篏睡с 激с潟篏睡茵障\fP   
   900 .LP
  1241 .TP 3
   901 標準メッセージダイジェストアルゴリズム名の一覧については、「Java Cryptography Architecture」(http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)の
  1242 \-protected 
   902
  1243 \f2true\fP 障 \f2false\fP 絨 PIN 若若篆茘激茯荐若鴻篁鴻若絎綽荀翫ゃ \f2true\fP 絎 
   903 .I Appendix A
  1244 .RE
   904 」を参照してください。このオプションを指定しなかった場合、SHA\-1 が使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザがそのようなプロバイダを 
  1245 .RS 3
   905 .I \-providerClass
  1246 .TP 3
   906 オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。
  1247 \-provider provider\-class\-name 
   907 .RE
  1248 泣若鴻ゃ祉ャc若c若<ゃ (\f2java.security\fP) 鴻ャc垸泣若鴻ゃ鴻帥若鴻<ゃ絎障 
   908 .TP
  1249 .LP
   909 .B -signedjar  file
  1250 \f2\-providerArg\fP \f2ConfigFilePath\fP 激с潟腟水篏睡障 keytool  jarsigner ゃゃ潟鴻若障 (с\f2ConfigFilePath\fP 若活┃絎<ゃ吾鴻с)祉ャc若c若<ゃ Sun PKCS#11 ゃ荐絎翫 PKCS#11 若鴻≪筝荀ц;腓冴潟潟箴罨<腓冴障 
   910 署名付き JAR ファイルの名前を指定します。
  1251 .RS 3
   911 .RS 
  1252 
   912 .LP
  1253 .LP
   913 コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる
  1254 .nf
   914 JAR ファイル) の名前と同じ名前が使われます。この場合、入力 JAR ファイルは署名
  1255 \f3
   915 付き JAR ファイルによって上書きされます。
  1256 .fl
   916 .RE
  1257 jarsigner \-keystore NONE \-storetype PKCS11 \\ 
   917 .TP
  1258 .fl
   918 .B -verify
  1259           \-providerClass sun.security.pkcs11.SunPKCS11 \\ 
   919 コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが
  1260 .fl
   920 検証されます。JAR ファイルへの署名は行われません。検証が成功すると、
  1261           \-providerArg /foo/bar/token.config \\ 
   921 「jar verified」というメッセージが表示されます。署名されていない JAR ファイル、
       
   922 またはサポートされていないアルゴリズム (RSA プロバイダがインストールされていない
       
   923 場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、
       
   924 「jar is unsigned. (signatures missing or not parsable)」というメッセージが表示されます。
       
   925 .RS 
       
   926 .LP
       
   927 署名付き JAR ファイルは、
       
   928 .B jarsigner 
       
   929 または JDK 1.1 の 
       
   930 .B javakey 
       
   931 ツール、あるいはその両方を使って検証できます。
       
   932 .LP
       
   933 検証についての詳細は、「JAR ファイルの検証」を参照してください。
       
   934 .RE
       
   935 .TP
       
   936 .B -certs
       
   937 コマンド行で、
       
   938 .I -verify
       
   939 および
       
   940 .I -verbose 
       
   941 オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者
       
   942 の証明書情報も出力されます。証明書情報には次のものが含まれます。
       
   943 .RS
       
   944 .TP 2
       
   945 \(bu
       
   946 署名者の公開鍵を証明する (
       
   947 .B .DSA
       
   948 ファイルに格納された) 証明書の種類の名前
       
   949 .TP 2
       
   950 \(bu
       
   951 証明書が X.509 証明書 (具体的には 
       
   952 .I java.security.cert.X509Certificate 
       
   953 のインスタンス) である場合は、署名者の識別名
       
   954 .LP
       
   955 キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない
       
   956 場合、デフォルトのキーストアファイルがあれば、それが確認されます。署名者の
       
   957 公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示
       
   958 されます。
       
   959 .TP 2
       
   960 \(bu
       
   961 署名者に該当するキーストアエントリの別名。この別名は括弧で囲まれます。
       
   962 ただし、キーストアではなく JDK 1.1 のアイデンティティデータベースに由来する
       
   963 署名者の場合は、括弧ではなく角括弧で囲まれます。
       
   964 .RE
       
   965 .TP
       
   966 .B -verbose
       
   967 コマンド行でこのオプションが指定されている場合、
       
   968 .B jarsigner
       
   969 は「冗長」モードで動作し、JAR の署名または検証の進行状況に関する追加情報を出
       
   970 力します。
       
   971 .TP
       
   972 .B -internalsf
       
   973 以前は、JAR ファイルの署名時に生成された 
       
   974 .B .DSA
       
   975 (署名ブロック) ファイルの中に、生成された 
       
   976 .B .SF
       
   977 ファイル (署名ファイル) の完全なコピーが符号化された形で含まれていました。この
       
   978 動作は変更になり、現在では、出力 JAR ファイル全体のサイズを小さくするために、
       
   979 デフォルトでは
       
   980 .B .SF 
       
   981 ファイルが 
       
   982 .B .DSA
       
   983 ファイルに含まれないようになっています。ただし、コマンド行で 
       
   984 .B -internalsf
       
   985 オプションを指定すると、以前と同じように動作します。このオプションは、テストを行う
       
   986 場合には便利ですが、それ以外には使用しないでください。このオプションを使用する
       
   987 と、有益な最適化が行われなくなります。
       
   988 .TP
       
   989 .B -sectionsonly
       
   990 コマンド行でこのオプションが指定されている場合、JAR ファイルの署名時に生成される 
       
   991 .B .SF
       
   992 ファイル (署名ファイル) には、マニフェストファイル全体のハッシュを含むヘッダは追加されません。この場合、.SF ファイルに含まれるのは、JAR ファイル内の各ソースファイルに関する情報およびハッシュだけです。詳細は、「署名 (\f3.SF\f1) ファイル」を参照してください。
       
   993 .RS 
       
   994 .LP
       
   995 デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダ
       
   996 が追加されます。ヘッダが存在する場合は、JAR ファイルの検証時に、まずヘッダ内
       
   997 のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認
       
   998 されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致
       
   999 しない場合は、効率的には劣る方法を使って検証を行います。具体的には、
       
  1000 .B .SF 
       
  1001 ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の
       
  1002 対応するセクションのハッシュと一致するかどうかを確認します。
       
  1003 .LP
       
  1004 詳細は、「JAR ファイルの検証」を参照してください。
       
  1005 .LP
       
  1006 このオプションは、テストを行う場合には便利ですが、それ以外には使用しないで
       
  1007 ください。このオプションを使用すると、有益な最適化が行われなくなります。
       
  1008 .TP
       
  1009 .B -protected
       
  1010 \f2true\fP、\f2false\fP のいずれか。専用 PIN リーダなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。
       
  1011 .RE
       
  1012 .TP
       
  1013 .B \-provider  provider_class_name
       
  1014 サービスプロバイダがセキュリティプロパティファイル (\f2java.security\fP) のリストに
       
  1015 入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの
       
  1016 名前を指定します。
       
  1017 .LP
       
  1018 \f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。 
       
  1019 .RS 3
       
  1020 
       
  1021 .LP
       
  1022 .nf
       
  1023 \f3
       
  1024 .fl
       
  1025 jarsigner \-keystore NONE \-storetype PKCS11 \\
       
  1026 .fl
       
  1027           \-providerClass sun.security.pkcs11.SunPKCS11 \\
       
  1028 .fl
       
  1029           \-providerArg /foo/bar/token.config \\
       
  1030 .fl
  1262 .fl
  1031           \-list
  1263           \-list
  1032 .fl
  1264 .fl
  1033 \fP
  1265 \fP
  1034 .fi
  1266 .fi
  1035 .RE
  1267 .RE
  1036 .TP 3
  1268 .TP 3
  1037 .B \-providerName providerName 
  1269 \-providerName providerName 
  1038 \f2java.security\fP セキュリティプロパティファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前になります。 
  1270 \f2java.security\fP 祉ャc若c若<ゃ 2 や札筝ゃ荐絎翫\f2\-providerName\fP 激с潟篏帥c劫ゃゃ潟鴻帥潟鴻御с障激с潟綣違ゃс 
  1039 .LP
  1271 .LP
  1040 Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP の形式になります。ここで、\f2TokenName\fP は、プロバイダインスタンスの設定時に使用した名前のサフィックスです。詳細については、
  1272 Sun PKCS#11 ゃ翫\f2providerName\fP  \f2SunPKCS11\-\fP\f2TokenName\fP 綵√障 с\f2TokenName\fPゃゃ潟鴻帥潟鴻罕・絨乗с 荅括完
  1041 .fi
       
  1042 http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS
       
  1043
       
  1044 .na
  1273 .na
  1045 「\f2configuration attributes table\fP」を参照してください。たとえば、次のコマンドは、名前サフィックス \f2SmartCard\fP を持つ PKCS#11 キーストアプロバイダインスタンスの内容を一覧表示します。 
  1274 \f2罕絮с茵\fP @
  1046 .RS 3
  1275 .fi
  1047 
  1276 http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSс違篁ヤ潟潟с・絨乗 \f2SmartCard\fP  PKCS#11 若鴻≪ゃゃ潟鴻帥潟鴻絎鴻鴻障 
  1048 .LP
  1277 .RS 3
  1049 .nf
  1278 
  1050 \f3
  1279 .LP
  1051 .fl
  1280 .nf
  1052 jarsigner \-keystore NONE \-storetype PKCS11 \\
  1281 \f3
  1053 .fl
  1282 .fl
  1054         \-providerName SunPKCS11\-SmartCard \\
  1283 jarsigner \-keystore NONE \-storetype PKCS11 \\ 
       
  1284 .fl
       
  1285         \-providerName SunPKCS11\-SmartCard \\ 
  1055 .fl
  1286 .fl
  1056         \-list
  1287         \-list
  1057 .fl
  1288 .fl
  1058 \fP
  1289 \fP
  1059 .fi
  1290 .fi
  1060 .RE
  1291 .RE
  1061 .TP
  1292 .TP 3
  1062 .B \-Jjavaoption
  1293 \-Jjavaoption 
  1063 指定した 
  1294 絎 \f2javaoption\fP 絖 Java ゃ潟帥帥贋・羝<障(\f3jarsigner\fP 絎 Java ゃ潟帥帥絲障若с激с潟腥榊純с障激с潟絎茵医障<≪寂戎茯炊眼翫箴水с絎сゃ潟帥帥激с潟筝荀ц;腓冴潟潟茵 \f2java \-h\fP 障 \f2java \-X\fP ュ 
  1064 .I javaoption 
       
  1065 文字列を直接実行時システムに渡します。
       
  1066 \f3jarsigner\f1 は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリ使用を調整する場合に便利です。指定できるフラグを一覧表示するには、コマンド行で 
       
  1067 .I java -h
       
  1068 または 
       
  1069 .I java -X 
       
  1070 と入力してください。
       
  1071 .LP
  1295 .LP
  1072 .TP 3
  1296 .TP 3
  1073 \-tsa url 
  1297 \-tsa url 
  1074 JAR ファイル署名時にコマンド行に\f2「-tsa http://example.tsa.url」\fPと入力した場合、署名のタイムスタンプが生成されます。\f2http://example.tsa.url\fP という URL が、TSA (Time Stamping Authority) の場所を特定します。これは、\f2\-tsacert\fP オプション経由で見つかったどの URL よりも優先されます。\f2\-tsa\fP オプションを使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要はありません。 
  1298 JAR <ゃ臀峨潟潟茵\f2\-tsa http://example.tsa.url\fP茵腓冴翫臀峨帥ゃ鴻帥潟障URL \f2http://example.tsa.url\fP TSA (Time Stamping Authority) 贋劫障\f2\-tsacert\fP 激с潟ф冴 URL 若若ゃ障\f2\-tsa\fP 激с潟сTSA 笈┝吾若鴻≪臀綽荀障 
  1075 .LP
  1299 .LP
  1076 タイムスタンプを生成するために、\f2jarsigner\fP は、
  1300 帥ゃ鴻帥潟\f2jarsigner\fP  
  1077 .fi
       
  1078 http://www.ietf.org/rfc/rfc3161.txt
       
  1079
       
  1080 .na
  1301 .na
  1081 「\f2RFC 3161\fP」で規定された TSP (Time\-Stamp Protocol) を使って TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンが、署名とともに署名ブロックファイル内に格納されます。 
  1302 \f2RFC 3161\fP @
       
  1303 .fi
       
  1304 http://www.ietf.org/rfc/rfc3161.txt у臂 TSP (Time\-Stamp Protocol) 篏睡 TSA 篆<障TSA 菴帥ゃ鴻帥潟若潟臀峨<ゃ臀峨篆絖障 
  1082 .LP
  1305 .LP
  1083 .TP 3
  1306 .TP 3
  1084 \-tsacert alias 
  1307 \-tsacert alias 
  1085 JAR ファイル署名時にコマンド行に\f2「-tsacert alias」\fPと表示された場合、署名のタイムスタンプが生成されます。\f2alias\fP は、キーストア内で現在有効になっている TSA の公開鍵証明書を特定します。そのエントリの証明書内で、TSA の場所を特定する URL を含む Subject Information Access 拡張が検索されます。 
  1308 JAR <ゃ臀峨潟潟茵\f2\-tsacert alias\fP茵腓冴翫臀峨帥ゃ鴻帥潟障\f2alias\fP 若鴻√憜鴻 TSA 笈┝吾劫障潟荐惹吾сTSA 贋劫 URL  Subject Information Access ≦宍罘純腆肴障 
  1086 .LP
  1309 .LP
  1087 \f2\-tsacert\fP を使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要があります。 
  1310 TSA 笈┝吾\f2\-tsacert\fP 篏帥c翫若鴻≪臀綽荀障 
  1088 .LP
  1311 .LP
  1089 .TP 3
  1312 .TP 3
  1090 \-altsigner class 
  1313 \-altsigner class 
  1091 使用する代替署名機構を指定します。この完全修飾クラス名は、
  1314 篁f睡讐罘罕篏睡絎障絎篆蕋障劫\f2com.sun.jarsigner.ContentSigner\fP  abstract 鴻≦宍鴻<ゃ劫障鴻<ゃ吾鴻\f2\-altsignerpath\fP 激с潟c絎臂障\f2\-altsigner\fP 激с潟篏睡翫\f2jarsigner\fP 絎鴻箴臀峨罘罕篏睡障障\f2jarsigner\fP 臀峨罘罕篏睡障 
  1092 .I com.sun.jarsigner.ContentSigner
  1315 .LP
  1093 抽象クラスを拡張するクラスファイルを特定します。このクラスファイルへのパスは、
  1316 違\f2com.sun.sun.jarsigner.AuthSigner\fP 鴻箴臀峨罘罕篏睡\f2jarsigner\fP 激с潟\f2\-altsigner com.sun.jarsigner.AuthSigner\fP篏睡障 
  1094 .I \-altsignerpath
       
  1095 オプションを使って定義します。
       
  1096 .I \-altsigner
       
  1097 オプションが指定された場合、
       
  1098 .I jarsigner
       
  1099 はその指定されたクラスが提供する署名機構を使用します。それ以外の場合、
       
  1100 .I jarsigner
       
  1101 はデフォルトの署名機構を使用します。 
       
  1102 .LP
       
  1103 たとえば、\f2com.sun.sun.jarsigner.AuthSigner\fP という名前のクラスが提供する署名機構を使用するには、\f2jarsigner\fP オプション\f2「-altsigner com.sun.jarsigner.AuthSigner」\fPを使用します。
       
  1104 .LP
  1317 .LP
  1105 .TP 3
  1318 .TP 3
  1106 \-altsignerpath classpathlist 
  1319 \-altsignerpath classpathlist 
  1107 クラスファイル (このクラスファイル名は前述の \f2\-altsigner\fP オプションを使って指定) へのパスと、そのクラスが依存するすべての JAR ファイルへのパスを指定します。そのクラスファイルが JAR ファイル内に存在している場合には、次の例で示すように、その JAR ファイルへのパスを指定します。 
  1320 鴻<ゃ (鴻<ゃ筝荐 \f2\-altsigner\fP 激с潟ф絎) 潟箴絖 JAR <ゃ吾鴻絎障鴻<ゃ JAR <ゃ翫篁ヤ箴 JAR <ゃ吾鴻絎障 
  1108 .LP
  1321 .LP
  1109 絶対パス、現在のディレクトリに対する相対パスのいずれかを指定できます。複数のパスまたは JAR ファイルを \f2classpathlist\fP に含める場合には、Solaris 上ではコロン (\f2:\fP)、Windows 上ではセミコロン (\f2;\fP) をそれぞれ使ってエントリを区切ってください。このクラスがすでに検索パスに含まれている場合、このオプションを指定する必要はありません。 
  1322 腟九障鴻障憜c後障鴻絎с障\f2classpathlist\fP 茲違鴻障 JAR <ゃс障 翫鴻障 JAR <ゃSolaris 翫潟 (\f2:\fP)Windows 翫祉潟 (\f2;\fP) у阪障鴻с罎膣≪劫翫激с潟筝荀с 
  1110 .LP
  1323 .LP
  1111 クラスファイルを含む JAR ファイルへのパスを指定する例: 
  1324 鴻<ゃJAR <ゃ吾鴻絎箴腓冴障 
  1112 .RS 3
  1325 .RS 3
  1113 
  1326 
  1114 .LP
  1327 .LP
  1115 .LP
  1328 .LP
  1116 \f2\-altsignerpath /home/user/lib/authsigner.jar\fP
  1329 \f2\-altsignerpath /home/user/lib/authsigner.jar\fP
  1117 .LP
  1330 .LP
  1118 .RE
  1331 .RE
  1119 .LP
  1332 .LP
  1120 JAR ファイル名が含まれている点に注意してください。 
  1333 JAR <ゃ障羈 
  1121 .LP
  1334 .LP
  1122 クラスファイルを含む JAR ファイルへのパスを指定する例: 
  1335 鴻<ゃ JAR <ゃ吾鴻絎箴腓冴障 
  1123 .RS 3
  1336 .RS 3
  1124 .LP
  1337 .LP
  1125 \f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
  1338 \f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
  1126 .LP
  1339 .LP
  1127 .RE
  1340 .RE
  1128 .LP
  1341 .LP
  1129 JAR ファイル名が含まれていない点に注意してください。  
  1342 JAR <ゃ障  
  1130 .RE
  1343 .RE
  1131 .LP
  1344 .SH "箴"
  1132 .SH "例"
  1345 .LP
       
  1346 
  1133 .LP
  1347 .LP
  1134 .SS 
  1348 .SS 
  1135 JAR ファイルの署名
  1349 JAR <ゃ臀峨
  1136 .LP
  1350 .LP
  1137 .IX "jarsigner" "Signing a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
  1351 .RS 3
  1138 .LP
  1352 
  1139 .B bundle.jar 
  1353 .LP
  1140 という名前の JAR ファイルがあり、このファイルに、キーストアの別名が jane であるユーザの非公開鍵を使って、署名を付けるとします。キーストアは、mystore という名前で working ディレクトリにあり、キーストアのパスワードは mypass、
  1354 .LP
  1141 .I jane 
  1355 bundle.jar  JAR <ゃ障 <ゃ若鴻≪ュ jane с若吟若泣篏帥c臀峨篁障若鴻≪mystore сC ゃ working c若鴻≪鴻若 mypass\f2jane\fP 泣鴻若 j638klm 障翫罨<潟潟絎茵JAR <ゃ臀峨篁 sbundle.jar 臀峨篁 JAR <ゃ篏с障
  1142 の非公開鍵のパスワードは j638klm とします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き JAR ファイルを作成できます。
  1356 .LP
  1143 .LP
  1357 .nf
  1144 .ft 3
  1358 \f3
  1145 .nf
  1359 .fl
  1146 jarsigner \-keystore "/working/mystore" \-storepass myspass
  1360     jarsigner \-keystore /working/mystore \-storepass myspass
  1147    -keypass j638klm -signedjar sbundle.jar bundle.jar jane
  1361 .fl
  1148 .fi
  1362       \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane 
  1149 .ft 1
  1363 .fl
  1150 .LP
  1364 \fP
  1151 上のコマンドでは 
  1365 .fi
  1152 .I \-sigfile
  1366 
  1153 オプションが指定されていないので、署名付き JAR ファイルに格納される 
  1367 .LP
  1154 .B .SF
  1368 .LP
  1155 ファイルと 
  1369 筝潟潟с \f2\-sigfile\fP 激с潟絎臀峨篁 JAR <ゃ主 .SF <ゃ .DSA <ゃュゃ障ゃ障\f2JANE.SF\fP  \f2JANE.DSA\fP 障
  1156 .B .DSA
  1370 .LP
  1157 ファイルの名前は、別名に基づくデフォルトの名前になり、それぞれ 
  1371 .LP
  1158 .I JANE.SF
  1372 鴻≪鴻若泣鴻若уュ翫筝潟潟膰罨<ュс障
  1159
  1373 .LP
  1160 .I JANE.DSA
  1374 .nf
  1161 になります。
  1375 \f3
  1162 .LP
  1376 .fl
  1163 ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、
  1377     jarsigner \-keystore /working/mystore
  1164 上のコマンドを短縮して次のように入力できます。
  1378 .fl
  1165 .LP
  1379       \-signedjar sbundle.jar bundle.jar jane 
  1166 .ft 3
  1380 .fl
  1167 .nf
  1381 \fP
  1168 jarsigner \-keystore /working/mystore
  1382 .fi
  1169    -signedjar sbundle.jar bundle.jar jane
  1383 
  1170 .fi
  1384 .LP
  1171 .ft 1
  1385 .LP
  1172 .LP
  1386 若鴻 (若c .keystore 若鴻) 篏睡翫罨<腓冴若鴻≪絎ャс障
  1173 デフォルトのキーストア (ホームディレクトリ内の
  1387 .LP
  1174 .B .keystore
  1388 .nf
  1175 という名前のキーストア) を使用する場合は、次に示すように、キーストアの指定を
  1389 \f3
  1176 省略できます。
  1390 .fl
  1177 .LP
  1391     jarsigner \-signedjar sbundle.jar bundle.jar jane 
  1178 .ft 3
  1392 .fl
  1179 .nf
  1393 \fP
  1180 jarsigner \-signedjar sbundle.jar bundle.jar jane
  1394 .fi
  1181 .fi
  1395 
  1182 .ft 1
  1396 .LP
  1183 .LP
  1397 .LP
  1184 また、署名付き JAR ファイルで入力 JAR ファイル (
  1398 障臀峨篁 JAR <ゃуュ JAR <ゃ (\f2bundle.jar\fP) 筝吾翫\f2\-signedjar\fP 激с潟絎ャс障
  1185 .I bundle.jar
  1399 .LP
  1186 ) を上書きする場合は、
  1400 .nf
  1187 .I -signedjar
  1401 \f3
  1188 オプションの指定も省略できます。
  1402 .fl
  1189 .LP
  1403     jarsigner bundle.jar jane 
  1190 .ft 3
  1404 .fl
  1191 .nf
  1405 \fP
  1192 jarsigner bundle.jar jane
  1406 .fi
  1193 .fi
  1407 .RE
  1194 .ft 1
  1408 
  1195 .LP
  1409 .LP
  1196 .SS 
  1410 .SS 
  1197 署名付き JAR ファイルの検証
  1411 臀峨篁 JAR <ゃ罎荐
  1198 .LP
  1412 .LP
  1199 .IX "jarsigner" "Verifying a Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
  1413 .RS 3
  1200 .LP
  1414 
  1201 次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが
  1415 .LP
  1202 改変されていないことを確認するためのコマンド例です。
  1416 .LP
  1203 .LP
  1417 罨<腓冴臀峨篁 JAR <ゃ罎荐若臀峨鴻 JAR <ゃ劫腆肴潟潟箴с
  1204 .ft 3
  1418 .LP
  1205 .nf
  1419 .nf
  1206 jarsigner \-verify sbundle.jar
  1420 \f3
  1207 .fi
  1421 .fl
  1208 .ft 1
  1422     jarsigner \-verify sbundle.jar 
  1209 .LP
  1423 .fl
  1210 検証が成功すると、次のようなメッセージが表示されます。
  1424 \fP
  1211 .LP
  1425 .fi
  1212 .ft 3
  1426 
  1213 .nf
  1427 .LP
  1214 jar verified.
  1428 .LP
  1215 .fi
  1429 罎荐若罨<<祉若吾茵腓冴障
  1216 .ft 1
  1430 .LP
  1217 .LP
  1431 .nf
  1218 検証が成功しなかった場合は、エラーメッセージが表示されます。
  1432 \f3
  1219 .LP
  1433 .fl
  1220 .I -verbose
  1434     jar 罎荐若障
  1221 オプションを使うと、より多くの情報が表示されます。次に示すのは、
  1435 .fl
  1222 .I -verbose 
  1436 \fP
  1223 オプションを指定した 
  1437 .fi
  1224 .B jarsigner 
  1438 
  1225 の実行例とその出力結果です。
  1439 .LP
  1226 .LP
  1440 .LP
  1227 .ft 3
  1441 <祉若吾茵腓冴障罎荐若c翫若<祉若吾茵腓冴障
  1228 .nf
  1442 .LP
  1229 jarsigner -verify -verbose sbundle.jar
  1443 .LP
  1230 
  1444 \f2\-verbose\fP 激с潟篏帥紊宴茵腓冴障罨<腓冴\f2\-verbose\fP 激с潟絎 \f3jarsigner\fP 絎茵箴阪腟с
  1231              198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF
  1445 .LP
  1232              199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF
  1446 .nf
  1233             1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA
  1447 \f3
  1234       smk   2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class
  1448 .fl
  1235       smk    849 Fri Sep 26 16:12:46 PDT 1997 test.class
  1449     jarsigner \-verify \-verbose sbundle.jar
  1236 
  1450 .fl
  1237         s = signature was verified
  1451 
  1238         m = entry is listed in manifest
  1452 .fl
  1239         k = at least one certificate was found in keystore
  1453            198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF
  1240 
  1454 .fl
  1241       jar verified.
  1455            199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF
  1242 .fi
  1456 .fl
  1243 .ft 1
  1457           1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA
       
  1458 .fl
       
  1459     smk   2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class
       
  1460 .fl
       
  1461     smk    849 Fri Sep 26 16:12:46 PDT 1997 test.class
       
  1462 .fl
       
  1463 
       
  1464 .fl
       
  1465       s = 臀峨罎荐若障
       
  1466 .fl
       
  1467       m = 潟с鴻鴻障
       
  1468 .fl
       
  1469       k = 1 や札筝荐惹吾若鴻≪ф冴障
       
  1470 .fl
       
  1471 
       
  1472 .fl
       
  1473     jar 罎荐若障
       
  1474 .fl
       
  1475 \fP
       
  1476 .fi
       
  1477 
  1244 .LP
  1478 .LP
  1245 .SS 
  1479 .SS 
  1246 証明書情報を使った検証
  1480 荐惹御宴篏帥c罎荐
  1247 .LP
  1481 .LP
  1248 .IX "jarsigner" "Verification with Certificate Information" "\fLjarsigner\fP \(em JAR signing and verification tool "
  1482 .LP
  1249 
  1483 罎荐惹\f2\-verify\fP  \f2\-verbose\fP 激с潟 \f2\-certs\fP 激с潟絎翫JAR <ゃ臀峨荐惹御宴阪障 荐惹吾帥ゃ臀峨茘ュ (X.509 荐惹吾翫) JAR <ゃ泣荐惹吾若鴻≪潟泣荐惹吾筝眼翫綣су蚊障臀峨若鴻√ュ障障罨<箴腓冴障
  1250 検証時に、
  1484 .LP
  1251 .I -verify 
  1485 .nf
  1252
  1486 \f3
  1253 .I -verbose 
  1487 .fl
  1254 オプションに加えて 
  1488     jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar
  1255 .I -certs
  1489 .fl
  1256 オプションを指定した場合は、JAR ファイル内の各署名者の証明書情報も出力されま
  1490 
  1257 す。これには、証明書のタイプ、署名者の識別名情報 (X.509 証明書の場合)、および、
  1491 .fl
  1258 JAR ファイルの公開鍵の証明書がキーストアエントリの公開鍵の証明書と一致する場合
  1492            198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF
  1259 には、括弧で囲まれた署名者のキーストア別名が含まれます。たとえば、次のように
  1493 .fl
  1260 出力されます。
  1494            199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF
  1261 .LP
  1495 .fl
  1262 .ft 3
  1496           1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA
  1263 .nf
  1497 .fl
  1264  jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar
  1498            208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF
  1265 
  1499 .fl
  1266       198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF
  1500           1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA
  1267       199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF
  1501 .fl
  1268      1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA
  1502     smk   2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class
  1269       208 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.SF
  1503 .fl
  1270      1087 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.DSA
  1504 
  1271 smk  2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class
  1505 .fl
  1272 
  1506       X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest)
  1273  X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest)
  1507 .fl
  1274  X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
  1508       X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
  1275 
  1509 .fl
  1276  s = signature was verified
  1510 
  1277  m = entry is listed in manifest
  1511 .fl
  1278  k = at least one certificate was found in keystore
  1512       s = 臀峨罎荐若障
  1279 
  1513 .fl
  1280 jar verified.
  1514       m = 潟с鴻鴻障
  1281 .fi
  1515 .fl
  1282 .ft 1
  1516       k = 1 や札筝荐惹吾若鴻≪ф冴障
  1283 .LP
  1517 .fl
  1284 署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されず、証明書の
  1518 
  1285 タイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の
  1519 .fl
  1286 場合は、次のように表示されます。
  1520     jar 罎荐若障 
  1287 .LP
  1521 .fl
  1288 .ft 3
  1522 \fP
  1289 .nf
  1523 .fi
  1290 PGP, (bob)
  1524 
  1291 .fi
  1525 .LP
  1292 .ft 1
  1526 .LP
       
  1527 臀峨荐惹吾 X.509 荐惹吾с翫茘ュ宴茵腓冴障翫荐惹吾帥ゃュ茵腓冴障違荐惹吾 PGP 荐惹吾сュ bob 翫罨<茵腓冴障
       
  1528 .LP
       
  1529 .nf
       
  1530 \f3
       
  1531 .fl
       
  1532       PGP, (bob)
       
  1533 .fl
       
  1534 \fP
       
  1535 .fi
       
  1536 
  1293 .LP
  1537 .LP
  1294 .SS 
  1538 .SS 
  1295 アイデンティティデータベース署名者を含む JAR ファイルの検証
  1539 ≪ゃ潟cc若若帥若鴻臀峨 JAR <ゃ罎荐
  1296 .LP
  1540 .LP
  1297 .IX "jarsigner" "Verification of a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
  1541 .LP
  1298 JAR ファイルが、JDK 1.1 の
  1542 JAR <ゃJDK 1.1  \f3javakey\fP 若篏帥c臀峨翫臀峨≪ゃ潟cc若若帥若劫ュс 翫罎荐若阪 i 荐垩障障JAR <ゃ≪ゃ潟cc若若帥若劫ュ若鴻√ュ筝≧鴻c臀峨翫k  i 筝≧鴻茵腓冴障
  1299 .B javakey
  1543 .LP
  1300 ツールを使って署名されている場合、署名者はアイデンティティデータベース内の
  1544 .LP
  1301 別名です。この場合、検証の出力には i という記号が含まれます。JAR ファイルが、
  1545 \f2\-certs\fP 激с潟絎翫若鴻≪ュ綣су蚊障絲障≪ゃ潟cc若若帥若劫ュ茹綣су蚊障茵腓冴障箴腓冴障
  1302 アイデンティティデータベース内の別名とキーストア内の別名の両方によって署名
  1546 .LP
  1303 されている場合は、k と i の両方が表示されます。
  1547 .nf
  1304 .LP
  1548 \f3
  1305 .I -certs
  1549 .fl
  1306 オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティ
  1550     jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
  1307 ティデータベース内の別名は角括弧で囲まれて表示されます。たとえば、次のように
  1551 .fl
  1308 表示されます。
  1552 
  1309 .LP
  1553 .fl
  1310 .ft 3
  1554            198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF
  1311 .nf
  1555 .fl
  1312 jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
  1556            199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF
  1313 
  1557 .fl
  1314       198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF
  1558           1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA
  1315       199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF
  1559 .fl
  1316      1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA
  1560            199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF
  1317       199 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.SF
  1561 .fl
  1318      1013 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.DSA
  1562           1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA
  1319 smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html
  1563 .fl
  1320 
  1564    smki   2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html
  1321  X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
  1565 .fl
  1322  X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke]
  1566 
  1323 
  1567 .fl
  1324  s = signature was verified
  1568       X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
  1325  m = entry is listed in manifest
  1569 .fl
  1326  k = at least one certificate was found in keystore
  1570       X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke]
  1327  i = at least one certificate was found in identity scope
  1571 .fl
  1328 
  1572 
  1329 jar verified.
  1573 .fl
  1330 .fi
  1574       s = 臀峨罎荐若障
  1331 .ft 1
  1575 .fl
  1332 .LP
  1576       m = 潟с鴻鴻障
  1333 別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、
  1577 .fl
  1334 アイデンティティデータベースの別名です。
  1578       k = 1 や札筝荐惹吾若鴻≪ф冴障
  1335 .SH "関連項目"
  1579 .fl
  1336 .LP
  1580       i = 1 や札筝荐惹吾≪ゃ潟cc若鴻潟若ф冴障
  1337 
  1581 .fl
  1338 .LP
  1582 
  1339 .RS 3
  1583 .fl
  1340 .TP 2
  1584     jar 罎荐若障
  1341 o
  1585 .fl
  1342 jar ツールのドキュメント 
  1586 \fP
  1343 .TP 2
  1587 .fi
  1344 o
  1588 
  1345 keytool ツールのドキュメント 
  1589 .LP
  1346 .TP 2
  1590 .LP
  1347 o
  1591 ュ duke 茹綣су蚊障сュ若鴻≪ュс≪ゃ潟cc若若帥若鴻ュс
  1348 \f3jarsigner\fP ツールの使用例については、「Java Tutorial」
  1592 .LP
  1349 (http://java.sun.com/docs/books/tutorial/trailmap.html)
  1593 .RE
  1350 の「Security」( http://java.sun.com/docs/books/tutorial/security1.2/index.html) 
  1594 .SH "∫i"
  1351 を参照
  1595 .LP
       
  1596 
       
  1597 .LP
       
  1598 .RS 3
       
  1599 .TP 2
       
  1600 o
       
  1601 jar(1) 若ャ<潟 
       
  1602 .TP 2
       
  1603 o
       
  1604 keytool(1) 若ャ<潟 
       
  1605 .TP 2
       
  1606 o
       
  1607 \f3jarsigner\fP 若篏睡箴ゃ
  1352 .na
  1608 .na
       
  1609 \f4Java Tutorial\fP @
       
  1610 .fi
       
  1611 http://java.sun.com/docs/books/tutorial/index.html
       
  1612 .na
       
  1613 \f4Security\fP @
       
  1614 .fi
       
  1615 http://java.sun.com/docs/books/tutorial/security/index.html 
  1353 .RE
  1616 .RE
  1354 
  1617 
  1355 .LP
  1618 .LP
  1356 
  1619 
  1357 .LP
  1620 .LP