https://github.com/open-eid/libdigidocpp
Libdigidocpp library offers creating, signing and verification of digitally signed documents, according to XAdES and XML-DSIG standards. Documentation http://open-eid.github.io/libdigidocpp
https://github.com/open-eid/libdigidocpp
asice c-plus-plus linux osx signature signing ubuntu windows xades xmldsig
Last synced: 9 months ago
JSON representation
Libdigidocpp library offers creating, signing and verification of digitally signed documents, according to XAdES and XML-DSIG standards. Documentation http://open-eid.github.io/libdigidocpp
- Host: GitHub
- URL: https://github.com/open-eid/libdigidocpp
- Owner: open-eid
- License: other
- Created: 2014-10-29T09:33:09.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-11-08T08:18:48.000Z (about 1 year ago)
- Last Synced: 2024-11-08T08:36:33.932Z (about 1 year ago)
- Topics: asice, c-plus-plus, linux, osx, signature, signing, ubuntu, windows, xades, xmldsig
- Language: C++
- Homepage:
- Size: 28.4 MB
- Stars: 97
- Watchers: 24
- Forks: 47
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
# libdigidocpp

* License: LGPL 2.1
* © Estonian Information System Authority
* [Architecture of ID-software](http://open-eid.github.io)
* [API Documentation](http://open-eid.github.io/libdigidocpp)
## Building
[](https://github.com/open-eid/libdigidocpp/actions)
[](https://scan.coverity.com/projects/727)
### Ubuntu, Fedora
1. Install dependencies
# Ubuntu
sudo apt install cmake libxml2-dev libxmlsec1-dev zlib1g-dev
# Fedora
sudo dnf install cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-compat-devel openssl-devel zlib-devel xmlsec1-openssl-devel
* doxygen - Optional, for API documentation
* libboost-test-dev - Optional, for unittests
* swig - Optional, for C#, Java and python bindings
* libpython3-dev, python3-setuptools - Optional, for python bindings
* openjdk-17-jdk-headless - Optional, for Java bindings
2. Fetch the source
git clone https://github.com/open-eid/libdigidocpp
cd libdigidocpp
3. Configure
cmake -B build -S .
4. Build
cmake --build build
5. Install
sudo cmake --build build --target install
6. Execute
/usr/local/bin/digidoc-tool
### macOS
1. Install dependencies from
* [XCode](https://itunes.apple.com/en/app/xcode/id497799835?mt=12) - For macOS/iOS development
* [CMake](http://www.cmake.org)
* [Homebrew](https://brew.sh)
* [vcpkg](https://vcpkg.io/) - For Android development (VCPKG_ROOT)
* [Android NDK](https://developer.android.com/ndk/downloads) - For Android development (ANDROID_NDK_ROOT)
2. Fetch the source
git clone https://github.com/open-eid/libdigidocpp
cd libdigidocpp
3. Prepare dependencies (available targets: macos, iphoneos, iphonesimulator)
sh prepare_osx_build_environment.sh macos all
4. Install dependencies
brew install pkg-config ninja
* doxygen - Optional, for API documentation
* boost - Optional, for unittests
* swig - Optional, for C# and Java bindings
* openjdk - Optional, for Java bindings
5. Configure, build and install (available presets: macos, iphoneos, iphonessimulator, androidarm, androidarm64, androidx86_64)
cmake --preset macos
cmake --build --preset macos
sudo cmake --build --preset macos --target install
6. Execute
/Library/Frameworks/digidocpp.framework/Resources/digidoc-tool
### Windows
1. Install dependencies and necessary tools from
* [Visual Studio Community 2019/2022](https://www.visualstudio.com/downloads/)
* [CMake](http://www.cmake.org)
* [vcpkg](https://vcpkg.io/)
* [Swig](http://swig.org/download.html) - Optional, for C#, Python and Java bindings
* [Doxygen](https://www.doxygen.nl/download.html) - Optional, for generating documentation
* [Wix toolset](http://wixtoolset.org/releases/) - Optional, for creating Windows installation packages
* [Python](https://www.python.org/downloads/) - Optional, for Python bindings
* [Java](https://www.oracle.com/java/technologies/downloads/) - Optional, for Java bindings
2. Open desired Visual Studio tools command prompt:
* x64 Native Tool Command Prompt
* x86 Native Tool Command Prompt
* ARM64 Native Tool Command Prompt
* Or some cross compile combination with target host type
3. Fetch the source
git clone https://github.com/open-eid/libdigidocpp
cd libdigidocpp
4. Configure
cmake -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake `
-DVCPKG_TARGET_TRIPLET=x64-windows `
-DVCPKG_MANIFEST_FEATURES=tests `
-B build -S .
Optional CMake parameters:
-DSWIG_EXECUTABLE=C:/swigwin-4.2.1/swig.exe
-DDOXYGEN_EXECUTABLE=C:/Program files/doxygen/bin/doxygen.exe
After running the cmake build, digidoc_csharp.dll along with the C# source files will be created, more info at
[examples/DigiDocCSharp/README.md](examples/DigiDocCSharp/README.md).
5. Build
cmake --build build
6. Alternative to steps 4. and 5. -
powershell -ExecutionPolicy ByPass -File build.ps1
Optional build.ps1 parameters:
-swig C:/swigwin-4.2.1/swig.exe
-doxygen "C:/Program files/doxygen/bin/doxygen.exe"
-boost
The build script builds executables and installation media for given
platform (Debug and Release with debug symbols)
7. Execute
build/src/digidoc-tool.exe
### Examples
[examples/README.md](examples/README.md)
## Support
Official builds are provided through official distribution point [id.ee](https://www.id.ee/en/article/install-id-software/). If you want support, you need to be using official builds. Contact our support via [www.id.ee](http://www.id.ee) for assistance.
Source code is provided on "as is" terms with no warranty (see license for more information). Do not file Github issues with generic support requests.