Module jdk.jartool

Class JarSigner

java.lang.Object
jdk.security.jarsigner.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-256")
            .signatureAlgorithm("SHA256withRSA")
            .build();
    try (ZipFile  in = new ZipFile(inputFile);
            FileOutputStream out = new FileOutputStream(outputFile)) {
        signer.sign(in, out);
    }
自 JDK 版本:
9
  • Method Details

    • 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。

      返回:
      签名者名称。
    • getProperty

      public String getProperty(String key)
      返回由指定键指示的附加特定于实现的属性的值。如果属性未设置但具有默认值,则将返回默认值。
      实现注意:
      请参阅JarSigner.Builder.setProperty(java.lang.String, java.lang.String)以获取此实现支持的属性列表。所有属性名称不区分大小写。
      参数:
      key - 属性的名称。
      返回:
      属性的值。
      抛出:
      UnsupportedOperationException - 如果此实现不支持该键。