001: /*
002: * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025:
026: package sun.security.tools;
027:
028: /**
029: * <p> This class represents the <code>ResourceBundle</code>
030: * for JarSigner.
031: *
032: * @version 1.11, 05/05/07
033: */
034: public class JarSignerResources_zh_CN extends
035: java.util.ListResourceBundle {
036:
037: private static final Object[][] contents = {
038:
039: // shared (from jarsigner)
040: { " ", " " },
041: { " ", " " },
042: { " ", " " },
043: { ", ", ", " },
044:
045: { "provName not a provider",
046: "{0} \u4e0d\u662f\u63d0\u4f9b\u8005" },
047: { "signerClass is not a signing mechanism",
048: "{0} \u4e0d\u662f\u7b7e\u540d\u673a\u5236" },
049: { "jarsigner error: ", "jarsigner \u9519\u8bef\uff1a " },
050: { "Illegal option: ", "\u975e\u6cd5\u9009\u9879\uff1a " },
051: {
052: "-keystore must be NONE if -storetype is {0}",
053: "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219 -keystore \u5fc5\u987b\u4e3a NONE" },
054: {
055: "-keypass can not be specified if -storetype is {0}",
056: "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -keypass" },
057: {
058: "If -protected is specified, then -storepass and -keypass must not be specified",
059: "\u5982\u679c\u6307\u5b9a\u4e86 -protected\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -storepass \u548c -keypass" },
060: {
061: "If keystore is not password protected, then -storepass and -keypass must not be specified",
062: "\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass \u548c -keypass" },
063: { "Usage: jarsigner [options] jar-file alias",
064: "\u7528\u6cd5\uff1ajarsigner [\u9009\u9879] jar \u6587\u4ef6\u522b\u540d" },
065: { " jarsigner -verify [options] jar-file",
066: " jarsigner -verify [\u9009\u9879] jar \u6587\u4ef6" },
067: { "[-keystore <url>] keystore location",
068: "[-keystore <url>] \u5bc6\u94a5\u5e93\u4f4d\u7f6e" },
069: {
070: "[-storepass <password>] password for keystore integrity",
071: "[-storepass <\u53e3\u4ee4>] \u7528\u4e8e\u5bc6\u94a5\u5e93\u5b8c\u6574\u6027\u7684\u53e3\u4ee4" },
072: { "[-storetype <type>] keystore type",
073: "[-storetype <\u7c7b\u578b>] \u5bc6\u94a5\u5e93\u7c7b\u578b" },
074: {
075: "[-keypass <password>] password for private key (if different)",
076: "[-keypass <\u53e3\u4ee4>] \u4e13\u7528\u5bc6\u94a5\u7684\u53e3\u4ee4\uff08\u5982\u679c\u4e0d\u540c\uff09" },
077: { "[-sigfile <file>] name of .SF/.DSA file",
078: "[-sigfile <\u6587\u4ef6>] .SF/.DSA \u6587\u4ef6\u7684\u540d\u79f0" },
079: {
080: "[-signedjar <file>] name of signed JAR file",
081: "[-signedjar <\u6587\u4ef6>] \u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6\u7684\u540d\u79f0" },
082: { "[-digestalg <algorithm>] name of digest algorithm",
083: "[-digestalg <\u7b97\u6cd5>] \u6458\u8981\u7b97\u6cd5\u7684\u540d\u79f0" },
084: {
085: "[-sigalg <algorithm>] name of signature algorithm",
086: "[-sigalg <\u7b97\u6cd5>] \u7b7e\u540d\u7b97\u6cd5\u7684\u540d\u79f0" },
087: {
088: "[-verify] verify a signed JAR file",
089: "[-verify] \u9a8c\u8bc1\u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6" },
090: {
091: "[-verbose] verbose output when signing/verifying",
092: "[-verbose] \u7b7e\u540d/\u9a8c\u8bc1\u65f6\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f" },
093: {
094: "[-certs] display certificates when verbose and verifying",
095: "[-certs] \u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u548c\u9a8c\u8bc1\u65f6\u663e\u793a\u8bc1\u4e66" },
096: {
097: "[-tsa <url>] location of the Timestamping Authority",
098: "[-tsa <url>] \u65f6\u95f4\u6233\u673a\u6784\u7684\u4f4d\u7f6e" },
099: {
100: "[-tsacert <alias>] public key certificate for Timestamping Authority",
101: "[-tsacert <\u522b\u540d>] \u65f6\u95f4\u6233\u673a\u6784\u7684\u516c\u5171\u5bc6\u94a5\u8bc1\u4e66" },
102: {
103: "[-altsigner <class>] class name of an alternative signing mechanism",
104: "[-altsigner <\u7c7b>] \u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236\u7684\u7c7b\u540d" },
105: {
106: "[-altsignerpath <pathlist>] location of an alternative signing mechanism",
107: "[-altsignerpath <\u8def\u5f84\u5217\u8868>] \u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236\u7684\u4f4d\u7f6e" },
108: {
109: "[-internalsf] include the .SF file inside the signature block",
110: "[-internalsf] \u5728\u7b7e\u540d\u5757\u5185\u5305\u542b .SF \u6587\u4ef6" },
111: {
112: "[-sectionsonly] don't compute hash of entire manifest",
113: "[-sectionsonly] \u4e0d\u8ba1\u7b97\u6574\u4e2a\u6e05\u5355\u7684\u6563\u5217" },
114: {
115: "[-protected] keystore has protected authentication path",
116: "[-protected] \u5bc6\u94a5\u5e93\u5df2\u4fdd\u62a4\u9a8c\u8bc1\u8def\u5f84" },
117: { "[-providerName <name>] provider name",
118: "[-providerName <\u540d\u79f0>] \u63d0\u4f9b\u8005\u540d\u79f0" },
119: {
120: "[-providerClass <class> name of cryptographic service provider's",
121: "[-providerClass <\u7c7b> \u52a0\u5bc6\u670d\u52a1\u63d0\u4f9b\u8005\u7684\u540d\u79f0" },
122: {
123: " [-providerArg <arg>]] ... master class file and constructor argument",
124: " [-providerArg <\u53c2\u6570>]] ... \u4e3b\u7c7b\u6587\u4ef6\u548c\u6784\u9020\u51fd\u6570\u53c2\u6570" },
125: { "s", "s" },
126: { "m", "m" },
127: { "k", "k" },
128: { "i", "i" },
129: { " s = signature was verified ",
130: " s = \u5df2\u9a8c\u8bc1\u7b7e\u540d " },
131: { " m = entry is listed in manifest",
132: " m = \u5728\u6e05\u5355\u4e2d\u5217\u51fa\u6761\u76ee" },
133: {
134: " k = at least one certificate was found in keystore",
135: " k = \u5728\u5bc6\u94a5\u5e93\u4e2d\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66" },
136: {
137: " i = at least one certificate was found in identity scope",
138: " i = \u5728\u8eab\u4efd\u4f5c\u7528\u57df\u5185\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66" },
139: { "no manifest.", "\u6ca1\u6709\u6e05\u5355\u3002" },
140: {
141: "jar is unsigned. (signatures missing or not parsable)",
142: "jar \u672a\u7b7e\u540d\u3002\uff08\u7f3a\u5c11\u7b7e\u540d\u6216\u7b7e\u540d\u65e0\u6cd5\u89e3\u6790\uff09" },
143: { "jar verified.", "jar \u5df2\u9a8c\u8bc1\u3002" },
144: { "jarsigner: ", "jarsigner\uff1a " },
145: {
146: "signature filename must consist of the following characters: A-Z, 0-9, _ or -",
147: "\u7b7e\u540d\u6587\u4ef6\u540d\u5fc5\u987b\u5305\u542b\u4ee5\u4e0b\u5b57\u7b26\uff1aA-Z\u30010-9\u3001_ \u6216 -" },
148: { "unable to open jar file: ",
149: "\u65e0\u6cd5\u6253\u5f00 jar \u6587\u4ef6\uff1a " },
150: { "unable to create: ", "\u65e0\u6cd5\u521b\u5efa\uff1a " },
151: { " adding: ", " \u6b63\u5728\u6dfb\u52a0\uff1a " },
152: { " updating: ", " \u6b63\u5728\u66f4\u65b0\uff1a " },
153: { " signing: ", " \u6b63\u5728\u7b7e\u540d\uff1a " },
154: { "attempt to rename signedJarFile to jarFile failed",
155: "\u5c1d\u8bd5\u5c06 {0} \u91cd\u547d\u540d\u4e3a {1} \u5931\u8d25" },
156: { "attempt to rename jarFile to origJar failed",
157: "\u5c1d\u8bd5\u5c06 {0} \u91cd\u547d\u540d\u4e3a {1} \u5931\u8d25" },
158: { "unable to sign jar: ",
159: "\u65e0\u6cd5\u5bf9 jar \u8fdb\u884c\u7b7e\u540d\uff1a " },
160: { "Enter Passphrase for keystore: ",
161: "\u8f93\u5165\u5bc6\u94a5\u5e93\u7684\u53e3\u4ee4\u77ed\u8bed\uff1a " },
162: { "keystore load: ",
163: "\u5bc6\u94a5\u5e93\u88c5\u5165\uff1a " },
164: { "certificate exception: ",
165: "\u8bc1\u4e66\u5f02\u5e38\uff1a " },
166: { "unable to instantiate keystore class: ",
167: "\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bc6\u94a5\u5e93\u7c7b\uff1a " },
168: {
169: "Certificate chain not found for: alias. alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
170: "\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" },
171: {
172: "found non-X.509 certificate in signer's chain",
173: "\u5728\u7b7e\u540d\u8005\u7684\u94fe\u4e2d\u627e\u5230\u975e X.509 \u8bc1\u4e66" },
174: { "incomplete certificate chain",
175: "\u8bc1\u4e66\u94fe\u4e0d\u5b8c\u6574" },
176: { "Enter key password for alias: ",
177: "\u8f93\u5165 {0} \u7684\u5bc6\u94a5\u53e3\u4ee4\uff1a " },
178: { "unable to recover key from keystore",
179: "\u65e0\u6cd5\u4ece\u5bc6\u94a5\u5e93\u4e2d\u6062\u590d\u5bc6\u94a5" },
180: { "key associated with alias not a private key",
181: "\u4e0e {0} \u76f8\u5173\u7684\u5bc6\u94a5\u4e0d\u662f\u4e13\u7528\u5bc6\u94a5" },
182: { "you must enter key password",
183: "\u60a8\u5fc5\u987b\u8f93\u5165\u5bc6\u94a5\u53e3\u4ee4" },
184: { "unable to read password: ",
185: "\u65e0\u6cd5\u8bfb\u53d6\u53e3\u4ee4\uff1a " },
186: { "certificate is valid from",
187: "\u8bc1\u4e66\u7684\u6709\u6548\u671f\u4e3a {0} \u81f3 {1}" },
188: { "certificate expired on",
189: "\u8bc1\u4e66\u5230\u671f\u65e5\u671f\u4e3a {0}" },
190: { "certificate is not valid until",
191: "\u76f4\u5230 {0}\uff0c\u8bc1\u4e66\u624d\u6709\u6548" },
192: { "certificate will expire on",
193: "\u8bc1\u4e66\u5c06\u5728 {0} \u5230\u671f" },
194: { "requesting a signature timestamp",
195: "\u6b63\u5728\u8bf7\u6c42\u7b7e\u540d\u65f6\u95f4\u6233" },
196: { "TSA location: ", "TSA \u4f4d\u7f6e\uff1a " },
197: { "TSA certificate: ", "TSA \u8bc1\u4e66\uff1a " },
198: { "no response from the Timestamping Authority. ",
199: "\u65f6\u95f4\u6233\u673a\u6784\u6ca1\u6709\u54cd\u5e94\u3002 " },
200: {
201: "When connecting from behind a firewall then an HTTP proxy may need to be specified. ",
202: "\u5982\u679c\u8981\u4ece\u9632\u706b\u5899\u540e\u9762\u8fde\u63a5\uff0c\u5219\u53ef\u80fd\u9700\u8981\u6307\u5b9a HTTP \u4ee3\u7406\u3002 " },
203: { "Supply the following options to jarsigner: ",
204: "\u8bf7\u4e3a jarsigner \u63d0\u4f9b\u4ee5\u4e0b\u9009\u9879\uff1a " },
205: {
206: "Certificate not found for: alias. alias must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority.",
207: "\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" },
208: { "using an alternative signing mechanism",
209: "\u6b63\u5728\u4f7f\u7528\u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236" },
210: { "entry was signed on",
211: "\u6761\u76ee\u7684\u7b7e\u540d\u65e5\u671f\u4e3a {0}" },
212: { "Warning: ", "\u8b66\u544a\uff1a " },
213: {
214: "This jar contains unsigned entries which have not been integrity-checked. ",
215: "\u6b64 jar \u5305\u542b\u5c1a\u672a\u8fdb\u884c\u5b8c\u6574\u6027\u68c0\u67e5\u7684\u672a\u7b7e\u540d\u6761\u76ee\u3002 " },
216: {
217: "This jar contains entries whose signer certificate has expired. ",
218: "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u5df2\u8fc7\u671f\u7684\u6761\u76ee\u3002 " },
219: {
220: "This jar contains entries whose signer certificate will expire within six months. ",
221: "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u5c06\u5728\u516d\u4e2a\u6708\u5185\u8fc7\u671f\u7684\u6761\u76ee\u3002 " },
222: {
223: "This jar contains entries whose signer certificate is not yet valid. ",
224: "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u7684\u6761\u76ee\u3002 " },
225: {
226: "Re-run with the -verbose option for more details.",
227: "\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -verbose \u9009\u9879\u91cd\u65b0\u8fd0\u884c\u3002" },
228: {
229: "Re-run with the -verbose and -certs options for more details.",
230: "\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -verbose \u548c -certs \u9009\u9879\u91cd\u65b0\u8fd0\u884c\u3002" },
231: { "The signer certificate has expired.",
232: "\u7b7e\u540d\u8005\u8bc1\u4e66\u5df2\u8fc7\u671f\u3002" },
233: {
234: "The signer certificate will expire within six months.",
235: "\u7b7e\u540d\u8005\u8bc1\u4e66\u5c06\u5728\u516d\u4e2a\u6708\u5185\u8fc7\u671f\u3002" },
236: { "The signer certificate is not yet valid.",
237: "\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u3002" },
238: {
239: "The signer certificate's KeyUsage extension doesn't allow code signing.",
240: "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002" },
241: {
242: "The signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
243: "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002" },
244: {
245: "The signer certificate's NetscapeCertType extension doesn't allow code signing.",
246: "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002" },
247: {
248: "This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
249: "\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" },
250: {
251: "This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
252: "\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" },
253: {
254: "This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
255: "\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" },
256: { "[{0} extension does not support code signing]",
257: "[{0} \u6269\u5c55\u4e0d\u652f\u6301\u4ee3\u7801\u7b7e\u540d]" }, };
258:
259: /**
260: * Returns the contents of this <code>ResourceBundle</code>.
261: *
262: * <p>
263: *
264: * @return the contents of this <code>ResourceBundle</code>.
265: */
266: public Object[][] getContents() {
267: return contents;
268: }
269: }
|