假设我有一个 SSL 证书(x.509 证书),用于通过 HTTPS 提供我的个人网站。是否可以使用此证书对我在 Acrobat DC 中提供的 PDF 进行数字签名?我是否想使用我的 SSL 证书来执行此操作?
答案1
从技术上讲,您可以使用公钥-私钥对中的私钥对任何内容进行签名。给定软件包将接受哪种形式的公钥-私钥对作为签名和验证签名的有效密钥,则是另一回事。我不知道 Acrobat Document Cloud 对签名和验证密钥的具体要求。
一般来说,如果软件包要求用于签名/验证的密钥对的公钥包含在有效的公钥证书中,则它可能要求该证书具有“密钥使用”声明,指定该密钥对于数字签名有效。
看起来像证书保护https://letsencrypt.org/它本身的一个关键使用属性是“数字签名”,因此假设他们颁发的证书具有相同的密钥使用属性,那么是的,您应该能够使用它来签署文件。
使用 SSL 证书 [与其中所含公钥相匹配的私钥] 签署文档可以证明该文档已由该证书的主题部分中标识的实体认证,对于 SSL 证书而言,该实体是 Web 服务器域名,而不是您个人。
如果您想清楚地表明该文件是由您作为个人认证的,那么您需要一个在主题部分包含您的个人身份的证书,因此其中包含您的个人公钥,而不是您的网络服务器/域名的身份。
带有个人身份的证书通常作为“电子邮件”(S/MIME 等)证书出售。
答案2
我可以使用我的 SSL 网站使用的密钥对 PDF 进行数字签名吗?
不,通常情况下X.509 证书的“密钥用途”字段不允许。数字签名软件会检查证书中的该字段。
以下是 SSL 网站证书的“密钥用途”字段:
这是用于对 PDF 文档进行数字签名的证书的“密钥用途”字段。与上面的内容进行比较。
如果您可以使用 4 美元的 SSL 证书对代码或文档进行数字签名,那么 CA 就不能向您收取数百美元的数字签名证书费用!
附言:从技术上来说,CA 可以颁发允许您使用其执行所有操作的证书,但他们却没有这么做。