欢迎来到StackOverflow!你的问题非常笼统。我的答案如下,但将来会有更具体的问题。
在这个答案中,我假设您正在谈论一个人使用标准数字签名对文档进行数字签名,例如PDF或Word文件,如 NIST数字签名标准 和其他统一标准。
的 1)我猜它是如何工作的(加密几个字符,然后解密它来验证)。 ? 强>
不,这不是标准数字签名的工作方式。看到这个 资源 和其他人的解释。
的 2)如果我加密我的经理的签名,我会加密他的实际签名或他的名字吗? 强>
严格地说,数字签名保证签名者的数字证书用于签署文件/文档,并且文档在签名后未被修改。 因此,您的问题的一个答案是您为经理创建了数字证书。数字证书不包含经理手写签名的图形表示。
Fred可以对文档进行数字签名,而不会在其上显示Fred的图形签名。这有时被称为“隐形数字签名”,因为文档的视觉外观不会改变。
实际上,人们希望在数字签名的文档上看到签名者签名的直观表示。这可以通过将图形签名添加到文档然后对文档进行数字签名来完成。
用于数字签名特定文档格式的一些标准明确支持(可选的)图形签名作为数字签名过程的一部分。这包括用于向PDF文档添加数字签名的PDF标准以及向Word和Excel文档添加数字签名的事实标准。
的 3)在签名后打印的纸张上打印什么?此名称或加密字符。 强>
你作为程序员, 不要在纸上打印任何东西!你使用API(有很多选择, 包括这些 ),对文档进行数字签名。然后,您可以使用标准应用程序打印文档。应用程序需要理解和实现数字签名。
如果使用标准数字签名,则通常由现成的软件打印经过数字签名的文件。例如,将使用Word应用程序打印经过数字签名的Word文档。数字签名的PDF文档通常由免费的Adobe Reader应用程序打印,但也可以由其他应用程序(如Bluebeam,Adobe Acrobat等)理解和打印。
(不可见的)数字签名在打印文档上不可见。只有可见的图形签名(如果它包含在签名过程中)将是可见的。
的 4)我办公室外的另一个人如何验证此签名? 强>
对于PDF,他们通常在免费的Adobe Reader中打开签名文档。 (不需要附加软件。)Adobe Reader将重新散列文档并将其计算的散列与数字签名中的数字签名散列进行比较。这将证明该文件自签署后未被修改。
Adobe Reader还会通过将签名者及其父母与计算机信任库中的证书进行比较来检查您是否信任签名者的数字证书(包含在文档中)。如果签名者从CA购买(昂贵的)数字证书,那么支票通常会成功。
或者,您可以为组织创建自签名数字证书,并将其发布到您的网站和第三方目录中。这就是我公司的大多数客户所做的事情。在这种情况下,您的数字签名基础架构的运营成本要低得多(按数量级)。但文档收件人需要一次性安装组织的根证书。在实践中,这很好。
Adobe Reader还将检查时间戳,数字证书有效日期,数字证书的证书吊销列表(CRL)和/或CA的在线证书状态协议。验证数字签名很复杂。 p>