Path: blob/master/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java
41161 views
/*1* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425package sun.security.tools.jarsigner;2627/**28* <p> This class represents the <code>ResourceBundle</code>29* for JarSigner.30*31*/32public class Resources extends java.util.ListResourceBundle {3334private static final Object[][] contents = {3536// shared (from jarsigner)37{"SPACE", " "},38{"6SPACE", " "},39{"COMMA", ", "},4041{"provclass.not.a.provider", "%s not a provider"},42{"provider.name.not.found", "Provider named \"%s\" not found"},43{"provider.class.not.found", "Provider \"%s\" not found"},44{"jarsigner.error.", "jarsigner error: "},45{"Illegal.option.", "Illegal option: "},46{"This.option.is.forremoval", "This option is deprecated and will be removed in a future release: "},47{".keystore.must.be.NONE.if.storetype.is.{0}",48"-keystore must be NONE if -storetype is {0}"},49{".keypass.can.not.be.specified.if.storetype.is.{0}",50"-keypass can not be specified if -storetype is {0}"},51{"If.protected.is.specified.then.storepass.and.keypass.must.not.be.specified",52"If -protected is specified, then -storepass and -keypass must not be specified"},53{"If.keystore.is.not.password.protected.then.storepass.and.keypass.must.not.be.specified",54"If keystore is not password protected, then -storepass and -keypass must not be specified"},55{"Usage.jarsigner.options.jar.file.alias",56"Usage: jarsigner [options] jar-file alias"},57{".jarsigner.verify.options.jar.file.alias.",58" jarsigner -verify [options] jar-file [alias...]"},59{".keystore.url.keystore.location",60"[-keystore <url>] keystore location"},61{".storepass.password.password.for.keystore.integrity",62"[-storepass <password>] password for keystore integrity"},63{".storetype.type.keystore.type",64"[-storetype <type>] keystore type"},65{".keypass.password.password.for.private.key.if.different.",66"[-keypass <password>] password for private key (if different)"},67{".certchain.file.name.of.alternative.certchain.file",68"[-certchain <file>] name of alternative certchain file"},69{".sigfile.file.name.of.SF.DSA.file",70"[-sigfile <file>] name of .SF/.DSA file"},71{".signedjar.file.name.of.signed.JAR.file",72"[-signedjar <file>] name of signed JAR file"},73{".digestalg.algorithm.name.of.digest.algorithm",74"[-digestalg <algorithm>] name of digest algorithm"},75{".sigalg.algorithm.name.of.signature.algorithm",76"[-sigalg <algorithm>] name of signature algorithm"},77{".verify.verify.a.signed.JAR.file",78"[-verify] verify a signed JAR file"},79{".verbose.suboptions.verbose.output.when.signing.verifying.",80"[-verbose[:suboptions]] verbose output when signing/verifying."},81{".suboptions.can.be.all.grouped.or.summary",82" suboptions can be all, grouped or summary"},83{".certs.display.certificates.when.verbose.and.verifying",84"[-certs] display certificates when verbose and verifying"},85{".certs.revocation.check",86"[-revCheck] Enable certificate revocation check"},87{".tsa.url.location.of.the.Timestamping.Authority",88"[-tsa <url>] location of the Timestamping Authority"},89{".tsacert.alias.public.key.certificate.for.Timestamping.Authority",90"[-tsacert <alias>] public key certificate for Timestamping Authority"},91{".tsapolicyid.tsapolicyid.for.Timestamping.Authority",92"[-tsapolicyid <oid>] TSAPolicyID for Timestamping Authority"},93{".tsadigestalg.algorithm.of.digest.data.in.timestamping.request",94"[-tsadigestalg <algorithm>] algorithm of digest data in timestamping request"},95{".altsigner.class.class.name.of.an.alternative.signing.mechanism",96"[-altsigner <class>] class name of an alternative signing mechanism\n" +97" (This option is deprecated and will be removed in a future release.)"},98{".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism",99"[-altsignerpath <pathlist>] location of an alternative signing mechanism\n" +100" (This option is deprecated and will be removed in a future release.)"},101{".internalsf.include.the.SF.file.inside.the.signature.block",102"[-internalsf] include the .SF file inside the signature block"},103{".sectionsonly.don.t.compute.hash.of.entire.manifest",104"[-sectionsonly] don't compute hash of entire manifest"},105{".protected.keystore.has.protected.authentication.path",106"[-protected] keystore has protected authentication path"},107{".providerName.name.provider.name",108"[-providerName <name>] provider name"},109{".add.provider.option",110"[-addprovider <name> add security provider by name (e.g. SunPKCS11)"},111{".providerArg.option.1",112" [-providerArg <arg>]] ... configure argument for -addprovider"},113{".providerClass.option",114"[-providerClass <class> add security provider by fully-qualified class name"},115{".providerArg.option.2",116" [-providerArg <arg>]] ... configure argument for -providerClass"},117{".strict.treat.warnings.as.errors",118"[-strict] treat warnings as errors"},119{".conf.url.specify.a.pre.configured.options.file",120"[-conf <url>] specify a pre-configured options file"},121{".print.this.help.message",122"[-? -h --help] Print this help message"},123{"Option.lacks.argument", "Option lacks argument"},124{"Please.type.jarsigner.help.for.usage", "Please type jarsigner --help for usage"},125{"Please.specify.jarfile.name", "Please specify jarfile name"},126{"Please.specify.alias.name", "Please specify alias name"},127{"Only.one.alias.can.be.specified", "Only one alias can be specified"},128{"This.jar.contains.signed.entries.which.is.not.signed.by.the.specified.alias.es.",129"This jar contains signed entries which are not signed by the specified alias(es)."},130{"This.jar.contains.signed.entries.that.s.not.signed.by.alias.in.this.keystore.",131"This jar contains signed entries that are not signed by alias in this keystore."},132{"s", "s"},133{"m", "m"},134{"k", "k"},135{".and.d.more.", "(and %d more)"},136{".s.signature.was.verified.",137" s = signature was verified "},138{".m.entry.is.listed.in.manifest",139" m = entry is listed in manifest"},140{".k.at.least.one.certificate.was.found.in.keystore",141" k = at least one certificate was found in keystore"},142{".X.not.signed.by.specified.alias.es.",143" X = not signed by specified alias(es)"},144{"no.manifest.", "no manifest."},145{".Signature.related.entries.","(Signature related entries)"},146{".Unsigned.entries.", "(Unsigned entries)"},147{"jar.is.unsigned",148"jar is unsigned."},149{"jar.treated.unsigned",150"WARNING: Signature is either not parsable or not verifiable, and the jar will be treated as unsigned. For more information, re-run jarsigner with debug enabled (-J-Djava.security.debug=jar)."},151{"jar.treated.unsigned.see.weak",152"The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled.\n\nRe-run jarsigner with the -verbose option for more details."},153{"jar.treated.unsigned.see.weak.verbose",154"WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property:"},155{"jar.signed.", "jar signed."},156{"jar.signed.with.signer.errors.", "jar signed, with signer errors."},157{"jar.verified.", "jar verified."},158{"jar.verified.with.signer.errors.", "jar verified, with signer errors."},159160{"history.with.ts", "- Signed by \"%1$s\"\n Digest algorithm: %2$s\n Signature algorithm: %3$s, %4$s\n Timestamped by \"%6$s\" on %5$tc\n Timestamp digest algorithm: %7$s\n Timestamp signature algorithm: %8$s, %9$s"},161{"history.without.ts", "- Signed by \"%1$s\"\n Digest algorithm: %2$s\n Signature algorithm: %3$s, %4$s"},162{"history.unparsable", "- Unparsable signature-related file %s"},163{"history.nosf", "- Missing signature-related file META-INF/%s.SF"},164{"history.nobk", "- Missing block file for signature-related file META-INF/%s.SF"},165166{"with.weak", "%s (weak)"},167{"with.disabled", "%s (disabled)"},168{"key.bit", "%d-bit key"},169{"key.bit.weak", "%d-bit key (weak)"},170{"key.bit.disabled", "%d-bit key (disabled)"},171{"unknown.size", "unknown size"},172{"extra.attributes.detected", "POSIX file permission and/or symlink attributes detected. These attributes are ignored when signing and are not protected by the signature."},173174{"jarsigner.", "jarsigner: "},175{"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.",176"signature filename must consist of the following characters: A-Z, 0-9, _ or -"},177{"unable.to.open.jar.file.", "unable to open jar file: "},178{"unable.to.create.", "unable to create: "},179{".adding.", " adding: "},180{".updating.", " updating: "},181{".signing.", " signing: "},182{"attempt.to.rename.signedJarFile.to.jarFile.failed",183"attempt to rename {0} to {1} failed"},184{"attempt.to.rename.jarFile.to.origJar.failed",185"attempt to rename {0} to {1} failed"},186{"unable.to.sign.jar.", "unable to sign jar: "},187{"Enter.Passphrase.for.keystore.", "Enter Passphrase for keystore: "},188{"keystore.load.", "keystore load: "},189{"certificate.exception.", "certificate exception: "},190{"unable.to.instantiate.keystore.class.",191"unable to instantiate keystore class: "},192{"Certificate.chain.not.found.for.alias.alias.must.reference.a.valid.KeyStore.key.entry.containing.a.private.key.and",193"Certificate chain not found for: {0}. {1} must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain."},194{"File.specified.by.certchain.does.not.exist",195"File specified by -certchain does not exist"},196{"Cannot.restore.certchain.from.file.specified",197"Cannot restore certchain from file specified"},198{"Certificate.chain.not.found.in.the.file.specified.",199"Certificate chain not found in the file specified."},200{"found.non.X.509.certificate.in.signer.s.chain",201"found non-X.509 certificate in signer's chain"},202{"Enter.key.password.for.alias.", "Enter key password for {0}: "},203{"unable.to.recover.key.from.keystore",204"unable to recover key from keystore"},205{"key.associated.with.alias.not.a.private.key",206"key associated with {0} not a private key"},207{"you.must.enter.key.password", "you must enter key password"},208{"unable.to.read.password.", "unable to read password: "},209{"certificate.is.valid.from", "certificate is valid from {0} to {1}"},210{"certificate.expired.on", "certificate expired on {0}"},211{"certificate.is.not.valid.until",212"certificate is not valid until {0}"},213{"certificate.will.expire.on", "certificate will expire on {0}"},214{".Invalid.certificate.chain.", "[Invalid certificate chain: "},215{".Invalid.TSA.certificate.chain.", "[Invalid TSA certificate chain: "},216{"requesting.a.signature.timestamp",217"requesting a signature timestamp"},218{"TSA.location.", "TSA location: "},219{"TSA.certificate.", "TSA certificate: "},220{"no.response.from.the.Timestamping.Authority.",221"no response from the Timestamping Authority. When connecting"222+ " from behind a firewall an HTTP or HTTPS proxy may need to"223+ " be specified. Supply the following options to jarsigner:"},224{"or", "or"},225{"Certificate.not.found.for.alias.alias.must.reference.a.valid.KeyStore.entry.containing.an.X.509.public.key.certificate.for.the",226"Certificate not found for: {0}. {1} must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority."},227{"using.an.alternative.signing.mechanism",228"using an alternative signing mechanism"},229{"entry.was.signed.on", "entry was signed on {0}"},230{"Warning.", "Warning: "},231{"Error.", "Error: "},232{"...Signer", ">>> Signer"},233{"...TSA", ">>> TSA"},234{"trusted.certificate", "trusted certificate"},235{"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.",236"This jar contains unsigned entries which have not been integrity-checked. "},237{"This.jar.contains.entries.whose.signer.certificate.has.expired.",238"This jar contains entries whose signer certificate has expired. "},239{"This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months.",240"This jar contains entries whose signer certificate will expire within six months. "},241{"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid.",242"This jar contains entries whose signer certificate is not yet valid. "},243{"This.jar.contains.entries.whose.signer.certificate.is.self.signed.",244"This jar contains entries whose signer certificate is self-signed."},245{"Re.run.with.the.verbose.and.certs.options.for.more.details.",246"Re-run with the -verbose and -certs options for more details."},247{"The.signer.certificate.has.expired.",248"The signer certificate has expired."},249{"The.timestamp.expired.1.but.usable.2",250"The timestamp expired on %1$tY-%1$tm-%1$td. However, the JAR will be valid until the signer certificate expires on %2$tY-%2$tm-%2$td."},251{"The.timestamp.has.expired.",252"The timestamp has expired."},253{"The.signer.certificate.will.expire.within.six.months.",254"The signer certificate will expire within six months."},255{"The.timestamp.will.expire.within.one.year.on.1",256"The timestamp will expire within one year on %1$tY-%1$tm-%1$td."},257{"The.timestamp.will.expire.within.one.year.on.1.but.2",258"The timestamp will expire within one year on %1$tY-%1$tm-%1$td. However, the JAR will be valid until the signer certificate expires on %2$tY-%2$tm-%2$td."},259{"The.signer.certificate.is.not.yet.valid.",260"The signer certificate is not yet valid."},261{"The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",262"The signer certificate's KeyUsage extension doesn't allow code signing."},263{"The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",264"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing."},265{"The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",266"The signer certificate's NetscapeCertType extension doesn't allow code signing."},267{"This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",268"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing."},269{"This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",270"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing."},271{"This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",272"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing."},273{".{0}.extension.does.not.support.code.signing.",274"[{0} extension does not support code signing]"},275{"The.signer.s.certificate.chain.is.invalid.reason.1",276"The signer's certificate chain is invalid. Reason: %s"},277{"The.tsa.certificate.chain.is.invalid.reason.1",278"The TSA certificate chain is invalid. Reason: %s"},279{"The.signer.s.certificate.is.self.signed.",280"The signer's certificate is self-signed."},281{"The.1.algorithm.specified.for.the.2.option.is.considered.a.security.risk..This.algorithm.will.be.disabled.in.a.future.update.",282"The %1$s algorithm specified for the %2$s option is considered a security risk. This algorithm will be disabled in a future update."},283{"The.1.algorithm.specified.for.the.2.option.is.considered.a.security.risk.and.is.disabled.",284"The %1$s algorithm specified for the %2$s option is considered a security risk and is disabled."},285{"The.timestamp.digest.algorithm.1.is.considered.a.security.risk..This.algorithm.will.be.disabled.in.a.future.update.",286"The %1$s timestamp digest algorithm is considered a security risk. This algorithm will be disabled in a future update."},287{"The.digest.algorithm.1.is.considered.a.security.risk..This.algorithm.will.be.disabled.in.a.future.update.",288"The %1$s digest algorithm is considered a security risk. This algorithm will be disabled in a future update."},289{"The.signature.algorithm.1.is.considered.a.security.risk..This.algorithm.will.be.disabled.in.a.future.update.",290"The %1$s signature algorithm is considered a security risk. This algorithm will be disabled in a future update."},291{"The.1.signing.key.has.a.keysize.of.2.which.is.considered.a.security.risk..This.key.size.will.be.disabled.in.a.future.update.",292"The %1$s signing key has a keysize of %2$d which is considered a security risk. This key size will be disabled in a future update."},293{"The.1.signing.key.has.a.keysize.of.2.which.is.considered.a.security.risk.and.is.disabled.",294"The %1$s signing key has a keysize of %2$d which is considered a security risk and is disabled."},295{"This.jar.contains.entries.whose.certificate.chain.is.invalid.reason.1",296"This jar contains entries whose certificate chain is invalid. Reason: %s"},297{"This.jar.contains.entries.whose.tsa.certificate.chain.is.invalid.reason.1",298"This jar contains entries whose TSA certificate chain is invalid. Reason: %s"},299{"no.timestamp.signing",300"No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (%1$tY-%1$tm-%1$td)."},301{"invalid.timestamp.signing",302"The timestamp is invalid. Without a valid timestamp, users may not be able to validate this jar after the signer certificate's expiration date (%1$tY-%1$tm-%1$td)."},303{"no.timestamp.verifying",304"This jar contains signatures that do not include a timestamp. Without a timestamp, users may not be able to validate this jar after any of the signer certificates expire (as early as %1$tY-%1$tm-%1$td)."},305{"bad.timestamp.verifying",306"This jar contains signatures that include an invalid timestamp. Without a valid timestamp, users may not be able to validate this jar after any of the signer certificates expire (as early as %1$tY-%1$tm-%1$td).\nRerun jarsigner with -J-Djava.security.debug=jar for more information."},307{"The.signer.certificate.will.expire.on.1.",308"The signer certificate will expire on %1$tY-%1$tm-%1$td."},309{"The.timestamp.will.expire.on.1.",310"The timestamp will expire on %1$tY-%1$tm-%1$td."},311{"signer.cert.expired.1.but.timestamp.good.2.",312"The signer certificate expired on %1$tY-%1$tm-%1$td. However, the JAR will be valid until the timestamp expires on %2$tY-%2$tm-%2$td."},313{"Unknown.password.type.", "Unknown password type: "},314{"Cannot.find.environment.variable.",315"Cannot find environment variable: "},316{"Cannot.find.file.", "Cannot find file: "},317{"event.ocsp.check", "Contacting OCSP server at %s ..."},318{"event.crl.check", "Downloading CRL from %s ..."},319};320321/**322* Returns the contents of this <code>ResourceBundle</code>.323*324* <p>325*326* @return the contents of this <code>ResourceBundle</code>.327*/328@Override329public Object[][] getContents() {330return contents;331}332}333334335