如何在 Java 中仅使用没有私钥的证书对 pdf 文件进行签名?

How to sign pdf file with just a certificate without private key in Java?

我从某个时间戳机构获得了证书。我想知道,是否可以只用证书签署 pdf 文档。我看到的所有方法都是使用 Java 中的证书和私钥进行签名。如果可能,我可以使用什么 class java?

这是不可能的。

public 密钥基础结构中的数字签名:消息使用私钥签名并使用 public 验证(public 密钥包含在证书中)

但是如果您从证书颁发机构 (CA) 获得证书,那么您可能拥有私钥。 CA 使用您创建并使用您的私钥签名的 CSR(证书签名请求)颁发证书。参见

查找 .key 文件


TSA 与 CA

TSA 颁发 "time stamps",而不是证书。 CA 颁发证书。 TSA 可以使用其中一些来发布时间戳。要签署 PDF,您需要私钥和证书。要为 PDF 添加时间戳,您需要向 TSA

请求时间戳