1 /*
   2  * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package sun.security.tools.jarsigner;
  27 
  28 /**
  29  * <p> This class represents the <code>ResourceBundle</code>
  30  * for JarSigner.
  31  *
  32  */
  33 public class Resources_zh_CN extends java.util.ListResourceBundle {
  34 
  35     private static final Object[][] contents = {
  36 
  37         // shared (from jarsigner)
  38         {"SPACE", " "},
  39         {"2SPACE", "  "},
  40         {"6SPACE", "      "},
  41         {"COMMA", ", "},
  42 
  43         {"provclass.not.a.provider", "%s\u4E0D\u662F\u63D0\u4F9B\u65B9"},
  44         {"provider.name.not.found", "\u672A\u627E\u5230\u540D\u4E3A \"%s\" \u7684\u63D0\u4F9B\u65B9"},
  45         {"provider.class.not.found", "\u672A\u627E\u5230\u63D0\u4F9B\u65B9 \"%s\""},
  46         {"jarsigner.error.", "jarsigner \u9519\u8BEF: "},
  47         {"Illegal.option.", "\u975E\u6CD5\u9009\u9879: "},
  48         {"This.option.is.deprecated", "\u6B64\u9009\u9879\u5DF2\u8FC7\u65F6: "},
  49         {".keystore.must.be.NONE.if.storetype.is.{0}",
  50                 "\u5982\u679C -storetype \u4E3A {0}, \u5219 -keystore \u5FC5\u987B\u4E3A NONE"},
  51         {".keypass.can.not.be.specified.if.storetype.is.{0}",
  52                 "\u5982\u679C -storetype \u4E3A {0}, \u5219\u4E0D\u80FD\u6307\u5B9A -keypass"},
  53         {"If.protected.is.specified.then.storepass.and.keypass.must.not.be.specified",
  54                 "\u5982\u679C\u6307\u5B9A\u4E86 -protected, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass \u548C -keypass"},
  55         {"If.keystore.is.not.password.protected.then.storepass.and.keypass.must.not.be.specified",
  56                  "\u5982\u679C\u5BC6\u94A5\u5E93\u672A\u53D7\u53E3\u4EE4\u4FDD\u62A4, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass \u548C -keypass"},
  57         {"Usage.jarsigner.options.jar.file.alias",
  58                 "\u7528\u6CD5: jarsigner [\u9009\u9879] jar-file \u522B\u540D"},
  59         {".jarsigner.verify.options.jar.file.alias.",
  60                 "       jarsigner -verify [\u9009\u9879] jar-file [\u522B\u540D...]"},
  61         {".keystore.url.keystore.location",
  62                 "[-keystore <url>]           \u5BC6\u94A5\u5E93\u4F4D\u7F6E"},
  63         {".storepass.password.password.for.keystore.integrity",
  64             "[-storepass <\u53E3\u4EE4>]         \u7528\u4E8E\u5BC6\u94A5\u5E93\u5B8C\u6574\u6027\u7684\u53E3\u4EE4"},
  65         {".storetype.type.keystore.type",
  66                 "[-storetype <\u7C7B\u578B>]         \u5BC6\u94A5\u5E93\u7C7B\u578B"},
  67         {".keypass.password.password.for.private.key.if.different.",
  68                 "[-keypass <\u53E3\u4EE4>]           \u79C1\u6709\u5BC6\u94A5\u7684\u53E3\u4EE4 (\u5982\u679C\u4E0D\u540C)"},
  69         {".certchain.file.name.of.alternative.certchain.file",
  70                 "[-certchain <\u6587\u4EF6>]         \u66FF\u4EE3\u8BC1\u4E66\u94FE\u6587\u4EF6\u7684\u540D\u79F0"},
  71         {".sigfile.file.name.of.SF.DSA.file",
  72                 "[-sigfile <\u6587\u4EF6>]           .SF/.DSA \u6587\u4EF6\u7684\u540D\u79F0"},
  73         {".signedjar.file.name.of.signed.JAR.file",
  74                 "[-signedjar <\u6587\u4EF6>]         \u5DF2\u7B7E\u540D\u7684 JAR \u6587\u4EF6\u7684\u540D\u79F0"},
  75         {".digestalg.algorithm.name.of.digest.algorithm",
  76                 "[-digestalg <\u7B97\u6CD5>]        \u6458\u8981\u7B97\u6CD5\u7684\u540D\u79F0"},
  77         {".sigalg.algorithm.name.of.signature.algorithm",
  78                 "[-sigalg <\u7B97\u6CD5>]           \u7B7E\u540D\u7B97\u6CD5\u7684\u540D\u79F0"},
  79         {".verify.verify.a.signed.JAR.file",
  80                 "[-verify]                   \u9A8C\u8BC1\u5DF2\u7B7E\u540D\u7684 JAR \u6587\u4EF6"},
  81         {".verbose.suboptions.verbose.output.when.signing.verifying.",
  82                 "[-verbose[:suboptions]]     \u7B7E\u540D/\u9A8C\u8BC1\u65F6\u8F93\u51FA\u8BE6\u7EC6\u4FE1\u606F\u3002"},
  83         {".suboptions.can.be.all.grouped.or.summary",
  84                 "                            \u5B50\u9009\u9879\u53EF\u4EE5\u662F all, grouped \u6216 summary"},
  85         {".certs.display.certificates.when.verbose.and.verifying",
  86                 "[-certs]                    \u8F93\u51FA\u8BE6\u7EC6\u4FE1\u606F\u548C\u9A8C\u8BC1\u65F6\u663E\u793A\u8BC1\u4E66"},
  87         {".tsa.url.location.of.the.Timestamping.Authority",
  88                 "[-tsa <url>]                \u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684\u4F4D\u7F6E"},
  89         {".tsacert.alias.public.key.certificate.for.Timestamping.Authority",
  90                 "[-tsacert <\u522B\u540D>]           \u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684\u516C\u5171\u5BC6\u94A5\u8BC1\u4E66"},
  91         {".tsapolicyid.tsapolicyid.for.Timestamping.Authority",
  92                 "[-tsapolicyid <oid>]        \u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684 TSAPolicyID"},
  93         {".tsadigestalg.algorithm.of.digest.data.in.timestamping.request",
  94                 "[-tsadigestalg <\u7B97\u6CD5>]      \u65F6\u95F4\u6233\u8BF7\u6C42\u4E2D\u7684\u6458\u8981\u6570\u636E\u7684\u7B97\u6CD5"},
  95         {".altsigner.class.class.name.of.an.alternative.signing.mechanism",
  96                 "[-altsigner <\u7C7B>]           \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u7C7B\u540D\n                            (\u6B64\u9009\u9879\u5DF2\u8FC7\u65F6\u3002)"},
  97         {".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism",
  98                 "[-altsignerpath <\u8DEF\u5F84\u5217\u8868>] \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u4F4D\u7F6E\n                            (\u6B64\u9009\u9879\u5DF2\u8FC7\u65F6\u3002)"},
  99         {".internalsf.include.the.SF.file.inside.the.signature.block",
 100                 "[-internalsf]               \u5728\u7B7E\u540D\u5757\u5185\u5305\u542B .SF \u6587\u4EF6"},
 101         {".sectionsonly.don.t.compute.hash.of.entire.manifest",
 102                 "[-sectionsonly]             \u4E0D\u8BA1\u7B97\u6574\u4E2A\u6E05\u5355\u7684\u6563\u5217"},
 103         {".protected.keystore.has.protected.authentication.path",
 104                 "[-protected]                \u5BC6\u94A5\u5E93\u5177\u6709\u53D7\u4FDD\u62A4\u9A8C\u8BC1\u8DEF\u5F84"},
 105         {".providerName.name.provider.name",
 106                 "[-providerName <\u540D\u79F0>]      \u63D0\u4F9B\u65B9\u540D\u79F0"},
 107         {".add.provider.option",
 108                 "[-addprovider <\u540D\u79F0>        \u6309\u540D\u79F0 (\u4F8B\u5982 SunPKCS11) \u6DFB\u52A0\u5B89\u5168\u63D0\u4F9B\u65B9"},
 109         {".providerArg.option.1",
 110                 "  [-providerArg <\u53C2\u6570>]] ... \u914D\u7F6E -addprovider \u7684\u53C2\u6570"},
 111         {".providerClass.option",
 112                 "[-providerClass <\u7C7B>     \u6309\u5168\u9650\u5B9A\u7C7B\u540D\u6DFB\u52A0\u5B89\u5168\u63D0\u4F9B\u65B9"},
 113         {".providerArg.option.2",
 114                 "  [-providerArg <\u53C2\u6570>]] ... \u914D\u7F6E -providerClass \u7684\u53C2\u6570"},
 115         {".strict.treat.warnings.as.errors",
 116                 "[-strict]                   \u5C06\u8B66\u544A\u89C6\u4E3A\u9519\u8BEF"},
 117         {".conf.url.specify.a.pre.configured.options.file",
 118                 "[-conf <url>]               \u6307\u5B9A\u9884\u914D\u7F6E\u7684\u9009\u9879\u6587\u4EF6"},
 119         {".print.this.help.message",
 120                 "[-? -h --help]              \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F"},
 121         {"Option.lacks.argument", "\u9009\u9879\u7F3A\u5C11\u53C2\u6570"},
 122         {"Please.type.jarsigner.help.for.usage", "\u8BF7\u952E\u5165 jarsigner --help \u4EE5\u4E86\u89E3\u7528\u6CD5"},
 123         {"Please.specify.jarfile.name", "\u8BF7\u6307\u5B9A jarfile \u540D\u79F0"},
 124         {"Please.specify.alias.name", "\u8BF7\u6307\u5B9A\u522B\u540D"},
 125         {"Only.one.alias.can.be.specified", "\u53EA\u80FD\u6307\u5B9A\u4E00\u4E2A\u522B\u540D"},
 126         {"This.jar.contains.signed.entries.which.is.not.signed.by.the.specified.alias.es.",
 127                  "\u6B64 jar \u5305\u542B\u672A\u7531\u6307\u5B9A\u522B\u540D\u7B7E\u540D\u7684\u5DF2\u7B7E\u540D\u6761\u76EE\u3002"},
 128         {"This.jar.contains.signed.entries.that.s.not.signed.by.alias.in.this.keystore.",
 129                   "\u6B64 jar \u5305\u542B\u672A\u7531\u6B64\u5BC6\u94A5\u5E93\u4E2D\u7684\u522B\u540D\u7B7E\u540D\u7684\u5DF2\u7B7E\u540D\u6761\u76EE\u3002"},
 130         {"s", "s"},
 131         {"m", "m"},
 132         {"k", "k"},
 133         {".and.d.more.", "(%d \u53CA\u4EE5\u4E0A)"},
 134         {".s.signature.was.verified.",
 135                 "  s = \u5DF2\u9A8C\u8BC1\u7B7E\u540D "},
 136         {".m.entry.is.listed.in.manifest",
 137                 "  m = \u5728\u6E05\u5355\u4E2D\u5217\u51FA\u6761\u76EE"},
 138         {".k.at.least.one.certificate.was.found.in.keystore",
 139                 "  k = \u5728\u5BC6\u94A5\u5E93\u4E2D\u81F3\u5C11\u627E\u5230\u4E86\u4E00\u4E2A\u8BC1\u4E66"},
 140         {".X.not.signed.by.specified.alias.es.",
 141                 "  X = \u672A\u7531\u6307\u5B9A\u522B\u540D\u7B7E\u540D"},
 142         {"no.manifest.", "\u6CA1\u6709\u6E05\u5355\u3002"},
 143         {".Signature.related.entries.","(\u4E0E\u7B7E\u540D\u76F8\u5173\u7684\u6761\u76EE)"},
 144         {".Unsigned.entries.", "(\u672A\u7B7E\u540D\u6761\u76EE)"},
 145         {"jar.is.unsigned",
 146                 "jar \u672A\u7B7E\u540D\u3002"},
 147         {"jar.treated.unsigned",
 148                 "\u8B66\u544A: \u7B7E\u540D\u65E0\u6CD5\u89E3\u6790\u6216\u9A8C\u8BC1, \u8BE5 jar \u5C06\u88AB\u89C6\u4E3A\u672A\u7B7E\u540D\u3002\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u5728\u542F\u7528\u8C03\u8BD5\u7684\u60C5\u51B5\u4E0B\u91CD\u65B0\u8FD0\u884C jarsigner (-J-Djava.security.debug=jar)\u3002"},
 149         {"jar.treated.unsigned.see.weak",
 150                 "\u7531\u4E8E\u8BE5 jar \u662F\u4F7F\u7528\u76EE\u524D\u5DF2\u7981\u7528\u7684\u5F31\u7B97\u6CD5\u7B7E\u540D\u7684, \u56E0\u6B64\u8BE5 jar \u5C06\u88AB\u89C6\u4E3A\u672A\u7B7E\u540D\u3002\n\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -verbose \u9009\u9879\u91CD\u65B0\u8FD0\u884C jarsigner\u3002"},
 151         {"jar.treated.unsigned.see.weak.verbose",
 152                 "\u8B66\u544A: \u8BE5 jar \u5C06\u88AB\u89C6\u4E3A\u672A\u7B7E\u540D, \u56E0\u4E3A\u5B83\u662F\u7531\u76EE\u524D\u5B89\u5168\u5C5E\u6027\u7981\u7528\u7684\u5F31\u7B97\u6CD5\u7B7E\u540D\u7684:"},
 153         {"jar.signed.", "jar \u5DF2\u7B7E\u540D\u3002"},
 154         {"jar.signed.with.signer.errors.", "jar \u5DF2\u7B7E\u540D, \u4F46\u51FA\u73B0\u7B7E\u540D\u8005\u9519\u8BEF\u3002"},
 155         {"jar.verified.", "jar \u5DF2\u9A8C\u8BC1\u3002"},
 156         {"jar.verified.with.signer.errors.", "jar \u5DF2\u9A8C\u8BC1, \u4F46\u51FA\u73B0\u7B7E\u540D\u8005\u9519\u8BEF\u3002"},
 157 
 158         {"history.with.ts", "- \u7531 \"%1$s\" \u7B7E\u540D\n    \u6458\u8981\u7B97\u6CD5: %2$s\n    \u7B7E\u540D\u7B97\u6CD5: %3$s, %4$s\n  \u7531 \"%6$s\" \u4E8E %5$tc \u52A0\u65F6\u95F4\u6233\n    \u65F6\u95F4\u6233\u6458\u8981\u7B97\u6CD5: %7$s\n    \u65F6\u95F4\u6233\u7B7E\u540D\u7B97\u6CD5: %8$s, %9$s"},
 159         {"history.without.ts", "- \u7531 \"%1$s\" \u7B7E\u540D\n    \u6458\u8981\u7B97\u6CD5: %2$s\n    \u7B7E\u540D\u7B97\u6CD5: %3$s, %4$s"},
 160         {"history.unparsable", "- \u65E0\u6CD5\u89E3\u6790\u7684\u4E0E\u7B7E\u540D\u76F8\u5173\u7684\u6587\u4EF6 %s"},
 161         {"history.nosf", "- \u7F3A\u5C11\u4E0E\u7B7E\u540D\u76F8\u5173\u7684\u6587\u4EF6 META-INF/%s.SF"},
 162         {"history.nobk", "- \u4E0E\u7B7E\u540D\u76F8\u5173\u7684\u6587\u4EF6 META-INF/%s.SF \u7F3A\u5C11\u5757\u6587\u4EF6"},
 163 
 164         {"with.weak", "%s (\u5F31)"},
 165         {"key.bit", "%d \u4F4D\u5BC6\u94A5"},
 166         {"key.bit.weak", "%d \u4F4D\u5BC6\u94A5 (\u5F31)"},
 167         {"unknown.size", "\u672A\u77E5\u5927\u5C0F"},
 168 
 169         {"jarsigner.", "jarsigner: "},
 170         {"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.",
 171                 "\u7B7E\u540D\u6587\u4EF6\u540D\u5FC5\u987B\u5305\u542B\u4EE5\u4E0B\u5B57\u7B26: A-Z, 0-9, _ \u6216 -"},
 172         {"unable.to.open.jar.file.", "\u65E0\u6CD5\u6253\u5F00 jar \u6587\u4EF6: "},
 173         {"unable.to.create.", "\u65E0\u6CD5\u521B\u5EFA: "},
 174         {".adding.", "   \u6B63\u5728\u6DFB\u52A0: "},
 175         {".updating.", " \u6B63\u5728\u66F4\u65B0: "},
 176         {".signing.", "  \u6B63\u5728\u7B7E\u540D: "},
 177         {"attempt.to.rename.signedJarFile.to.jarFile.failed",
 178                 "\u5C1D\u8BD5\u5C06{0}\u91CD\u547D\u540D\u4E3A{1}\u65F6\u5931\u8D25"},
 179         {"attempt.to.rename.jarFile.to.origJar.failed",
 180                 "\u5C1D\u8BD5\u5C06{0}\u91CD\u547D\u540D\u4E3A{1}\u65F6\u5931\u8D25"},
 181         {"unable.to.sign.jar.", "\u65E0\u6CD5\u5BF9 jar \u8FDB\u884C\u7B7E\u540D: "},
 182         {"Enter.Passphrase.for.keystore.", "\u8F93\u5165\u5BC6\u94A5\u5E93\u7684\u5BC6\u7801\u77ED\u8BED: "},
 183         {"keystore.load.", "\u5BC6\u94A5\u5E93\u52A0\u8F7D: "},
 184         {"certificate.exception.", "\u8BC1\u4E66\u5F02\u5E38\u9519\u8BEF: "},
 185         {"unable.to.instantiate.keystore.class.",
 186                 "\u65E0\u6CD5\u5B9E\u4F8B\u5316\u5BC6\u94A5\u5E93\u7C7B: "},
 187         {"Certificate.chain.not.found.for.alias.alias.must.reference.a.valid.KeyStore.key.entry.containing.a.private.key.and",
 188                 "\u627E\u4E0D\u5230{0}\u7684\u8BC1\u4E66\u94FE\u3002{1}\u5FC5\u987B\u5F15\u7528\u5305\u542B\u79C1\u6709\u5BC6\u94A5\u548C\u76F8\u5E94\u7684\u516C\u5171\u5BC6\u94A5\u8BC1\u4E66\u94FE\u7684\u6709\u6548\u5BC6\u94A5\u5E93\u5BC6\u94A5\u6761\u76EE\u3002"},
 189         {"File.specified.by.certchain.does.not.exist",
 190                 "\u7531 -certchain \u6307\u5B9A\u7684\u6587\u4EF6\u4E0D\u5B58\u5728"},
 191         {"Cannot.restore.certchain.from.file.specified",
 192                 "\u65E0\u6CD5\u4ECE\u6307\u5B9A\u7684\u6587\u4EF6\u8FD8\u539F certchain"},
 193         {"Certificate.chain.not.found.in.the.file.specified.",
 194                 "\u5728\u6307\u5B9A\u7684\u6587\u4EF6\u4E2D\u627E\u4E0D\u5230\u8BC1\u4E66\u94FE\u3002"},
 195         {"found.non.X.509.certificate.in.signer.s.chain",
 196                 "\u5728\u7B7E\u540D\u8005\u7684\u94FE\u4E2D\u627E\u5230\u975E X.509 \u8BC1\u4E66"},
 197         {"incomplete.certificate.chain", "\u8BC1\u4E66\u94FE\u4E0D\u5B8C\u6574"},
 198         {"Enter.key.password.for.alias.", "\u8F93\u5165{0}\u7684\u5BC6\u94A5\u53E3\u4EE4: "},
 199         {"unable.to.recover.key.from.keystore",
 200                 "\u65E0\u6CD5\u4ECE\u5BC6\u94A5\u5E93\u4E2D\u6062\u590D\u5BC6\u94A5"},
 201         {"key.associated.with.alias.not.a.private.key",
 202                 "\u4E0E{0}\u5173\u8054\u7684\u5BC6\u94A5\u4E0D\u662F\u79C1\u6709\u5BC6\u94A5"},
 203         {"you.must.enter.key.password", "\u5FC5\u987B\u8F93\u5165\u5BC6\u94A5\u53E3\u4EE4"},
 204         {"unable.to.read.password.", "\u65E0\u6CD5\u8BFB\u53D6\u53E3\u4EE4: "},
 205         {"certificate.is.valid.from", "\u8BC1\u4E66\u7684\u6709\u6548\u671F\u4E3A{0}\u81F3{1}"},
 206         {"certificate.expired.on", "\u8BC1\u4E66\u5230\u671F\u65E5\u671F\u4E3A {0}"},
 207         {"certificate.is.not.valid.until",
 208                 "\u76F4\u5230{0}, \u8BC1\u4E66\u624D\u6709\u6548"},
 209         {"certificate.will.expire.on", "\u8BC1\u4E66\u5C06\u5728{0}\u5230\u671F"},
 210         {".Invalid.certificate.chain.", "[\u65E0\u6548\u7684\u8BC1\u4E66\u94FE: "},
 211         {".Invalid.TSA.certificate.chain.", "[\u65E0\u6548 TSA \u7684\u8BC1\u4E66\u94FE: "},
 212         {"requesting.a.signature.timestamp",
 213                 "\u6B63\u5728\u8BF7\u6C42\u7B7E\u540D\u65F6\u95F4\u6233"},
 214         {"TSA.location.", "TSA \u4F4D\u7F6E: "},
 215         {"TSA.certificate.", "TSA \u8BC1\u4E66: "},
 216         {"no.response.from.the.Timestamping.Authority.",
 217                 "\u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u6CA1\u6709\u54CD\u5E94\u3002\u5982\u679C\u8981\u4ECE\u9632\u706B\u5899\u540E\u9762\u8FDE\u63A5, \u5219\u53EF\u80FD\u9700\u8981\u6307\u5B9A HTTP \u6216 HTTPS \u4EE3\u7406\u3002\u8BF7\u4E3A jarsigner \u63D0\u4F9B\u4EE5\u4E0B\u9009\u9879: "},
 218         {"or", "\u6216"},
 219         {"Certificate.not.found.for.alias.alias.must.reference.a.valid.KeyStore.entry.containing.an.X.509.public.key.certificate.for.the",
 220                 "\u627E\u4E0D\u5230{0}\u7684\u8BC1\u4E66\u3002{1}\u5FC5\u987B\u5F15\u7528\u5305\u542B\u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684 X.509 \u516C\u5171\u5BC6\u94A5\u8BC1\u4E66\u7684\u6709\u6548\u5BC6\u94A5\u5E93\u6761\u76EE\u3002"},
 221         {"using.an.alternative.signing.mechanism",
 222                 "\u6B63\u5728\u4F7F\u7528\u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236"},
 223         {"entry.was.signed.on", "\u6761\u76EE\u7684\u7B7E\u540D\u65E5\u671F\u4E3A {0}"},
 224         {"Warning.", "\u8B66\u544A: "},
 225         {"Error.", "\u9519\u8BEF: "},
 226         {"...Signer", ">>> \u7B7E\u540D\u8005"},
 227         {"...TSA", ">>> TSA"},
 228         {"trusted.certificate", "\u53EF\u4FE1\u8BC1\u4E66"},
 229         {"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.",
 230                 "\u6B64 jar \u5305\u542B\u5C1A\u672A\u8FDB\u884C\u5B8C\u6574\u6027\u68C0\u67E5\u7684\u672A\u7B7E\u540D\u6761\u76EE\u3002 "},
 231         {"This.jar.contains.entries.whose.signer.certificate.has.expired.",
 232                 "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u5DF2\u8FC7\u671F\u7684\u6761\u76EE\u3002 "},
 233         {"This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months.",
 234                 "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u5728\u516D\u4E2A\u6708\u5185\u8FC7\u671F\u7684\u6761\u76EE\u3002 "},
 235         {"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid.",
 236                 "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u4ECD\u65E0\u6548\u7684\u6761\u76EE\u3002 "},
 237         {"This.jar.contains.entries.whose.signer.certificate.is.self.signed.",
 238                 "\u6B64 jar \u5305\u542B\u5176\u7B7E\u540D\u8005\u8BC1\u4E66\u4E3A\u81EA\u7B7E\u540D\u8BC1\u4E66\u7684\u6761\u76EE\u3002"},
 239         {"Re.run.with.the.verbose.option.for.more.details.",
 240                 "\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -verbose \u9009\u9879\u91CD\u65B0\u8FD0\u884C\u3002"},
 241         {"Re.run.with.the.verbose.and.certs.options.for.more.details.",
 242                 "\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -verbose \u548C -certs \u9009\u9879\u91CD\u65B0\u8FD0\u884C\u3002"},
 243         {"The.signer.certificate.has.expired.",
 244                 "\u7B7E\u540D\u8005\u8BC1\u4E66\u5DF2\u8FC7\u671F\u3002"},
 245         {"The.timestamp.expired.1.but.usable.2",
 246                 "\u65F6\u95F4\u6233\u5230\u671F\u65E5\u671F\u4E3A %1$tY-%1$tm-%1$td\u3002\u4E0D\u8FC7\uFF0C\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u4E8E %2$tY-%2$tm-%2$td \u5230\u671F\u4E4B\u524D\uFF0CJAR \u5C06\u6709\u6548\u3002"},
 247         {"The.timestamp.has.expired.",
 248                 "\u65F6\u95F4\u6233\u5DF2\u5230\u671F\u3002"},
 249         {"The.signer.certificate.will.expire.within.six.months.",
 250                 "\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u5728\u516D\u4E2A\u6708\u5185\u8FC7\u671F\u3002"},
 251         {"The.timestamp.will.expire.within.one.year.on.1",
 252                 "\u65F6\u95F4\u6233\u5C06\u5728\u4E00\u5E74\u5185\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002"},
 253         {"The.timestamp.will.expire.within.one.year.on.1.but.2",
 254                 "\u65F6\u95F4\u6233\u5C06\u5728\u4E00\u5E74\u5185\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002\u4E0D\u8FC7\uFF0C\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u4E8E %2$tY-%2$tm-%2$td \u5230\u671F\u4E4B\u524D\uFF0CJAR \u5C06\u6709\u6548\u3002"},
 255         {"The.signer.certificate.is.not.yet.valid.",
 256                 "\u7B7E\u540D\u8005\u8BC1\u4E66\u4ECD\u65E0\u6548\u3002"},
 257         {"The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
 258                  "\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 KeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u3002"},
 259         {"The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
 260                  "\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 ExtendedKeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u3002"},
 261         {"The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
 262                  "\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 NetscapeCertType \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u3002"},
 263         {"This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
 264                  "\u6B64 jar \u5305\u542B\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 KeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u7684\u6761\u76EE\u3002"},
 265         {"This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
 266                  "\u6B64 jar \u5305\u542B\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 ExtendedKeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u7684\u6761\u76EE\u3002"},
 267         {"This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
 268                  "\u6B64 jar \u5305\u542B\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 NetscapeCertType \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u7684\u6761\u76EE\u3002"},
 269         {".{0}.extension.does.not.support.code.signing.",
 270                  "[{0} \u6269\u5C55\u4E0D\u652F\u6301\u4EE3\u7801\u7B7E\u540D]"},
 271         {"The.signer.s.certificate.chain.is.invalid.reason.1",
 272                 "\u7B7E\u540D\u8005\u8BC1\u4E66\u94FE\u65E0\u6548\u3002\u539F\u56E0: %s"},
 273         {"The.tsa.certificate.chain.is.invalid.reason.1",
 274                 "TSA \u8BC1\u4E66\u94FE\u65E0\u6548\u3002\u539F\u56E0: %s"},
 275         {"The.signer.s.certificate.is.self.signed.",
 276                 "\u7B7E\u540D\u8005\u8BC1\u4E66\u4E3A\u81EA\u7B7E\u540D\u8BC1\u4E66\u3002"},
 277         {"The.1.algorithm.specified.for.the.2.option.is.considered.a.security.risk.",
 278                 "\u4E3A %2$s \u9009\u9879\u6307\u5B9A\u7684 %1$s \u7B97\u6CD5\u88AB\u89C6\u4E3A\u5B58\u5728\u5B89\u5168\u98CE\u9669\u3002"},
 279         {"The.1.signing.key.has.a.keysize.of.2.which.is.considered.a.security.risk.",
 280                 "%1$s \u7B7E\u540D\u5BC6\u94A5\u7684\u5BC6\u94A5\u5927\u5C0F\u4E3A %2$d, \u8FD9\u88AB\u89C6\u4E3A\u5B58\u5728\u5B89\u5168\u98CE\u9669\u3002"},
 281         {"This.jar.contains.entries.whose.certificate.chain.is.invalid.reason.1",
 282                  "\u6B64 jar \u5305\u542B\u5176\u8BC1\u4E66\u94FE\u65E0\u6548\u7684\u6761\u76EE\u3002\u539F\u56E0: %s"},
 283         {"This.jar.contains.entries.whose.tsa.certificate.chain.is.invalid.reason.1",
 284                 "\u6B64 jar \u5305\u542B\u5176 TSA \u8BC1\u4E66\u94FE\u65E0\u6548\u7684\u6761\u76EE\u3002\u539F\u56E0: %s"},
 285         {"no.timestamp.signing",
 286                 "\u672A\u63D0\u4F9B -tsa \u6216 -tsacert, \u6B64 jar \u6CA1\u6709\u65F6\u95F4\u6233\u3002\u5982\u679C\u6CA1\u6709\u65F6\u95F4\u6233, \u5219\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u7684\u5230\u671F\u65E5\u671F (%1$tY-%1$tm-%1$td) \u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"},
 287         {"invalid.timestamp.signing",
 288                 "\u65F6\u95F4\u6233\u65E0\u6548\u3002\u5982\u679C\u6CA1\u6709\u6709\u6548\u7684\u65F6\u95F4\u6233\uFF0C\u5219\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u7684\u5230\u671F\u65E5\u671F (%1$tY-%1$tm-%1$td) \u4E4B\u540E\uFF0C\u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"},
 289         {"no.timestamp.verifying",
 290                 "\u6B64 jar \u5305\u542B\u7684\u7B7E\u540D\u6CA1\u6709\u65F6\u95F4\u6233\u3002\u5982\u679C\u6CA1\u6709\u65F6\u95F4\u6233, \u5219\u5728\u5176\u4E2D\u4EFB\u4E00\u7B7E\u540D\u8005\u8BC1\u4E66\u5230\u671F (\u6700\u65E9\u4E3A %1$tY-%1$tm-%1$td) \u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"},
 291         {"bad.timestamp.verifying",
 292                 "\u6B64 jar \u5305\u542B\u5E26\u6709\u65E0\u6548\u65F6\u95F4\u6233\u7684\u7B7E\u540D\u3002\u5982\u679C\u6CA1\u6709\u6709\u6548\u65F6\u95F4\u6233, \u5219\u5728\u5176\u4E2D\u4EFB\u4E00\u7B7E\u540D\u8005\u8BC1\u4E66\u5230\u671F (\u6700\u65E9\u4E3A %1$tY-%1$tm-%1$td) \u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -J-Djava.security.debug=jar \u91CD\u65B0\u8FD0\u884C jarsigner\u3002"},
 293         {"The.signer.certificate.will.expire.on.1.",
 294                 "\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002"},
 295         {"The.timestamp.will.expire.on.1.",
 296                 "\u65F6\u95F4\u6233\u5C06\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002"},
 297         {"signer.cert.expired.1.but.timestamp.good.2.",
 298                 "\u7B7E\u540D\u8005\u8BC1\u4E66\u5230\u671F\u65E5\u671F\u4E3A %1$tY-%1$tm-%1$td\u3002\u4E0D\u8FC7\uFF0C\u5728\u65F6\u95F4\u6233\u4E8E %2$tY-%2$tm-%2$td \u5230\u671F\u4E4B\u524D\uFF0CJAR \u5C06\u6709\u6548\u3002"},
 299         {"Unknown.password.type.", "\u672A\u77E5\u53E3\u4EE4\u7C7B\u578B: "},
 300         {"Cannot.find.environment.variable.",
 301                 "\u627E\u4E0D\u5230\u73AF\u5883\u53D8\u91CF: "},
 302         {"Cannot.find.file.", "\u627E\u4E0D\u5230\u6587\u4EF6: "},
 303     };
 304 
 305     /**
 306      * Returns the contents of this <code>ResourceBundle</code>.
 307      *
 308      * <p>
 309      *
 310      * @return the contents of this <code>ResourceBundle</code>.
 311      */
 312     @Override
 313     public Object[][] getContents() {
 314         return contents;
 315     }
 316 }