GithubHelp home page GithubHelp logo

nagyist / libdigidocpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open-eid/libdigidocpp

0.0 0.0 0.0 28.6 MB

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: Other

Shell 1.13% C++ 81.80% C 14.07% PowerShell 0.30% CMake 2.02% SWIG 0.68% CSS 0.01%

libdigidocpp's Introduction

libdigidocpp

European Regional Development Fund

Building

Build Status Coverity Scan Build Status

Ubuntu, Fedora

  1. Install dependencies

     # Ubuntu
     sudo apt install cmake xxd libxml-security-c-dev xsdcxx libssl-dev zlib1g-dev
     # Fedora
     sudo dnf install cmake openssl-devel xerces-c-devel xml-security-c-devel zlib-devel vim-common https://www.codesynthesis.com/download/xsd/4.0/linux-gnu/x86_64/xsd-4.0.0-1.x86_64.rpm
    
    • doxygen - Optional, for API documentation
    • libboost-test-dev - Optional, for unittests
    • swig - Optional, for C#, Java and python bindings
    • libpython3-dev, python3-distutils - Optional, for python bindings
    • openjdk-8-jdk-headless - Optional, for Java bindings
  2. Fetch the source

     git clone --recursive 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 --recursive https://github.com/open-eid/libdigidocpp
     cd libdigidocpp
    
  3. Prepare dependencies (available targets: osx, ios, iossimulator, androidarm, androidarm64, androidx86_64)

     sh prepare_osx_build_environment.sh osx all
    
  4. Install dependencies

     brew install xsd
     brew unlink xerces-c
    
    • 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 targets: osx, ios, iossimulator, androidarm, androidarm64, androidx86_64)

     ./build-library.sh osx install
    
  6. Execute

     /Library/Frameworks/digidocpp.framework/Resources/digidoc-tool
    

Windows

  1. Install dependencies and necessary tools from

    Toolset:

    • 142 - Visual Studio 2019 (Default)
    • 143 - Visual Studio 2022
  2. Fetch the source

     git clone --recursive https://github.com/open-eid/libdigidocpp
     cd libdigidocpp
    
  3. Prepare

     powershell -ExecutionPolicy ByPass -File prepare_win_build_environment.ps1 -toolset 142
    
  4. Configure

     cmake -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake" `
           -DVCPKG_TARGET_TRIPLET=x64-windows-v142 `
           -DXSD_INCLUDE_DIR=xsd/libxsd `
           -DXSD_EXECUTABLE=xsd/bin/xsd.exe `
           -B build -S .
    

    Optional CMake parameters:

    -DSWIG_EXECUTABLE=C:/swigwin-4.1.1/swig.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 -toolset 142
    

    The build script builds executables and installation media for all platforms (x86 and x64 / 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.

libdigidocpp's People

Contributors

counter178 avatar eidins avatar germano0 avatar hniinemae avatar jsanko avatar klemensn avatar kristelmerilain avatar kristiu avatar martinpaljak avatar metsma avatar olegprokofjev avatar tanelts avatar telgat avatar uudisaru avatar weiwu-zhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.