blob: 9e67fa26d3eec12a1e162f8149d8fa9bd57bfde6 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 2005-2006 Sun Microsystems, Inc. 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. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26package sun.security.tools;
27
28/**
29 * <p> This class represents the <code>ResourceBundle</code>
30 * for JarSigner.
31 *
32 */
33public class JarSignerResources_zh_CN extends java.util.ListResourceBundle {
34
35 private static final Object[][] contents = {
36
37 // shared (from jarsigner)
38 {" ", " "},
39 {" ", " "},
40 {" ", " "},
41 {", ", ", "},
42
43 {"provName not a provider", "{0} \u4e0d\u662f\u63d0\u4f9b\u8005"},
44 {"signerClass is not a signing mechanism", "{0} \u4e0d\u662f\u7b7e\u540d\u673a\u5236"},
45 {"jarsigner error: ", "jarsigner \u9519\u8bef\uff1a "},
46 {"Illegal option: ", "\u975e\u6cd5\u9009\u9879\uff1a "},
47 {"-keystore must be NONE if -storetype is {0}",
48 "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219 -keystore \u5fc5\u987b\u4e3a NONE"},
49 {"-keypass can not be specified if -storetype is {0}",
50 "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -keypass"},
51 {"If -protected is specified, then -storepass and -keypass must not be specified",
52 "\u5982\u679c\u6307\u5b9a\u4e86 -protected\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -storepass \u548c -keypass"},
53 {"If keystore is not password protected, then -storepass and -keypass must not be specified",
54"\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass \u548c -keypass"},
55 {"Usage: jarsigner [options] jar-file alias",
56 "\u7528\u6cd5\uff1ajarsigner [\u9009\u9879] jar \u6587\u4ef6\u522b\u540d"},
57 {" jarsigner -verify [options] jar-file",
58 " jarsigner -verify [\u9009\u9879] jar \u6587\u4ef6"},
59 {"[-keystore <url>] keystore location",
60 "[-keystore <url>] \u5bc6\u94a5\u5e93\u4f4d\u7f6e"},
61 {"[-storepass <password>] password for keystore integrity",
62 "[-storepass <\u53e3\u4ee4>] \u7528\u4e8e\u5bc6\u94a5\u5e93\u5b8c\u6574\u6027\u7684\u53e3\u4ee4"},
63 {"[-storetype <type>] keystore type",
64 "[-storetype <\u7c7b\u578b>] \u5bc6\u94a5\u5e93\u7c7b\u578b"},
65 {"[-keypass <password>] password for private key (if different)",
66 "[-keypass <\u53e3\u4ee4>] \u4e13\u7528\u5bc6\u94a5\u7684\u53e3\u4ee4\uff08\u5982\u679c\u4e0d\u540c\uff09"},
67 {"[-sigfile <file>] name of .SF/.DSA file",
68 "[-sigfile <\u6587\u4ef6>] .SF/.DSA \u6587\u4ef6\u7684\u540d\u79f0"},
69 {"[-signedjar <file>] name of signed JAR file",
70 "[-signedjar <\u6587\u4ef6>] \u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6\u7684\u540d\u79f0"},
71 {"[-digestalg <algorithm>] name of digest algorithm",
72 "[-digestalg <\u7b97\u6cd5>] \u6458\u8981\u7b97\u6cd5\u7684\u540d\u79f0"},
73 {"[-sigalg <algorithm>] name of signature algorithm",
74 "[-sigalg <\u7b97\u6cd5>] \u7b7e\u540d\u7b97\u6cd5\u7684\u540d\u79f0"},
75 {"[-verify] verify a signed JAR file",
76 "[-verify] \u9a8c\u8bc1\u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6"},
77 {"[-verbose] verbose output when signing/verifying",
78 "[-verbose] \u7b7e\u540d/\u9a8c\u8bc1\u65f6\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f"},
79 {"[-certs] display certificates when verbose and verifying",
80 "[-certs] \u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u548c\u9a8c\u8bc1\u65f6\u663e\u793a\u8bc1\u4e66"},
81 {"[-tsa <url>] location of the Timestamping Authority",
82 "[-tsa <url>] \u65f6\u95f4\u6233\u673a\u6784\u7684\u4f4d\u7f6e"},
83 {"[-tsacert <alias>] public key certificate for Timestamping Authority",
84 "[-tsacert <\u522b\u540d>] \u65f6\u95f4\u6233\u673a\u6784\u7684\u516c\u5171\u5bc6\u94a5\u8bc1\u4e66"},
85 {"[-altsigner <class>] class name of an alternative signing mechanism",
86 "[-altsigner <\u7c7b>] \u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236\u7684\u7c7b\u540d"},
87 {"[-altsignerpath <pathlist>] location of an alternative signing mechanism",
88 "[-altsignerpath <\u8def\u5f84\u5217\u8868>] \u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236\u7684\u4f4d\u7f6e"},
89 {"[-internalsf] include the .SF file inside the signature block",
90 "[-internalsf] \u5728\u7b7e\u540d\u5757\u5185\u5305\u542b .SF \u6587\u4ef6"},
91 {"[-sectionsonly] don't compute hash of entire manifest",
92 "[-sectionsonly] \u4e0d\u8ba1\u7b97\u6574\u4e2a\u6e05\u5355\u7684\u6563\u5217"},
93 {"[-protected] keystore has protected authentication path",
94 "[-protected] \u5bc6\u94a5\u5e93\u5df2\u4fdd\u62a4\u9a8c\u8bc1\u8def\u5f84"},
95 {"[-providerName <name>] provider name",
96 "[-providerName <\u540d\u79f0>] \u63d0\u4f9b\u8005\u540d\u79f0"},
97 {"[-providerClass <class> name of cryptographic service provider's",
98 "[-providerClass <\u7c7b> \u52a0\u5bc6\u670d\u52a1\u63d0\u4f9b\u8005\u7684\u540d\u79f0"},
99 {" [-providerArg <arg>]] ... master class file and constructor argument",
100 " [-providerArg <\u53c2\u6570>]] ... \u4e3b\u7c7b\u6587\u4ef6\u548c\u6784\u9020\u51fd\u6570\u53c2\u6570"},
101 {"s", "s"},
102 {"m", "m"},
103 {"k", "k"},
104 {"i", "i"},
105 {" s = signature was verified ",
106 " s = \u5df2\u9a8c\u8bc1\u7b7e\u540d "},
107 {" m = entry is listed in manifest",
108 " m = \u5728\u6e05\u5355\u4e2d\u5217\u51fa\u6761\u76ee"},
109 {" k = at least one certificate was found in keystore",
110 " k = \u5728\u5bc6\u94a5\u5e93\u4e2d\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
111 {" i = at least one certificate was found in identity scope",
112 " i = \u5728\u8eab\u4efd\u4f5c\u7528\u57df\u5185\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
113 {"no manifest.", "\u6ca1\u6709\u6e05\u5355\u3002"},
114 {"jar is unsigned. (signatures missing or not parsable)",
115 "jar \u672a\u7b7e\u540d\u3002\uff08\u7f3a\u5c11\u7b7e\u540d\u6216\u7b7e\u540d\u65e0\u6cd5\u89e3\u6790\uff09"},
116 {"jar verified.", "jar \u5df2\u9a8c\u8bc1\u3002"},
117 {"jarsigner: ", "jarsigner\uff1a "},
118 {"signature filename must consist of the following characters: A-Z, 0-9, _ or -",
119 "\u7b7e\u540d\u6587\u4ef6\u540d\u5fc5\u987b\u5305\u542b\u4ee5\u4e0b\u5b57\u7b26\uff1aA-Z\u30010-9\u3001_ \u6216 -"},
120 {"unable to open jar file: ", "\u65e0\u6cd5\u6253\u5f00 jar \u6587\u4ef6\uff1a "},
121 {"unable to create: ", "\u65e0\u6cd5\u521b\u5efa\uff1a "},
122 {" adding: ", " \u6b63\u5728\u6dfb\u52a0\uff1a "},
123 {" updating: ", " \u6b63\u5728\u66f4\u65b0\uff1a "},
124 {" signing: ", " \u6b63\u5728\u7b7e\u540d\uff1a "},
125 {"attempt to rename signedJarFile to jarFile failed",
126 "\u5c1d\u8bd5\u5c06 {0} \u91cd\u547d\u540d\u4e3a {1} \u5931\u8d25"},
127 {"attempt to rename jarFile to origJar failed",
128 "\u5c1d\u8bd5\u5c06 {0} \u91cd\u547d\u540d\u4e3a {1} \u5931\u8d25"},
129 {"unable to sign jar: ", "\u65e0\u6cd5\u5bf9 jar \u8fdb\u884c\u7b7e\u540d\uff1a "},
130 {"Enter Passphrase for keystore: ", "\u8f93\u5165\u5bc6\u94a5\u5e93\u7684\u53e3\u4ee4\u77ed\u8bed\uff1a "},
131 {"keystore load: ", "\u5bc6\u94a5\u5e93\u88c5\u5165\uff1a "},
132 {"certificate exception: ", "\u8bc1\u4e66\u5f02\u5e38\uff1a "},
133 {"unable to instantiate keystore class: ",
134 "\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bc6\u94a5\u5e93\u7c7b\uff1a "},
135 {"Certificate chain not found for: alias. alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
136 "\u627e\u4e0d\u5230 {0} \u7684\u8bc1\u4e66\u94fe\u3002{1} \u5fc5\u987b\u5f15\u7528\u5305\u542b\u4e13\u7528\u5bc6\u94a5\u548c\u76f8\u5e94\u7684\u516c\u5171\u5bc6\u94a5\u8bc1\u4e66\u94fe\u7684\u6709\u6548\u5bc6\u94a5\u5e93\u5bc6\u94a5\u6761\u76ee\u3002"},
137 {"found non-X.509 certificate in signer's chain",
138 "\u5728\u7b7e\u540d\u8005\u7684\u94fe\u4e2d\u627e\u5230\u975e X.509 \u8bc1\u4e66"},
139 {"incomplete certificate chain", "\u8bc1\u4e66\u94fe\u4e0d\u5b8c\u6574"},
140 {"Enter key password for alias: ", "\u8f93\u5165 {0} \u7684\u5bc6\u94a5\u53e3\u4ee4\uff1a "},
141 {"unable to recover key from keystore",
142 "\u65e0\u6cd5\u4ece\u5bc6\u94a5\u5e93\u4e2d\u6062\u590d\u5bc6\u94a5"},
143 {"key associated with alias not a private key",
144 "\u4e0e {0} \u76f8\u5173\u7684\u5bc6\u94a5\u4e0d\u662f\u4e13\u7528\u5bc6\u94a5"},
145 {"you must enter key password", "\u60a8\u5fc5\u987b\u8f93\u5165\u5bc6\u94a5\u53e3\u4ee4"},
146 {"unable to read password: ", "\u65e0\u6cd5\u8bfb\u53d6\u53e3\u4ee4\uff1a "},
147 {"certificate is valid from", "\u8bc1\u4e66\u7684\u6709\u6548\u671f\u4e3a {0} \u81f3 {1}"},
148 {"certificate expired on", "\u8bc1\u4e66\u5230\u671f\u65e5\u671f\u4e3a {0}"},
149 {"certificate is not valid until",
150 "\u76f4\u5230 {0}\uff0c\u8bc1\u4e66\u624d\u6709\u6548"},
151 {"certificate will expire on", "\u8bc1\u4e66\u5c06\u5728 {0} \u5230\u671f"},
152 {"requesting a signature timestamp",
153 "\u6b63\u5728\u8bf7\u6c42\u7b7e\u540d\u65f6\u95f4\u6233"},
154 {"TSA location: ", "TSA \u4f4d\u7f6e\uff1a "},
155 {"TSA certificate: ", "TSA \u8bc1\u4e66\uff1a "},
156 {"no response from the Timestamping Authority. ",
157 "\u65f6\u95f4\u6233\u673a\u6784\u6ca1\u6709\u54cd\u5e94\u3002 "},
158 {"When connecting from behind a firewall then an HTTP proxy may need to be specified. ",
159 "\u5982\u679c\u8981\u4ece\u9632\u706b\u5899\u540e\u9762\u8fde\u63a5\uff0c\u5219\u53ef\u80fd\u9700\u8981\u6307\u5b9a HTTP \u4ee3\u7406\u3002 "},
160 {"Supply the following options to jarsigner: ",
161 "\u8bf7\u4e3a jarsigner \u63d0\u4f9b\u4ee5\u4e0b\u9009\u9879\uff1a "},
162 {"Certificate not found for: alias. alias must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority.",
163 "\u627e\u4e0d\u5230 {0} \u7684\u8bc1\u4e66\u3002{1} \u5fc5\u987b\u5f15\u7528\u5305\u542b\u65f6\u95f4\u6233\u673a\u6784\u7684 X.509 \u516c\u5171\u5bc6\u94a5\u8bc1\u4e66\u7684\u6709\u6548\u5bc6\u94a5\u5e93\u6761\u76ee\u3002"},
164 {"using an alternative signing mechanism",
165 "\u6b63\u5728\u4f7f\u7528\u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236"},
166 {"entry was signed on", "\u6761\u76ee\u7684\u7b7e\u540d\u65e5\u671f\u4e3a {0}"},
167 {"Warning: ", "\u8b66\u544a\uff1a "},
168 {"This jar contains unsigned entries which have not been integrity-checked. ",
169 "\u6b64 jar \u5305\u542b\u5c1a\u672a\u8fdb\u884c\u5b8c\u6574\u6027\u68c0\u67e5\u7684\u672a\u7b7e\u540d\u6761\u76ee\u3002 "},
170 {"This jar contains entries whose signer certificate has expired. ",
171 "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u5df2\u8fc7\u671f\u7684\u6761\u76ee\u3002 "},
172 {"This jar contains entries whose signer certificate will expire within six months. ",
173 "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u5c06\u5728\u516d\u4e2a\u6708\u5185\u8fc7\u671f\u7684\u6761\u76ee\u3002 "},
174 {"This jar contains entries whose signer certificate is not yet valid. ",
175 "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u7684\u6761\u76ee\u3002 "},
176 {"Re-run with the -verbose option for more details.",
177 "\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -verbose \u9009\u9879\u91cd\u65b0\u8fd0\u884c\u3002"},
178 {"Re-run with the -verbose and -certs options for more details.",
179 "\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -verbose \u548c -certs \u9009\u9879\u91cd\u65b0\u8fd0\u884c\u3002"},
180 {"The signer certificate has expired.",
181 "\u7b7e\u540d\u8005\u8bc1\u4e66\u5df2\u8fc7\u671f\u3002"},
182 {"The signer certificate will expire within six months.",
183 "\u7b7e\u540d\u8005\u8bc1\u4e66\u5c06\u5728\u516d\u4e2a\u6708\u5185\u8fc7\u671f\u3002"},
184 {"The signer certificate is not yet valid.",
185 "\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u3002"},
186 {"The signer certificate's KeyUsage extension doesn't allow code signing.",
187"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
188 {"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
189"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
190 {"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
191"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
192 {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
193"\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"},
194 {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
195"\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"},
196 {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
197"\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"},
198 {"[{0} extension does not support code signing]",
199"[{0} \u6269\u5c55\u4e0d\u652f\u6301\u4ee3\u7801\u7b7e\u540d]"},
200 };
201
202 /**
203 * Returns the contents of this <code>ResourceBundle</code>.
204 *
205 * <p>
206 *
207 * @return the contents of this <code>ResourceBundle</code>.
208 */
209 public Object[][] getContents() {
210 return contents;
211 }
212}