Contents

# About Digital Signatures

In LibreOfficeDev, you can digitally sign your documents and macros.

## Certificates

To sign a document digitally, you need a personal key, the certificate. A personal key is stored on your computer as a combination of a private key, which must be kept secret, and a public key, which you add to your documents when you sign them.

## Save and sign the document

When you apply a digital signature to a document, a kind of checksum is computed from the document's content plus your personal key. The checksum and your public key are stored together with the document.

## Open a signed document

When someone later opens the document on any computer with a recent version of LibreOfficeDev, the program will compute the checksum again and compare it with the stored checksum. If both are the same, the program will signal that you see the original, unchanged document. In addition, the program can show you the public key information from the certificate.

You can compare the public key with the public key that is published on the web site of the certificate authority.

Whenever someone changes something in the document, this change breaks the digital signature. After the change, there will be no sign that you see the original document.

The result of the signature validation is displayed in the status bar and within the Digital Signature dialog. Several documents and macro signatures can exist inside an ODF document. If there is a problem with one signature, then the validation result of that one signature is assumed for all signatures. That is, if there are ten valid signatures and one invalid signature, then the status bar and the status field in the dialog will flag the signature as invalid.

You can see any of the following icons and messages when you open a signed document.

Icon in Status bar | Signature status
--- | ---
| The signature is valid.
| The signature is OK, but the certificates could not be validated. The signature and the certificate are OK, but not all parts of the document are signed. (For documents that were signed with old versions of the software, see note below.)
| The signature is invalid.

### Signatures and software versions

The signing of contents got changed with OpenOffice.org 3.2 and StarOffice 9.2. Now all contents of the files, except the signature file itself (META-INF/documentsignatures.xml) are signed.

When you sign a document with OpenOffice.org 3.2 or StarOffice 9.2 or a later version, and you open that document in an older version of the software, the signature will be displayed as "invalid". Signatures created with older versions of the software will be marked with "only parts of the document are signed" when loaded in the newer software.

When you sign an OOXML document, then the signature will be always marked with "only parts of the document are signed". Metadata of OOXML files are never signed, to be compatible with Microsoft Office.

When you sign a PDF document, then this marking is not used. Signing only parts of the document is simply an invalid signature.

Signing other document formats is not supported at the moment.

When you load an ODF document, you might see an icon in the status bar and the status field in the dialog that indicates that the document is only partially signed. This status will appear when the signature and certificate are valid, but they were created with a version of OpenOffice.org before 3.2 or StarOffice before 9.2. In versions of OpenOffice.org before 3.0 or StarOffice before 9.0, the document signature was applied to the main contents, pictures and embedded objects only and some contents, like macros, were not signed. In OpenOffice.org 3.0 and StarOffice 9.0 the document signature was applied to most content, including macros. However, the mimetype and the content of the META-INF folder were not signed. And in OpenOffice.org 3.2, StarOffice 9.2, and all versions of LibreOffice all contents, except the signature file itself (META-INF/documentsignatures.xml), are signed.

## Security Warnings

When you receive a signed document, and the software reports that the signature is valid, this does not mean that you can be absolutely sure that the document is the same that the sender has sent. Signing documents with software certificates is not a perfectly secure method. Numerous ways are possible to circumvent the security features.

Example: Think about someone who wants to camouflage his identity to be a sender from your bank. He can easily get a certificate using a false name, then send you any signed email pretending he is working for your bank. You will get that email, and the email or the document within has the "valid signed" icon.

Do not trust the icon. Inspect and verify the certificates.

The validation of a signature is not a legally binding guarantee of any kind.

On Windows operating systems, the Windows features of validating a signature are used. On Solaris and Linux systems, files that are supplied by Thunderbird, Mozilla or Firefox are used. You must ensure that the files that are in use within your system are really the original files that were supplied by the original developers. For malevolent intruders, there are numerous ways to replace original files with other files that they supply.

The messages about validation of a signature that you see in LibreOfficeDev are the messages that the validation files return. The LibreOfficeDev software has no way to ensure that the messages reflect the true status of any certificate. The LibreOfficeDev software only displays the messages that other files that are not under control of LibreOfficeDev report. There is no legal responsibility of LibreOfficeDev that the displayed messages reflect the true status of a digital signature.

Related Topics

Encrypting Documents with OpenPGP

English Wiki page on digital signatures

Applying Digital Signatures

Opening a document using WebDAV over HTTPS