12e5082537
The trouble with signing via ca/cert/key PEM files is that usually the CA is not trusted by the received of the signature. 3rd-party services are available to do generate trusted signatures, but then you need to share your document with them, which can be also problematic. A middle-ground here is to sign the hash of the document by a 3rd-party, something that's supported by e.g. <https://docs.eideasy.com/electronic-signatures/api-flow-with-file-hashes-pdf.html> (which itself aggregates a number of providers). As a first step, add LOK API to get what would be the signature time during signing -- but instead of actually signing, just return this information. Once the same is done with the doc hash, this is supposed to provide the same info than what the reference <https://github.com/eideasy/eideasy-external-pades-digital-signatures> app does. This is only a start: incrementally replace XCertificate with SignatureContext, which allows aborting the signing right before calling into NSS, and also later it'll allow injecting the PKCS#7 object we get from the 3rd-party. Change-Id: I108564f047fdb4fb796240c7d18a584cd9044313 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176279 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> |
||
---|---|---|
.. | ||
inc | ||
qa | ||
scripts | ||
source | ||
test/deployment | ||
uiconfig/ui | ||
unx/source | ||
util | ||
win32/source | ||
AllLangMoTarget_dkt.mk | ||
CppunitTest_desktop_app.mk | ||
CppunitTest_desktop_dialogs_test.mk | ||
CppunitTest_desktop_lib.mk | ||
CppunitTest_desktop_lokinit.mk | ||
CppunitTest_desktop_version.mk | ||
CustomTarget_desktop_unopackages_install.mk | ||
CustomTarget_soffice.mk | ||
CustomTarget_soffice_bin-emscripten-exports.mk | ||
Executable_minidump_upload.mk | ||
Executable_oosplash.mk | ||
Executable_quickstart.mk | ||
Executable_sbase.mk | ||
Executable_scalc.mk | ||
Executable_sdraw.mk | ||
Executable_simpress.mk | ||
Executable_smath.mk | ||
Executable_soffice_bin.mk | ||
Executable_soffice_com.mk | ||
Executable_soffice_exe.mk | ||
Executable_soffice_safe.mk | ||
Executable_sweb.mk | ||
Executable_swriter.mk | ||
Executable_unoinfo.mk | ||
Executable_unopkg.mk | ||
Executable_unopkg_bin.mk | ||
Executable_unopkg_com.mk | ||
Extension_test-active.mk | ||
Extension_test-crashextension.mk | ||
Extension_test-passive.mk | ||
GeneratedPackage_desktop_unopackages_install.mk | ||
IwyuFilter_desktop.yaml | ||
Jar_active_java.mk | ||
Jar_passive_java.mk | ||
Library_active_native.mk | ||
Library_crashextension.mk | ||
Library_crashreport.mk | ||
Library_deployment.mk | ||
Library_deploymentgui.mk | ||
Library_deploymentmisc.mk | ||
Library_migrationoo2.mk | ||
Library_migrationoo3.mk | ||
Library_offacc.mk | ||
Library_passive_native.mk | ||
Library_sofficeapp.mk | ||
Library_spl.mk | ||
Library_unopkgapp.mk | ||
lokclipboard.component | ||
Makefile | ||
Module_desktop.mk | ||
Package_branding.mk | ||
Package_branding_custom.mk | ||
Package_sbase_sh.mk | ||
Package_scalc_sh.mk | ||
Package_scripts.mk | ||
Package_sdraw_sh.mk | ||
Package_simpress_sh.mk | ||
Package_smath_sh.mk | ||
Package_soffice_sh.mk | ||
Package_swriter_sh.mk | ||
Pagein_calc.mk | ||
Pagein_common.mk | ||
Pagein_draw.mk | ||
Pagein_impress.mk | ||
Pagein_writer.mk | ||
Pyuno_passive_python.mk | ||
Rdb_crashextension.mk | ||
Rdb_passive_generic.mk | ||
Rdb_passive_platform.mk | ||
README.md | ||
README.vars | ||
StaticLibrary_winlauncher.mk | ||
StaticLibrary_winloader.mk | ||
UIConfig_deployment.mk | ||
WinResTarget_quickstart.mk | ||
WinResTarget_sbase.mk | ||
WinResTarget_scalc.mk | ||
WinResTarget_sdraw.mk | ||
WinResTarget_simpress.mk | ||
WinResTarget_smath.mk | ||
WinResTarget_soffice.mk | ||
WinResTarget_sofficebin.mk | ||
WinResTarget_sweb.mk | ||
WinResTarget_swriter.mk |
LibreOffice Binary
Code for the LibreOffice main binary (soffice
) resides here. The soffice_main
function for the soffice
binary can be found here.
Stable Interface
Some of the artifacts built here are part of a LibreOffice installation set's stable interface, which (programmatic) clients can depend on. Among them are:
soffice
In the program
directory (program/
on Linux and Windows, Contents/MacOS/
on macOS).
unoinfo
In the program
directory (program/
on Linux and Windows, Contents/MacOS/
on macOS).
When called with a sole argument of c++
, it prints to stdout an absolute
pathname denoting the directory where the public URE libraries are found.
When called with a sole argument of java
, it prints to stdout a marker
character (either an ASCII '0' or '1') followed by a sequence of zero or more
absolute pathnames denoting jars or directories that need to be included in a
class loader's search locations.
If the marker character is '0' (on Linux and macOS), the pathnames are encoded as bytes, and any two pathnames in the sequence are separated from each other by NUL bytes.
If the marker character is '1' (on Windows), the pathnames are encoded as
UTF-16-LE two-byte code units, and any two pathnames in the sequence are
separated from each other by two-byte NUL
code units.
Other Binaries
oosplash
Splash screen for the LibreOffice soffice
binary.
Extensions
The directory test/deployment
contains some extensions to be used for testing:
test/deployment/crashextension
: C++ extension to make LibreOffice crash. Useful for testing Crashreporter.- Build with
Extension_test-crashextension
. - Extension can be found in
workdir/Extension/test-crashextension.oxt
- Build with
test/deployment/passive
: C++, Java and Python extension samples with passive registration.- Build with
make Extension_test-passive
. - Extension can be found in
workdir/Extension/test-passive.oxt
- Build with
test/deployment/active
: C++, Java and Python extension samples with active registration.- Build with
make Extension_test-active
. - Extension can be found in
workdir/Extension/test-active.oxt
- Build with