java.lang.Object
jdk.security.jarsigner.JarSigner
一个不可变的实用程序类,用于对jar文件进行签名。
调用者创建一个JarSigner.Builder
对象,(可选地)设置一些参数,并调用build
来创建一个JarSigner
对象。然后可以使用这个JarSigner
对象来对jar文件进行签名。
除非另有说明,否则使用null参数调用JarSigner
或JarSigner.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
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
一个可变的构建器类,可以根据各种与签名相关的参数创建一个不可变的JarSigner
。 -
Method Summary
Modifier and TypeMethodDescription返回此JarSigner
的摘要算法。getProperty
(String key) 返回由指定键指示的附加特定于实现的属性的值。返回此JarSigner
的签名算法。返回此JarSigner
的签名者名称。getTsa()
返回时间戳授权机构(TSA)的 URI。void
sign
(ZipFile file, OutputStream os) 将文件签名到一个OutputStream
中。
-
Method Details
-
sign
将文件签名到一个OutputStream
中。此方法不会关闭file
或os
。如果在签名过程中发生 I/O 错误或签名错误,则可能在写入一些字节后发生。因此,输出流可能处于不一致状态。强烈建议在这种情况下立即关闭它。
- 参数:
-
file
- 要签名的文件。 -
os
- 输出流。 - 抛出:
-
JarSignerException
- 如果签名失败。
-
getDigestAlgorithm
返回此JarSigner
的摘要算法。返回值永远不会是null。
- 返回:
- 摘要算法。
-
getSignatureAlgorithm
返回此JarSigner
的签名算法。返回值永远不会是null。
- 返回:
- 签名算法。
-
getTsa
返回时间戳授权机构(TSA)的 URI。- 返回:
- TSA 的 URI。
-
getSignerName
返回此JarSigner
的签名者名称。返回值永远不会是null。
- 返回:
- 签名者名称。
-
getProperty
返回由指定键指示的附加特定于实现的属性的值。如果属性未设置但具有默认值,则将返回默认值。- 实现注意:
-
请参阅
JarSigner.Builder.setProperty(java.lang.String, java.lang.String)
以获取此实现支持的属性列表。所有属性名称不区分大小写。 - 参数:
-
key
- 属性的名称。 - 返回:
- 属性的值。
- 抛出:
-
UnsupportedOperationException
- 如果此实现不支持该键。
-