summaryrefslogtreecommitdiff
path: root/xmlsecurity
diff options
context:
space:
mode:
Diffstat (limited to 'xmlsecurity')
-rw-r--r--xmlsecurity/README.md29
-rw-r--r--xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.odtbin0 -> 26268 bytes
-rw-r--r--xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.sxwbin14189 -> 0 bytes
-rw-r--r--xmlsecurity/doc/OpenDocumentSignatures-Workflow.odgbin0 -> 32729 bytes
-rw-r--r--xmlsecurity/doc/OpenDocumentSignatures-Workflow.sxdbin10310 -> 0 bytes
-rw-r--r--xmlsecurity/doc/OpenDocumentSignatures.odtbin0 -> 23079 bytes
-rw-r--r--xmlsecurity/doc/OpenDocumentSignatures.sxwbin16195 -> 0 bytes
-rw-r--r--xmlsecurity/doc/XMLSecurityFramework.odt (renamed from xmlsecurity/doc/XMLSecurityFramework.sxw)bin187975 -> 196857 bytes
-rw-r--r--xmlsecurity/qa/create-certs/create-dump-certs.sh31
9 files changed, 59 insertions, 1 deletions
diff --git a/xmlsecurity/README.md b/xmlsecurity/README.md
index b983f5dc5eb5..80259e6dcbf9 100644
--- a/xmlsecurity/README.md
+++ b/xmlsecurity/README.md
@@ -1,4 +1,6 @@
-# Stuff for Document Signing
+# Document Signing
+
+## Introduction
This code provides dialogs, and infrastructure wrapping `libxmlsec` and
`gpgme` that implements document signing.
@@ -10,6 +12,31 @@ to the digital signature of the document, when signing it.
The document signing can be done both for the source ODF/OOXML files and
the exported PDF files. It is also possible to sign existing PDF files.
+## Module Contents
+
+ * `doc`: OpenDocument workflow legacy information with some illustrations to have an idea of the workflow, for starters check `doc/OpenDocumentSignatures-Workflow.odt`.
+ * `inc`: Headers to a subset of source files inside the module, parts like `source/framework` have headers inside the folder.
+ * `qa`: Unit tests for signing and shell scripts for certificates creation for testing.
+ * `test_docs`: Documents & certificates used for testing.
+ * `source`: More on that below.
+ * `uiconfig`: User interface configuration for different dialogs, it is recommended to navigate from relevant source file to the .ui file linked in the class which will be under `uiconfig/ui`.
+ * `util`: UNO passive registration config for GPG/ NSS.
+
+## Source Primary Contents
+
+ * `component`: Main implementation of `DocumentDigitalSignatuers` where the interaction with security environment and certificates occur.
+ * `dialogs`: Certificate & Signatures management dialogs.
+ * `certificatechooser`: Dialog that allows you to find and choose certificates or signatures for encryption.
+ * `certificateviewer`: More detailed information about each certificate.
+ * `digitalsignaturesdialog`: Main window for signatures of the documents and the start point of signing document.
+ * `framework`: Various elements for verifying signatures and running security engine.
+ * `gpg`: The implementation of encrypting with GPG and security environment initialization.
+ * `helper`: Some helper classes that include signatures manager and the helpers for PDF signing, UriBinding, and XML signatures. It also include helper tools for XSecurityEnvironment.
+ * `xmlsec`: XML, NSS, MSCrypt encryption/ signing tools, more on the low-level side of actual implementation of algorithms.
+
+
+## PDF Testing
+
To test the signed PDFs, one can use the `pdfverify` in this way:
./bin/run pdfverify $PWD/xmlsecurity/qa/unit/pdfsigning/data/2good.pdf
diff --git a/xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.odt b/xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.odt
new file mode 100644
index 000000000000..e90e4eaade2d
--- /dev/null
+++ b/xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.odt
Binary files differ
diff --git a/xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.sxw b/xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.sxw
deleted file mode 100644
index 2973f08c8d8a..000000000000
--- a/xmlsecurity/doc/OpenDocumentSignatures-TestIntegration.sxw
+++ /dev/null
Binary files differ
diff --git a/xmlsecurity/doc/OpenDocumentSignatures-Workflow.odg b/xmlsecurity/doc/OpenDocumentSignatures-Workflow.odg
new file mode 100644
index 000000000000..f7331f024acd
--- /dev/null
+++ b/xmlsecurity/doc/OpenDocumentSignatures-Workflow.odg
Binary files differ
diff --git a/xmlsecurity/doc/OpenDocumentSignatures-Workflow.sxd b/xmlsecurity/doc/OpenDocumentSignatures-Workflow.sxd
deleted file mode 100644
index abc5f32c6151..000000000000
--- a/xmlsecurity/doc/OpenDocumentSignatures-Workflow.sxd
+++ /dev/null
Binary files differ
diff --git a/xmlsecurity/doc/OpenDocumentSignatures.odt b/xmlsecurity/doc/OpenDocumentSignatures.odt
new file mode 100644
index 000000000000..78ac14fc0b4f
--- /dev/null
+++ b/xmlsecurity/doc/OpenDocumentSignatures.odt
Binary files differ
diff --git a/xmlsecurity/doc/OpenDocumentSignatures.sxw b/xmlsecurity/doc/OpenDocumentSignatures.sxw
deleted file mode 100644
index 9b453e0d8a92..000000000000
--- a/xmlsecurity/doc/OpenDocumentSignatures.sxw
+++ /dev/null
Binary files differ
diff --git a/xmlsecurity/doc/XMLSecurityFramework.sxw b/xmlsecurity/doc/XMLSecurityFramework.odt
index c778e1c1ecd3..b3f3a3549cd3 100644
--- a/xmlsecurity/doc/XMLSecurityFramework.sxw
+++ b/xmlsecurity/doc/XMLSecurityFramework.odt
Binary files differ
diff --git a/xmlsecurity/qa/create-certs/create-dump-certs.sh b/xmlsecurity/qa/create-certs/create-dump-certs.sh
new file mode 100644
index 000000000000..4056ddb1a404
--- /dev/null
+++ b/xmlsecurity/qa/create-certs/create-dump-certs.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This script generates 100 certificates (modifiable) for cases of testing UI latency for instance.
+#
+# Basically, it creates certificates with sender same as reciever following User [number] pattern.
+#
+
+for ((i=1; i<=100; i++))
+do
+ gpg --batch --gen-key <<EOF
+ %no-protection
+ Key-Type: RSA
+ Key-Length: 2048
+ Subkey-Type: RSA
+ Subkey-Length: 2048
+ Name-Real: User $i
+ Name-Email: user$i@example.com
+ Expire-Date: 1y
+ %commit
+EOF
+
+ gpg --armor --export user$i@example.com > user$i.asc
+
+ echo "Generated certificate for User $i"
+done