Module jdk.jartool

Class JarSigner

  • public final class JarSigner
    extends Object
    An immutable utility class to sign a jar file.

    A caller creates a JarSigner.Builder object, (optionally) sets some parameters, and calls build to create a JarSigner object. This JarSigner object can then be used to sign a jar file.

    Unless otherwise stated, calling a method of JarSigner or JarSigner.Builder with a null argument will throw a NullPointerException.


     JarSigner signer = new JarSigner.Builder(key, certPath)
     try (ZipFile in = new ZipFile(inputFile);
             FileOutputStream out = new FileOutputStream(outputFile)) {
         signer.sign(in, out);
    • Method Detail

      • sign

        public void sign​(ZipFile file,
                         OutputStream os)
        Signs a file into an OutputStream. This method will not close file or os.
        file - the file to sign.
        os - the output stream.
        JarSignerException - if the signing fails.
      • getDigestAlgorithm

        public String getDigestAlgorithm()
        Returns the digest algorithm for this JarSigner.

        The return value is never null.

        the digest algorithm.
      • getSignatureAlgorithm

        public String getSignatureAlgorithm()
        Returns the signature algorithm for this JarSigner.

        The return value is never null.

        the signature algorithm.
      • getTsa

        public URI getTsa()
        Returns the URI of the Time Stamping Authority (TSA).
        the URI of the TSA.
      • getSignerName

        public String getSignerName()
        Returns the signer name of this JarSigner.

        The return value is never null.

        the signer name.
      • getProperty

        public String getProperty​(String key)
        Returns the value of an additional implementation-specific property indicated by the specified key. If a property is not set but has a default value, the default value will be returned.
        Implementation Note:
        See JarSigner.Builder.setProperty(java.lang.String, java.lang.String) for a list of properties this implementation supports. All property names are case-insensitive.
        key - the name of the property.
        the value for the property.
        UnsupportedOperationException - if the key is not supported by this implementation.