1 /*
   2  * Copyright (c) 2000, 2017, 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.keytool;
  27 
  28 /**
  29  * <p> This class represents the <code>ResourceBundle</code>
  30  * for the keytool.
  31  *
  32  */
  33 public class Resources_zh_CN extends java.util.ListResourceBundle {
  34 
  35     private static final Object[][] contents = {
  36         {"NEWLINE", "\n"},
  37         {"STAR",
  38                 "*******************************************"},
  39         {"STARNN",
  40                 "*******************************************\n\n"},
  41 
  42         // keytool: Help part
  43         {".OPTION.", " [OPTION]..."},
  44         {"Options.", "\u9009\u9879:"},
  45         {"Use.keytool.help.for.all.available.commands",
  46                  "\u4F7F\u7528 \"keytool -? -h --help\" \u83B7\u53D6\u6240\u6709\u53EF\u7528\u547D\u4EE4"},
  47         {"Key.and.Certificate.Management.Tool",
  48                  "\u5BC6\u94A5\u548C\u8BC1\u4E66\u7BA1\u7406\u5DE5\u5177"},
  49         {"Commands.", "\u547D\u4EE4:"},
  50         {"Use.keytool.command.name.help.for.usage.of.command.name",
  51                 "\u4F7F\u7528 \"keytool -command_name --help\" \u53EF\u83B7\u53D6 command_name \u7684\u7528\u6CD5\u3002\n\u4F7F\u7528 -conf <url> \u9009\u9879\u53EF\u6307\u5B9A\u9884\u914D\u7F6E\u7684\u9009\u9879\u6587\u4EF6\u3002"},
  52         // keytool: help: commands
  53         {"Generates.a.certificate.request",
  54                 "\u751F\u6210\u8BC1\u4E66\u8BF7\u6C42"}, //-certreq
  55         {"Changes.an.entry.s.alias",
  56                 "\u66F4\u6539\u6761\u76EE\u7684\u522B\u540D"}, //-changealias
  57         {"Deletes.an.entry",
  58                 "\u5220\u9664\u6761\u76EE"}, //-delete
  59         {"Exports.certificate",
  60                 "\u5BFC\u51FA\u8BC1\u4E66"}, //-exportcert
  61         {"Generates.a.key.pair",
  62                 "\u751F\u6210\u5BC6\u94A5\u5BF9"}, //-genkeypair
  63         {"Generates.a.secret.key",
  64                 "\u751F\u6210\u5BC6\u94A5"}, //-genseckey
  65         {"Generates.certificate.from.a.certificate.request",
  66                 "\u6839\u636E\u8BC1\u4E66\u8BF7\u6C42\u751F\u6210\u8BC1\u4E66"}, //-gencert
  67         {"Generates.CRL", "\u751F\u6210 CRL"}, //-gencrl
  68         {"Generated.keyAlgName.secret.key",
  69                 "\u5DF2\u751F\u6210{0}\u5BC6\u94A5"}, //-genseckey
  70         {"Generated.keysize.bit.keyAlgName.secret.key",
  71                 "\u5DF2\u751F\u6210 {0} \u4F4D{1}\u5BC6\u94A5"}, //-genseckey
  72         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
  73                 "\u4ECE JDK 1.1.x \u6837\u5F0F\u7684\u8EAB\u4EFD\u6570\u636E\u5E93\u5BFC\u5165\u6761\u76EE"}, //-identitydb
  74         {"Imports.a.certificate.or.a.certificate.chain",
  75                 "\u5BFC\u5165\u8BC1\u4E66\u6216\u8BC1\u4E66\u94FE"}, //-importcert
  76         {"Imports.a.password",
  77                 "\u5BFC\u5165\u53E3\u4EE4"}, //-importpass
  78         {"Imports.one.or.all.entries.from.another.keystore",
  79                 "\u4ECE\u5176\u4ED6\u5BC6\u94A5\u5E93\u5BFC\u5165\u4E00\u4E2A\u6216\u6240\u6709\u6761\u76EE"}, //-importkeystore
  80         {"Clones.a.key.entry",
  81                 "\u514B\u9686\u5BC6\u94A5\u6761\u76EE"}, //-keyclone
  82         {"Changes.the.key.password.of.an.entry",
  83                 "\u66F4\u6539\u6761\u76EE\u7684\u5BC6\u94A5\u53E3\u4EE4"}, //-keypasswd
  84         {"Lists.entries.in.a.keystore",
  85                 "\u5217\u51FA\u5BC6\u94A5\u5E93\u4E2D\u7684\u6761\u76EE"}, //-list
  86         {"Prints.the.content.of.a.certificate",
  87                 "\u6253\u5370\u8BC1\u4E66\u5185\u5BB9"}, //-printcert
  88         {"Prints.the.content.of.a.certificate.request",
  89                 "\u6253\u5370\u8BC1\u4E66\u8BF7\u6C42\u7684\u5185\u5BB9"}, //-printcertreq
  90         {"Prints.the.content.of.a.CRL.file",
  91                 "\u6253\u5370 CRL \u6587\u4EF6\u7684\u5185\u5BB9"}, //-printcrl
  92         {"Generates.a.self.signed.certificate",
  93                 "\u751F\u6210\u81EA\u7B7E\u540D\u8BC1\u4E66"}, //-selfcert
  94         {"Changes.the.store.password.of.a.keystore",
  95                 "\u66F4\u6539\u5BC6\u94A5\u5E93\u7684\u5B58\u50A8\u53E3\u4EE4"}, //-storepasswd
  96         // keytool: help: options
  97         {"alias.name.of.the.entry.to.process",
  98                 "\u8981\u5904\u7406\u7684\u6761\u76EE\u7684\u522B\u540D"}, //-alias
  99         {"destination.alias",
 100                 "\u76EE\u6807\u522B\u540D"}, //-destalias
 101         {"destination.key.password",
 102                 "\u76EE\u6807\u5BC6\u94A5\u53E3\u4EE4"}, //-destkeypass
 103         {"destination.keystore.name",
 104                 "\u76EE\u6807\u5BC6\u94A5\u5E93\u540D\u79F0"}, //-destkeystore
 105         {"destination.keystore.password.protected",
 106                 "\u53D7\u4FDD\u62A4\u7684\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-destprotected
 107         {"destination.keystore.provider.name",
 108                 "\u76EE\u6807\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9\u540D\u79F0"}, //-destprovidername
 109         {"destination.keystore.password",
 110                 "\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-deststorepass
 111         {"destination.keystore.type",
 112                 "\u76EE\u6807\u5BC6\u94A5\u5E93\u7C7B\u578B"}, //-deststoretype
 113         {"distinguished.name",
 114                 "\u552F\u4E00\u5224\u522B\u540D"}, //-dname
 115         {"X.509.extension",
 116                 "X.509 \u6269\u5C55"}, //-ext
 117         {"output.file.name",
 118                 "\u8F93\u51FA\u6587\u4EF6\u540D"}, //-file and -outfile
 119         {"input.file.name",
 120                 "\u8F93\u5165\u6587\u4EF6\u540D"}, //-file and -infile
 121         {"key.algorithm.name",
 122                 "\u5BC6\u94A5\u7B97\u6CD5\u540D\u79F0"}, //-keyalg
 123         {"key.password",
 124                 "\u5BC6\u94A5\u53E3\u4EE4"}, //-keypass
 125         {"key.bit.size",
 126                 "\u5BC6\u94A5\u4F4D\u5927\u5C0F"}, //-keysize
 127         {"keystore.name",
 128                 "\u5BC6\u94A5\u5E93\u540D\u79F0"}, //-keystore
 129         {"access.the.cacerts.keystore",
 130                 "\u8BBF\u95EE cacerts \u5BC6\u94A5\u5E93"}, // -cacerts
 131         {"warning.cacerts.option",
 132                 "\u8B66\u544A: \u4F7F\u7528 -cacerts \u9009\u9879\u8BBF\u95EE cacerts \u5BC6\u94A5\u5E93"},
 133         {"new.password",
 134                 "\u65B0\u53E3\u4EE4"}, //-new
 135         {"do.not.prompt",
 136                 "\u4E0D\u63D0\u793A"}, //-noprompt
 137         {"password.through.protected.mechanism",
 138                 "\u901A\u8FC7\u53D7\u4FDD\u62A4\u7684\u673A\u5236\u7684\u53E3\u4EE4"}, //-protected
 139 
 140         // The following 2 values should span 2 lines, the first for the
 141         // option itself, the second for its -providerArg value.
 142         {"addprovider.option",
 143                 "\u6309\u540D\u79F0 (\u4F8B\u5982 SunPKCS11) \u6DFB\u52A0\u5B89\u5168\u63D0\u4F9B\u65B9\n\u914D\u7F6E -addprovider \u7684\u53C2\u6570"}, //-addprovider
 144         {"provider.class.option",
 145                 "\u6309\u5168\u9650\u5B9A\u7C7B\u540D\u6DFB\u52A0\u5B89\u5168\u63D0\u4F9B\u65B9\n\u914D\u7F6E -providerclass \u7684\u53C2\u6570"}, //-providerclass
 146 
 147         {"provider.name",
 148                 "\u63D0\u4F9B\u65B9\u540D\u79F0"}, //-providername
 149         {"provider.classpath",
 150                 "\u63D0\u4F9B\u65B9\u7C7B\u8DEF\u5F84"}, //-providerpath
 151         {"output.in.RFC.style",
 152                 "\u4EE5 RFC \u6837\u5F0F\u8F93\u51FA"}, //-rfc
 153         {"signature.algorithm.name",
 154                 "\u7B7E\u540D\u7B97\u6CD5\u540D\u79F0"}, //-sigalg
 155         {"source.alias",
 156                 "\u6E90\u522B\u540D"}, //-srcalias
 157         {"source.key.password",
 158                 "\u6E90\u5BC6\u94A5\u53E3\u4EE4"}, //-srckeypass
 159         {"source.keystore.name",
 160                 "\u6E90\u5BC6\u94A5\u5E93\u540D\u79F0"}, //-srckeystore
 161         {"source.keystore.password.protected",
 162                 "\u53D7\u4FDD\u62A4\u7684\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-srcprotected
 163         {"source.keystore.provider.name",
 164                 "\u6E90\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9\u540D\u79F0"}, //-srcprovidername
 165         {"source.keystore.password",
 166                 "\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-srcstorepass
 167         {"source.keystore.type",
 168                 "\u6E90\u5BC6\u94A5\u5E93\u7C7B\u578B"}, //-srcstoretype
 169         {"SSL.server.host.and.port",
 170                 "SSL \u670D\u52A1\u5668\u4E3B\u673A\u548C\u7AEF\u53E3"}, //-sslserver
 171         {"signed.jar.file",
 172                 "\u5DF2\u7B7E\u540D\u7684 jar \u6587\u4EF6"}, //=jarfile
 173         {"certificate.validity.start.date.time",
 174                 "\u8BC1\u4E66\u6709\u6548\u671F\u5F00\u59CB\u65E5\u671F/\u65F6\u95F4"}, //-startdate
 175         {"keystore.password",
 176                 "\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-storepass
 177         {"keystore.type",
 178                 "\u5BC6\u94A5\u5E93\u7C7B\u578B"}, //-storetype
 179         {"trust.certificates.from.cacerts",
 180                 "\u4FE1\u4EFB\u6765\u81EA cacerts \u7684\u8BC1\u4E66"}, //-trustcacerts
 181         {"verbose.output",
 182                 "\u8BE6\u7EC6\u8F93\u51FA"}, //-v
 183         {"validity.number.of.days",
 184                 "\u6709\u6548\u5929\u6570"}, //-validity
 185         {"Serial.ID.of.cert.to.revoke",
 186                  "\u8981\u64A4\u9500\u7684\u8BC1\u4E66\u7684\u5E8F\u5217 ID"}, //-id
 187         // keytool: Running part
 188         {"keytool.error.", "keytool \u9519\u8BEF: "},
 189         {"Illegal.option.", "\u975E\u6CD5\u9009\u9879:  "},
 190         {"Illegal.value.", "\u975E\u6CD5\u503C: "},
 191         {"Unknown.password.type.", "\u672A\u77E5\u53E3\u4EE4\u7C7B\u578B: "},
 192         {"Cannot.find.environment.variable.",
 193                 "\u627E\u4E0D\u5230\u73AF\u5883\u53D8\u91CF: "},
 194         {"Cannot.find.file.", "\u627E\u4E0D\u5230\u6587\u4EF6: "},
 195         {"Command.option.flag.needs.an.argument.", "\u547D\u4EE4\u9009\u9879{0}\u9700\u8981\u4E00\u4E2A\u53C2\u6570\u3002"},
 196         {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
 197                 "\u8B66\u544A: PKCS12 \u5BC6\u94A5\u5E93\u4E0D\u652F\u6301\u5176\u4ED6\u5B58\u50A8\u548C\u5BC6\u94A5\u53E3\u4EE4\u3002\u6B63\u5728\u5FFD\u7565\u7528\u6237\u6307\u5B9A\u7684{0}\u503C\u3002"},
 198         {"the.keystore.or.storetype.option.cannot.be.used.with.the.cacerts.option",
 199             "-keystore \u6216 -storetype \u9009\u9879\u4E0D\u80FD\u4E0E -cacerts \u9009\u9879\u4E00\u8D77\u4F7F\u7528"},
 200         {".keystore.must.be.NONE.if.storetype.is.{0}",
 201                 "\u5982\u679C -storetype \u4E3A {0}, \u5219 -keystore \u5FC5\u987B\u4E3A NONE"},
 202         {"Too.many.retries.program.terminated",
 203                  "\u91CD\u8BD5\u6B21\u6570\u8FC7\u591A, \u7A0B\u5E8F\u5DF2\u7EC8\u6B62"},
 204         {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
 205                 "\u5982\u679C -storetype \u4E3A {0}, \u5219\u4E0D\u652F\u6301 -storepasswd \u548C -keypasswd \u547D\u4EE4"},
 206         {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
 207                 "\u5982\u679C -storetype \u4E3A PKCS12, \u5219\u4E0D\u652F\u6301 -keypasswd \u547D\u4EE4"},
 208         {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
 209                 "\u5982\u679C -storetype \u4E3A {0}, \u5219\u4E0D\u80FD\u6307\u5B9A -keypass \u548C -new"},
 210         {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
 211                 "\u5982\u679C\u6307\u5B9A\u4E86 -protected, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass, -keypass \u548C -new"},
 212         {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
 213                 "\u5982\u679C\u6307\u5B9A\u4E86 -srcprotected, \u5219\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
 214         {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
 215                 "\u5982\u679C\u5BC6\u94A5\u5E93\u672A\u53D7\u53E3\u4EE4\u4FDD\u62A4, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass, -keypass \u548C -new"},
 216         {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
 217                 "\u5982\u679C\u6E90\u5BC6\u94A5\u5E93\u672A\u53D7\u53E3\u4EE4\u4FDD\u62A4, \u5219\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
 218         {"Illegal.startdate.value", "\u975E\u6CD5\u5F00\u59CB\u65E5\u671F\u503C"},
 219         {"Validity.must.be.greater.than.zero",
 220                 "\u6709\u6548\u6027\u5FC5\u987B\u5927\u4E8E\u96F6"},
 221         {"provclass.not.a.provider", "%s\u4E0D\u662F\u63D0\u4F9B\u65B9"},
 222         {"provider.name.not.found", "\u672A\u627E\u5230\u540D\u4E3A \"%s\" \u7684\u63D0\u4F9B\u65B9"},
 223         {"provider.class.not.found", "\u672A\u627E\u5230\u63D0\u4F9B\u65B9 \"%s\""},
 224         {"Usage.error.no.command.provided", "\u7528\u6CD5\u9519\u8BEF: \u6CA1\u6709\u63D0\u4F9B\u547D\u4EE4"},
 225         {"Source.keystore.file.exists.but.is.empty.", "\u6E90\u5BC6\u94A5\u5E93\u6587\u4EF6\u5B58\u5728, \u4F46\u4E3A\u7A7A: "},
 226         {"Please.specify.srckeystore", "\u8BF7\u6307\u5B9A -srckeystore"},
 227         {"Must.not.specify.both.v.and.rfc.with.list.command",
 228                 "\u4E0D\u80FD\u4F7F\u7528 'list' \u547D\u4EE4\u6765\u6307\u5B9A -v \u53CA -rfc"},
 229         {"Key.password.must.be.at.least.6.characters",
 230                 "\u5BC6\u94A5\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
 231         {"New.password.must.be.at.least.6.characters",
 232                 "\u65B0\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
 233         {"Keystore.file.exists.but.is.empty.",
 234                 "\u5BC6\u94A5\u5E93\u6587\u4EF6\u5B58\u5728, \u4F46\u4E3A\u7A7A: "},
 235         {"Keystore.file.does.not.exist.",
 236                 "\u5BC6\u94A5\u5E93\u6587\u4EF6\u4E0D\u5B58\u5728: "},
 237         {"Must.specify.destination.alias", "\u5FC5\u987B\u6307\u5B9A\u76EE\u6807\u522B\u540D"},
 238         {"Must.specify.alias", "\u5FC5\u987B\u6307\u5B9A\u522B\u540D"},
 239         {"Keystore.password.must.be.at.least.6.characters",
 240                 "\u5BC6\u94A5\u5E93\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
 241         {"Enter.the.password.to.be.stored.",
 242                 "\u8F93\u5165\u8981\u5B58\u50A8\u7684\u53E3\u4EE4:  "},
 243         {"Enter.keystore.password.", "\u8F93\u5165\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
 244         {"Enter.source.keystore.password.", "\u8F93\u5165\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
 245         {"Enter.destination.keystore.password.", "\u8F93\u5165\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
 246         {"Keystore.password.is.too.short.must.be.at.least.6.characters",
 247          "\u5BC6\u94A5\u5E93\u53E3\u4EE4\u592A\u77ED - \u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
 248         {"Unknown.Entry.Type", "\u672A\u77E5\u6761\u76EE\u7C7B\u578B"},
 249         {"Too.many.failures.Alias.not.changed", "\u6545\u969C\u592A\u591A\u3002\u672A\u66F4\u6539\u522B\u540D"},
 250         {"Entry.for.alias.alias.successfully.imported.",
 251                  "\u5DF2\u6210\u529F\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u3002"},
 252         {"Entry.for.alias.alias.not.imported.", "\u672A\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u3002"},
 253         {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
 254                  "\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u65F6\u51FA\u73B0\u95EE\u9898: {1}\u3002\n\u672A\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u3002"},
 255         {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
 256                  "\u5DF2\u5B8C\u6210\u5BFC\u5165\u547D\u4EE4: {0} \u4E2A\u6761\u76EE\u6210\u529F\u5BFC\u5165, {1} \u4E2A\u6761\u76EE\u5931\u8D25\u6216\u53D6\u6D88"},
 257         {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
 258                  "\u8B66\u544A: \u6B63\u5728\u8986\u76D6\u76EE\u6807\u5BC6\u94A5\u5E93\u4E2D\u7684\u73B0\u6709\u522B\u540D {0}"},
 259         {"Existing.entry.alias.alias.exists.overwrite.no.",
 260                  "\u5B58\u5728\u73B0\u6709\u6761\u76EE\u522B\u540D {0}, \u662F\u5426\u8986\u76D6? [\u5426]:  "},
 261         {"Too.many.failures.try.later", "\u6545\u969C\u592A\u591A - \u8BF7\u7A0D\u540E\u518D\u8BD5"},
 262         {"Certification.request.stored.in.file.filename.",
 263                 "\u5B58\u50A8\u5728\u6587\u4EF6 <{0}> \u4E2D\u7684\u8BA4\u8BC1\u8BF7\u6C42"},
 264         {"Submit.this.to.your.CA", "\u5C06\u6B64\u63D0\u4EA4\u7ED9\u60A8\u7684 CA"},
 265         {"if.alias.not.specified.destalias.and.srckeypass.must.not.be.specified",
 266             "\u5982\u679C\u6CA1\u6709\u6307\u5B9A\u522B\u540D, \u5219\u4E0D\u80FD\u6307\u5B9A\u76EE\u6807\u522B\u540D\u548C\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4"},
 267         {"The.destination.pkcs12.keystore.has.different.storepass.and.keypass.Please.retry.with.destkeypass.specified.",
 268             "\u76EE\u6807 pkcs12 \u5BC6\u94A5\u5E93\u5177\u6709\u4E0D\u540C\u7684 storepass \u548C keypass\u3002\u8BF7\u5728\u6307\u5B9A\u4E86 -destkeypass \u65F6\u91CD\u8BD5\u3002"},
 269         {"Certificate.stored.in.file.filename.",
 270                 "\u5B58\u50A8\u5728\u6587\u4EF6 <{0}> \u4E2D\u7684\u8BC1\u4E66"},
 271         {"Certificate.reply.was.installed.in.keystore",
 272                 "\u8BC1\u4E66\u56DE\u590D\u5DF2\u5B89\u88C5\u5728\u5BC6\u94A5\u5E93\u4E2D"},
 273         {"Certificate.reply.was.not.installed.in.keystore",
 274                 "\u8BC1\u4E66\u56DE\u590D\u672A\u5B89\u88C5\u5728\u5BC6\u94A5\u5E93\u4E2D"},
 275         {"Certificate.was.added.to.keystore",
 276                 "\u8BC1\u4E66\u5DF2\u6DFB\u52A0\u5230\u5BC6\u94A5\u5E93\u4E2D"},
 277         {"Certificate.was.not.added.to.keystore",
 278                 "\u8BC1\u4E66\u672A\u6DFB\u52A0\u5230\u5BC6\u94A5\u5E93\u4E2D"},
 279         {".Storing.ksfname.", "[\u6B63\u5728\u5B58\u50A8{0}]"},
 280         {"alias.has.no.public.key.certificate.",
 281                 "{0}\u6CA1\u6709\u516C\u5171\u5BC6\u94A5 (\u8BC1\u4E66)"},
 282         {"Cannot.derive.signature.algorithm",
 283                 "\u65E0\u6CD5\u6D3E\u751F\u7B7E\u540D\u7B97\u6CD5"},
 284         {"Alias.alias.does.not.exist",
 285                 "\u522B\u540D <{0}> \u4E0D\u5B58\u5728"},
 286         {"Alias.alias.has.no.certificate",
 287                 "\u522B\u540D <{0}> \u6CA1\u6709\u8BC1\u4E66"},
 288         {"Key.pair.not.generated.alias.alias.already.exists",
 289                 "\u672A\u751F\u6210\u5BC6\u94A5\u5BF9, \u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
 290         {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
 291                 "\u6B63\u5728\u4E3A\u4EE5\u4E0B\u5BF9\u8C61\u751F\u6210 {0} \u4F4D{1}\u5BC6\u94A5\u5BF9\u548C\u81EA\u7B7E\u540D\u8BC1\u4E66 ({2}) (\u6709\u6548\u671F\u4E3A {3} \u5929):\n\t {4}"},
 292         {"Enter.key.password.for.alias.", "\u8F93\u5165 <{0}> \u7684\u5BC6\u94A5\u53E3\u4EE4"},
 293         {".RETURN.if.same.as.keystore.password.",
 294                 "\t(\u5982\u679C\u548C\u5BC6\u94A5\u5E93\u53E3\u4EE4\u76F8\u540C, \u6309\u56DE\u8F66):  "},
 295         {"Key.password.is.too.short.must.be.at.least.6.characters",
 296                 "\u5BC6\u94A5\u53E3\u4EE4\u592A\u77ED - \u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
 297         {"Too.many.failures.key.not.added.to.keystore",
 298                 "\u6545\u969C\u592A\u591A - \u5BC6\u94A5\u672A\u6DFB\u52A0\u5230\u5BC6\u94A5\u5E93\u4E2D"},
 299         {"Destination.alias.dest.already.exists",
 300                 "\u76EE\u6807\u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
 301         {"Password.is.too.short.must.be.at.least.6.characters",
 302                 "\u53E3\u4EE4\u592A\u77ED - \u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
 303         {"Too.many.failures.Key.entry.not.cloned",
 304                 "\u6545\u969C\u592A\u591A\u3002\u672A\u514B\u9686\u5BC6\u94A5\u6761\u76EE"},
 305         {"key.password.for.alias.", "<{0}> \u7684\u5BC6\u94A5\u53E3\u4EE4"},
 306         {"Keystore.entry.for.id.getName.already.exists",
 307                 "<{0}> \u7684\u5BC6\u94A5\u5E93\u6761\u76EE\u5DF2\u7ECF\u5B58\u5728"},
 308         {"Creating.keystore.entry.for.id.getName.",
 309                 "\u6B63\u5728\u521B\u5EFA <{0}> \u7684\u5BC6\u94A5\u5E93\u6761\u76EE..."},
 310         {"No.entries.from.identity.database.added",
 311                 "\u672A\u4ECE\u8EAB\u4EFD\u6570\u636E\u5E93\u4E2D\u6DFB\u52A0\u4EFB\u4F55\u6761\u76EE"},
 312         {"Alias.name.alias", "\u522B\u540D: {0}"},
 313         {"Creation.date.keyStore.getCreationDate.alias.",
 314                 "\u521B\u5EFA\u65E5\u671F: {0,date}"},
 315         {"alias.keyStore.getCreationDate.alias.",
 316                 "{0}, {1,date}, "},
 317         {"alias.", "{0}, "},
 318         {"Entry.type.type.", "\u6761\u76EE\u7C7B\u578B: {0}"},
 319         {"Certificate.chain.length.", "\u8BC1\u4E66\u94FE\u957F\u5EA6: "},
 320         {"Certificate.i.1.", "\u8BC1\u4E66[{0,number,integer}]:"},
 321         {"Certificate.fingerprint.SHA.256.", "\u8BC1\u4E66\u6307\u7EB9 (SHA-256): "},
 322         {"Keystore.type.", "\u5BC6\u94A5\u5E93\u7C7B\u578B: "},
 323         {"Keystore.provider.", "\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9: "},
 324         {"Your.keystore.contains.keyStore.size.entry",
 325                 "\u60A8\u7684\u5BC6\u94A5\u5E93\u5305\u542B {0,number,integer} \u4E2A\u6761\u76EE"},
 326         {"Your.keystore.contains.keyStore.size.entries",
 327                 "\u60A8\u7684\u5BC6\u94A5\u5E93\u5305\u542B {0,number,integer} \u4E2A\u6761\u76EE"},
 328         {"Failed.to.parse.input", "\u65E0\u6CD5\u89E3\u6790\u8F93\u5165"},
 329         {"Empty.input", "\u7A7A\u8F93\u5165"},
 330         {"Not.X.509.certificate", "\u975E X.509 \u8BC1\u4E66"},
 331         {"alias.has.no.public.key", "{0}\u6CA1\u6709\u516C\u5171\u5BC6\u94A5"},
 332         {"alias.has.no.X.509.certificate", "{0}\u6CA1\u6709 X.509 \u8BC1\u4E66"},
 333         {"New.certificate.self.signed.", "\u65B0\u8BC1\u4E66 (\u81EA\u7B7E\u540D):"},
 334         {"Reply.has.no.certificates", "\u56DE\u590D\u4E2D\u6CA1\u6709\u8BC1\u4E66"},
 335         {"Certificate.not.imported.alias.alias.already.exists",
 336                 "\u8BC1\u4E66\u672A\u5BFC\u5165, \u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
 337         {"Input.not.an.X.509.certificate", "\u6240\u8F93\u5165\u7684\u4E0D\u662F X.509 \u8BC1\u4E66"},
 338         {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
 339                 "\u5728\u522B\u540D <{0}> \u4E4B\u4E0B, \u8BC1\u4E66\u5DF2\u7ECF\u5B58\u5728\u4E8E\u5BC6\u94A5\u5E93\u4E2D"},
 340         {"Do.you.still.want.to.add.it.no.",
 341                 "\u662F\u5426\u4ECD\u8981\u6DFB\u52A0? [\u5426]:  "},
 342         {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
 343                 "\u5728\u522B\u540D <{0}> \u4E4B\u4E0B, \u8BC1\u4E66\u5DF2\u7ECF\u5B58\u5728\u4E8E\u7CFB\u7EDF\u8303\u56F4\u7684 CA \u5BC6\u94A5\u5E93\u4E2D"},
 344         {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
 345                 "\u662F\u5426\u4ECD\u8981\u5C06\u5B83\u6DFB\u52A0\u5230\u81EA\u5DF1\u7684\u5BC6\u94A5\u5E93? [\u5426]:  "},
 346         {"Trust.this.certificate.no.", "\u662F\u5426\u4FE1\u4EFB\u6B64\u8BC1\u4E66? [\u5426]:  "},
 347         {"YES", "YES"},
 348         {"New.prompt.", "\u65B0{0}: "},
 349         {"Passwords.must.differ", "\u53E3\u4EE4\u4E0D\u80FD\u76F8\u540C"},
 350         {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F93\u5165\u65B0{0}: "},
 351         {"Re.enter.password.", "\u518D\u6B21\u8F93\u5165\u53E3\u4EE4: "},
 352         {"Re.enter.new.password.", "\u518D\u6B21\u8F93\u5165\u65B0\u53E3\u4EE4: "},
 353         {"They.don.t.match.Try.again", "\u5B83\u4EEC\u4E0D\u5339\u914D\u3002\u8BF7\u91CD\u8BD5"},
 354         {"Enter.prompt.alias.name.", "\u8F93\u5165{0}\u522B\u540D:  "},
 355         {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
 356                  "\u5BFC\u5165\u65B0\u7684\u522B\u540D\t(\u6309\u56DE\u8F66\u4EE5\u53D6\u6D88\u5BF9\u6B64\u6761\u76EE\u7684\u5BFC\u5165):  "},
 357         {"Enter.alias.name.", "\u8F93\u5165\u522B\u540D:  "},
 358         {".RETURN.if.same.as.for.otherAlias.",
 359                 "\t(\u5982\u679C\u548C <{0}> \u76F8\u540C, \u5219\u6309\u56DE\u8F66)"},
 360         {"What.is.your.first.and.last.name.",
 361                 "\u60A8\u7684\u540D\u5B57\u4E0E\u59D3\u6C0F\u662F\u4EC0\u4E48?"},
 362         {"What.is.the.name.of.your.organizational.unit.",
 363                 "\u60A8\u7684\u7EC4\u7EC7\u5355\u4F4D\u540D\u79F0\u662F\u4EC0\u4E48?"},
 364         {"What.is.the.name.of.your.organization.",
 365                 "\u60A8\u7684\u7EC4\u7EC7\u540D\u79F0\u662F\u4EC0\u4E48?"},
 366         {"What.is.the.name.of.your.City.or.Locality.",
 367                 "\u60A8\u6240\u5728\u7684\u57CE\u5E02\u6216\u533A\u57DF\u540D\u79F0\u662F\u4EC0\u4E48?"},
 368         {"What.is.the.name.of.your.State.or.Province.",
 369                 "\u60A8\u6240\u5728\u7684\u7701/\u5E02/\u81EA\u6CBB\u533A\u540D\u79F0\u662F\u4EC0\u4E48?"},
 370         {"What.is.the.two.letter.country.code.for.this.unit.",
 371                 "\u8BE5\u5355\u4F4D\u7684\u53CC\u5B57\u6BCD\u56FD\u5BB6/\u5730\u533A\u4EE3\u7801\u662F\u4EC0\u4E48?"},
 372         {"Is.name.correct.", "{0}\u662F\u5426\u6B63\u786E?"},
 373         {"no", "\u5426"},
 374         {"yes", "\u662F"},
 375         {"y", "y"},
 376         {".defaultValue.", "  [{0}]:  "},
 377         {"Alias.alias.has.no.key",
 378                 "\u522B\u540D <{0}> \u6CA1\u6709\u5BC6\u94A5"},
 379         {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
 380                  "\u522B\u540D <{0}> \u5F15\u7528\u4E86\u4E0D\u5C5E\u4E8E\u79C1\u6709\u5BC6\u94A5\u6761\u76EE\u7684\u6761\u76EE\u7C7B\u578B\u3002-keyclone \u547D\u4EE4\u4EC5\u652F\u6301\u5BF9\u79C1\u6709\u5BC6\u94A5\u6761\u76EE\u7684\u514B\u9686"},
 381 
 382         {".WARNING.WARNING.WARNING.",
 383             "*****************  WARNING WARNING WARNING  *****************"},
 384         {"Signer.d.", "\u7B7E\u540D\u8005 #%d:"},
 385         {"Timestamp.", "\u65F6\u95F4\u6233:"},
 386         {"Signature.", "\u7B7E\u540D:"},
 387         {"CRLs.", "CRL:"},
 388         {"Certificate.owner.", "\u8BC1\u4E66\u6240\u6709\u8005: "},
 389         {"Not.a.signed.jar.file", "\u4E0D\u662F\u5DF2\u7B7E\u540D\u7684 jar \u6587\u4EF6"},
 390         {"No.certificate.from.the.SSL.server",
 391                 "\u6CA1\u6709\u6765\u81EA SSL \u670D\u52A1\u5668\u7684\u8BC1\u4E66"},
 392 
 393         {".The.integrity.of.the.information.stored.in.your.keystore.",
 394             "* \u5B58\u50A8\u5728\u60A8\u7684\u5BC6\u94A5\u5E93\u4E2D\u7684\u4FE1\u606F\u7684\u5B8C\u6574\u6027  *\n* \u5C1A\u672A\u7ECF\u8FC7\u9A8C\u8BC1!  \u4E3A\u4E86\u9A8C\u8BC1\u5176\u5B8C\u6574\u6027, *\n* \u5FC5\u987B\u63D0\u4F9B\u5BC6\u94A5\u5E93\u53E3\u4EE4\u3002                  *"},
 395         {".The.integrity.of.the.information.stored.in.the.srckeystore.",
 396             "* \u5B58\u50A8\u5728 srckeystore \u4E2D\u7684\u4FE1\u606F\u7684\u5B8C\u6574\u6027*\n* \u5C1A\u672A\u7ECF\u8FC7\u9A8C\u8BC1!  \u4E3A\u4E86\u9A8C\u8BC1\u5176\u5B8C\u6574\u6027, *\n* \u5FC5\u987B\u63D0\u4F9B\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4\u3002                  *"},
 397 
 398         {"Certificate.reply.does.not.contain.public.key.for.alias.",
 399                 "\u8BC1\u4E66\u56DE\u590D\u4E2D\u4E0D\u5305\u542B <{0}> \u7684\u516C\u5171\u5BC6\u94A5"},
 400         {"Incomplete.certificate.chain.in.reply",
 401                 "\u56DE\u590D\u4E2D\u7684\u8BC1\u4E66\u94FE\u4E0D\u5B8C\u6574"},
 402         {"Certificate.chain.in.reply.does.not.verify.",
 403                 "\u56DE\u590D\u4E2D\u7684\u8BC1\u4E66\u94FE\u672A\u9A8C\u8BC1: "},
 404         {"Top.level.certificate.in.reply.",
 405                 "\u56DE\u590D\u4E2D\u7684\u9876\u7EA7\u8BC1\u4E66:\n"},
 406         {".is.not.trusted.", "... \u662F\u4E0D\u53EF\u4FE1\u7684\u3002"},
 407         {"Install.reply.anyway.no.", "\u662F\u5426\u4ECD\u8981\u5B89\u88C5\u56DE\u590D? [\u5426]:  "},
 408         {"NO", "NO"},
 409         {"Public.keys.in.reply.and.keystore.don.t.match",
 410                 "\u56DE\u590D\u4E2D\u7684\u516C\u5171\u5BC6\u94A5\u4E0E\u5BC6\u94A5\u5E93\u4E0D\u5339\u914D"},
 411         {"Certificate.reply.and.certificate.in.keystore.are.identical",
 412                 "\u8BC1\u4E66\u56DE\u590D\u4E0E\u5BC6\u94A5\u5E93\u4E2D\u7684\u8BC1\u4E66\u662F\u76F8\u540C\u7684"},
 413         {"Failed.to.establish.chain.from.reply",
 414                 "\u65E0\u6CD5\u4ECE\u56DE\u590D\u4E2D\u5EFA\u7ACB\u94FE"},
 415         {"n", "n"},
 416         {"Wrong.answer.try.again", "\u9519\u8BEF\u7684\u7B54\u6848, \u8BF7\u518D\u8BD5\u4E00\u6B21"},
 417         {"Secret.key.not.generated.alias.alias.already.exists",
 418                 "\u6CA1\u6709\u751F\u6210\u5BC6\u94A5, \u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
 419         {"Please.provide.keysize.for.secret.key.generation",
 420                 "\u8BF7\u63D0\u4F9B -keysize \u4EE5\u751F\u6210\u5BC6\u94A5"},
 421 
 422         {"warning.not.verified.make.sure.keystore.is.correct",
 423             "\u8B66\u544A: \u672A\u9A8C\u8BC1\u3002\u8BF7\u786E\u4FDD\u5BC6\u94A5\u5E93\u662F\u6B63\u786E\u7684\u3002"},
 424 
 425         {"Extensions.", "\u6269\u5C55: "},
 426         {".Empty.value.", "(\u7A7A\u503C)"},
 427         {"Extension.Request.", "\u6269\u5C55\u8BF7\u6C42:"},
 428         {"Unknown.keyUsage.type.", "\u672A\u77E5 keyUsage \u7C7B\u578B: "},
 429         {"Unknown.extendedkeyUsage.type.", "\u672A\u77E5 extendedkeyUsage \u7C7B\u578B: "},
 430         {"Unknown.AccessDescription.type.", "\u672A\u77E5 AccessDescription \u7C7B\u578B: "},
 431         {"Unrecognized.GeneralName.type.", "\u65E0\u6CD5\u8BC6\u522B\u7684 GeneralName \u7C7B\u578B: "},
 432         {"This.extension.cannot.be.marked.as.critical.",
 433                  "\u65E0\u6CD5\u5C06\u6B64\u6269\u5C55\u6807\u8BB0\u4E3A\u201C\u4E25\u91CD\u201D\u3002"},
 434         {"Odd.number.of.hex.digits.found.", "\u627E\u5230\u5947\u6570\u4E2A\u5341\u516D\u8FDB\u5236\u6570\u5B57: "},
 435         {"Unknown.extension.type.", "\u672A\u77E5\u6269\u5C55\u7C7B\u578B: "},
 436         {"command.{0}.is.ambiguous.", "\u547D\u4EE4{0}\u4E0D\u660E\u786E:"},
 437 
 438         // 8171319: keytool should print out warnings when reading or
 439         // generating cert/cert req using weak algorithms
 440         {"the.certificate.request", "\u8BC1\u4E66\u8BF7\u6C42"},
 441         {"the.issuer", "\u53D1\u5E03\u8005"},
 442         {"the.generated.certificate", "\u751F\u6210\u7684\u8BC1\u4E66"},
 443         {"the.generated.crl", "\u751F\u6210\u7684 CRL"},
 444         {"the.generated.certificate.request", "\u751F\u6210\u7684\u8BC1\u4E66\u8BF7\u6C42"},
 445         {"the.certificate", "\u8BC1\u4E66"},
 446         {"the.crl", "CRL"},
 447         {"the.tsa.certificate", "TSA \u8BC1\u4E66"},
 448         {"the.input", "\u8F93\u5165"},
 449         {"reply", "\u56DE\u590D"},
 450         {"one.in.many", "%s #%d/%d"},
 451         {"alias.in.cacerts", "cacerts \u4E2D\u7684\u53D1\u5E03\u8005 <%s>"},
 452         {"alias.in.keystore", "\u53D1\u5E03\u8005 <%s>"},
 453         {"with.weak", "%s (\u5F31)"},
 454         {"key.bit", "%d \u4F4D %s \u5BC6\u94A5"},
 455         {"key.bit.weak", "%d \u4F4D %s \u5BC6\u94A5 (\u5F31)"},
 456         {".PATTERN.printX509Cert.with.weak",
 457                 "\u6240\u6709\u8005: {0}\n\u53D1\u5E03\u8005: {1}\n\u5E8F\u5217\u53F7: {2}\n\u751F\u6548\u65F6\u95F4: {3}, \u5931\u6548\u65F6\u95F4: {4}\n\u8BC1\u4E66\u6307\u7EB9:\n\t SHA1: {5}\n\t SHA256: {6}\n\u7B7E\u540D\u7B97\u6CD5\u540D\u79F0: {7}\n\u4E3B\u4F53\u516C\u5171\u5BC6\u94A5\u7B97\u6CD5: {8}\n\u7248\u672C: {9}"},
 458         {"PKCS.10.with.weak",
 459                 "PKCS #10 \u8BC1\u4E66\u8BF7\u6C42 (\u7248\u672C 1.0)\n\u4E3B\u4F53: %s\n\u683C\u5F0F: %s\n\u516C\u5171\u5BC6\u94A5: %s\n\u7B7E\u540D\u7B97\u6CD5: %s\n"},
 460         {"verified.by.s.in.s.weak", "\u7531 %2$s \u4E2D\u7684 %1$s \u4EE5 %3$s \u9A8C\u8BC1"},
 461         {"whose.sigalg.risk", "%s \u4F7F\u7528\u7684 %s \u7B7E\u540D\u7B97\u6CD5\u5B58\u5728\u5B89\u5168\u98CE\u9669\u3002"},
 462         {"whose.key.risk", "%s \u4F7F\u7528\u7684 %s \u5B58\u5728\u5B89\u5168\u98CE\u9669\u3002"},
 463     };
 464 
 465 
 466     /**
 467      * Returns the contents of this <code>ResourceBundle</code>.
 468      *
 469      * <p>
 470      *
 471      * @return the contents of this <code>ResourceBundle</code>.
 472      */
 473     @Override
 474     public Object[][] getContents() {
 475         return contents;
 476     }
 477 }