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