关于数字签名

在 LibreOffice 中,可对文档和宏进行数字签名。

证书

要对文档进行数字签名,需要个人密钥和证书。个人密钥以私钥和公钥的组合形式存储在您的计算机上,前者必须保密,而后者需要在签署文档时将其添加到其中。

保存和签署文档

在对某文档应用数字签名时,会从该文档的内容和您的个人密钥计算出一种校验和。该校验和与您的公钥随该文档一起存储。

打开签名的文档

当某人稍后在安装了最新版本的 LibreOffice 的任意一台计算机上打开该文档时,程序将再次计算校验和,并将其与存储的校验和进行比较。如果二者相同,程序将表明您看到的是原始的未修改文档。此外,程序还会向您显示证书中的公钥信息。

您可将此公钥与认证中心 Web 站点上发布的公钥进行比较。

只要有人修改文档内容,此修改就会破坏数字签名。执行修改后,将没有用以表明您所看到的是原始文档的标记。

签名验证的结果显示在状态栏和「数字签名」对话框中。某些文档和宏签名会位于 ODF 文档中。如果某个签名出现问题,则系统会将该签名的验证结果假定为所有签名的验证结果。也就是说,如果存在十个有效签名和一个无效签名,则状态栏和对话框中的状态字段会将签名标记为无效。

打开签名的文档时,您会看到以下任意图标和消息。

「状态」栏中的图标

签名状态

图标

签名有效。

图标

签名没有问题,但证书无法验证。

签名和证书均没有问题,但部分文档没有签名。 (对于使用旧版本的软件签名的文档,请参见以下说明。)

图标

签名无效。


签名和软件版本

OpenOffice.org 3.2 和 StarSuite 9.2 中的内容签名发生了更改。现在,除签名文件本身 (META-INF/documentsignatures.xml) 以外,文件的所有内容都会被签名。

如果使用 OpenOffice.org 3.2、StarSuite 9.2 或更新版本对某个文档进行签名,然后在该软件的较旧版本中打开此文档,则签名会显示为「无效」。如果使用该软件的较旧版本创建了签名,然后在较新版本中加载该签名,则签名会被标记为「仅对部分文档进行了签名」。

当您对 OOXML 文档进行签名时,签名将始终标记为「仅对文档的一部分进行签名」。OOXML 文件的「元数据」永远不会签名, 以便与 Microsoft Office 兼容。

当您签署 PDF 文档时,不会使用此标记。仅对文档的一些部分进行签名是无效的签名。

目前不支持对其他文档格式进行签名。

note

加载 ODF 文档时,您可能会看到对话框的状态栏和状态字段显示该文件仅部分签署的图标。此状在 签名和证书有效,但是是通过 OpenOffice.org 3.2 或更低版本或低于 9.2 的 StarSuite 9.2 创建的。在低于 3.0 的 OpenOffice.org 或低于 9.0 的 StarOffice 中,文档签名仅应用到主内容、图片以及嵌入对象,而像宏等内容却没有签署。在 OpenOffice.org 3.0 与 StarOffice 9.0 中,文档签名应用到大多数内容,包括宏。然而,mime 类型与 META-INF 文件夹的内容却没有签署。在 OpenOffice.org 3.2、StarSuite 9.2,以及所有版本的 LibreOffice 中,所有内容,除签名文件本身 (META-INF/documentsignatures.xml),都经过签署。


安全警告

如果您收到一个签名文档,并且软件报告该签名为有效签名,这并不能保证文档就是该发件人所发送的文档。使用软件证书对文档进行签名并不是绝对安全的方法。有许多方法可以规避掉安全功能的保护。

示例: 假设某人要将身份伪装成与您有往来的银行的发件人。此人可以使用假名轻易获取证书,然后向您发送任何已签名的电子邮件,假装他在与您有往来的银行工作。您会收到该电子邮件,并且电子邮件或邮件中的文档都具有「有效签名」图标。

请不要信任此图标。要对证书进行检查和验证。

warning

对签名的验证并不确保具有任何形式的法律约束力。


在 Windows 操作系统上,可使用 Windows 的签名验证功能。在 Solaris 和 Linux 系统上,可使用由 Thunderbird、Mozilla 或 Firefox 提供的文件。您必须确保系统内正在使用的文件确实是由原始开发者提供的原始文件。恶意入侵者可以使用多种方法将原始文件替换为他们自己提供的其他文件。

warning

LibreOffice 中显示的有关签名验证的消息即验证文件返回的消息。LibreOffice 软件无法确保该消息所反映证书状态的真实性。LibreOffice 软件仅显示不受 LibreOffice 控制的其他文件所报告的消息。对于所显示的消息能否反映数字签名的真实状态,LibreOffice 不承担任何法律责任。


请支持我们!