模块  jdk.jartool

Class JarSigner


  • public final class JarSigner
    extends Object
    用于签署jar文件的不可变实用程序类。

    调用者创建JarSigner.Builder对象,(可选)设置一些参数,并调用build创建JarSigner对象。 然后可以使用此JarSigner对象来签署jar文件。

    除非另有说明,否则使用null参数调用JarSignerJarSigner.Builder的方法将抛出NullPointerException

    例:

      JarSigner signer = new JarSigner.Builder(key, certPath)
             .digestAlgorithm("SHA-1")
             .signatureAlgorithm("SHA1withDSA")
             .build();
     try (ZipFile in = new ZipFile(inputFile);
             FileOutputStream out = new FileOutputStream(outputFile)) {
         signer.sign(in, out);
     } 
    从以下版本开始:
    9
    • 方法详细信息

      • sign

        public void sign​(ZipFile file,
                         OutputStream os)
        将文件签名到OutputStream 该方法将不会关闭fileos

        如果在签名期间发生I / O错误或签名错误,则可能在写入一些字节后执行此操作。 因此,输出流可能处于不一致状态。 强烈建议在这种情况下立即关闭它。

        参数
        file - 要签名的文件。
        os - 输出流。
        异常
        JarSignerException - 如果签名失败。
      • getDigestAlgorithm

        public String getDigestAlgorithm()
        返回此JarSigner的摘要算法。

        返回值永远不为null。

        结果
        摘要算法。
      • getSignatureAlgorithm

        public String getSignatureAlgorithm()
        返回此JarSigner的签名算法。

        返回值永远不为null。

        结果
        签名算法。
      • getTsa

        public URI getTsa()
        返回时间戳管理局(TSA)的URI。
        结果
        TSA的URI。
      • getSignerName

        public String getSignerName()
        返回此JarSigner的签名者名称。

        返回值永远不为null。

        结果
        签名者姓名。