Giter Site home page Giter Site logo

alfresco-pades-ltv's Introduction

Alfresco PAdES-LTV

This project includes a sample Spring Boot application demonstrating the features of Alfresco Java SDK.

  • Event API is used to listen to PDF documents created under a given Alfresco Repository folder
  • REST API Wrapper is used to get document content from Repository and to update the content with a PAdES-LTV document

Additionally, Apache PDFBox examples code is used to create the PAdES-LTV format.

PAdES (PDF Advanced Electronic Signatures) is a set of restrictions and extensions to PDF and ISO 32000-1 making it suitable for Advanced Electronic Signature. PAdES recognizes that digitally-signed documents may be used or archived for many years – even many decades. At any time in the future, in spite of technological and other advances, it must be possible to validate the document to confirm that the signature was valid at the time it was signed – a concept known as Long-Term Validation (LTV).

An external RFC-3161 TSA is required, using http://tsa.baltstamp.lt by default.

Local testing

Build Spring Boot application

Default Maven command can be used.

$ mvn clean package

Maven will create a running Spring Boot application in target folder

Starting

Existing ACS 7.1 (Community or Enterprise) must be running before starting this application. At least, Alfresco Repository and ActiveMQ services are required.

$ java -jar target/alfresco-pades-ltv-1.0.0.jar

Testing

Add a PDF document to Alfresco Repository folder Shared/Archive using ACA, Share or some other API.

Alfresco PAdES-LTV will download the PDF, compute the PAdES-LTV and update the original PDF in Alfresco with the result as a major version.

Deployment with ACS Stack

Build Docker Image

This project provides a sample Dockerfile to build a Spring Boot Docker Image.

$ docker build . -t alfresco-pades-ltv

Adding Alfresco PAdES-LTV to Docker Compose

Once Docker Image is available in your local Docker Repository, it can be added as a new service in ACS docker-compose.yml file.

  alfresco-pades-ltv:
    image: alfresco-pades-ltv
    environment:
      CONTENT_SERVICE_URL: "http://alfresco:8080"
      SPRING_ACTIVEMQ_BROKER_URL: "tcp://activemq:61616"
      TSA_URL: "http://tsa.baltstamp.lt"

Start ACS Stack from folder containing docker-compose.yml file.

$ docker-compose up --build --force-recreate

alfresco-pades-ltv's People

Contributors

aborroy avatar

Stargazers

Andrés avatar

Watchers

James Cloos avatar Jérémie Lesage avatar  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.