Skip to content

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

License

Unknown, LGPL-2.1 licenses found

Licenses found

Unknown
COPYING
LGPL-2.1
LICENSE.LGPL
Notifications You must be signed in to change notification settings

open-eid/libdigidocpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libdigidocpp

European Regional Development Fund

Building

Build Status Coverity Scan Build Status

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

  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

  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.

  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

Support

Official builds are provided through official distribution point id.ee. If you want support, you need to be using official builds. Contact our support via 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.