Cross-Browser Solution Development for Electronic Signature of Documents

checklist
  • Duration: 6 months
  • Industries: IT Industry; Government sector
  • Services: Custom Software Development; Early-Stage Innovation, R&D Services; Software Reengineering, Refactoring and Modernization. Cloud Migration
  • Software Categories and Types: Document Management Systems (DMS)
  • IT Architecture Paradigms and Approaches: Test Driven Development (TDD); Data Driven Testing (DDT); Software Frameworks Development
  • Technical Expertise: Java Server Side Development; Research and Development (R&D); Security Enablement and Audit (digital signature, WS standards, OASIS best practices)
  • DevOps Expertise: Advanced build organization
  • Technologies: Apache Maven; Project Management, Collaboration and Bug Tracking; Jira; IntelliJ IDEA; Java Standard Edition (SE); Java; Frontend; IDE; Build and Dependency Platforms and Tools; Backend; JavaScript; Standards and Protocols; CI/CD and DevOps; Languages, Protocols, APIs, Network Tools; Software Engineering and Management Tools; Swing; Java AWT; TLS/SSL; Java Libraries; Bounce Castle
project-team
  • Team size (2):
  • 1 Project Manager
  • 1 Backend

Provided services

Custom Software Development, Early-Stage Innovation, R&D Services, Software Reengineering, Refactoring and Modernization. Cloud Migration

Client

The leader of document and process management systems with several decades of experience and tens of thousands of users all over the world.

Product

Java applet which allows users on their local computers to sign documents electronically that are stored on the remote server. The applet is based on an electronic signature algorithm that is based on Public Key Infrastructure. The applet can work in different browsers and doesn’t require any additional configuration.

Challenge

Initially, JazzTeam was involved in maintaining a system for electronic document management based on Java applets. The functionality of the client’s product began to grow rapidly. There were a huge number of different devices and a huge number of different working versions that had to be supported. The product was already on the market and had a large number of users.

It was the time to move the product to a new architectural solution. The client needed a reliable and, most importantly, stable solution that would support a large number of devices and versions. The task needed to be accomplished in a short time and efficiently.

Also, our team should have provided for the need to support backward compatibility with the old and new solutions.

In addition to the digital signature, it was necessary to implement encryption, partitioning, and transfer of files from the client side. Therefore, our company proposed applying a new approach to create a new web-based application.

Project Context

  • Rather limited development time.
  • The necessity to reuse customer’s existing groundwork.
  • The applet should be cross-browser and platform-independent. The user does not need to have administrator privileges.
Mule solution

Solution

JazzTeam crew took the existing groundwork from the customer, studied it, and used it in the applet development. During the work on the project, the team developed the concept of a cross-browser solution for the electronic signature of documents, which can offer an alternative to the outdated approach of using applets. As part of this concept, it was required to develop an application based on HTML5 standards that will be installed on the user’s computer along with a local web server. Access to this application had been carried out through a browser.

Technological Overview

For the electronic signature of documents by the applet, the use of electronic keys that comply with the standards PKCS # 11 and PKCS # 12 is provided. Standard PKCS#11 describes the interface of cryptographic device access. Smart cards and USB tokens are used as such devices in the applet. Standard PKCS#12, in turn, describes the format of a file, used to store electronic keys. Bouncy Castle Crypto API is used to create electronic signatures. Signed documents are uploaded to the server using TLS protocol.

Testimonial

Vitalij Petrov
Vitalij Petrov
Chief Business Development Officer at DocLogix,  Vilnius, Lithuania
The customer testimonial about project: Document electronic signature applet

"We were satisfied with JazzTeam work on our project related to data security,  the usage of digital signature, dongles and USB tokens. JazzTeam engineers have the high R&D level and a fairly strong management. Any kind of information was not lost, we received all the details in a very clear and structured form. The project coordinator was always in touch and we decidedly felt the positive mood for the successful task execution. JazzTeam employees have iterative approach to the project management and estimate even the minor tasks. They almost always complied with these estimations otherwise we got the complete justification why the additional time was needed. In any case, we see that JazzTeam fully controls the project and proves itself as a reliable partner."

Result

The customer’s challenge was successfully managed by JazzTeam. Confronting the evolution of a Java-applet-based electronic document management system and extensive device and version support, JazzTeam worked out a solution that looked ahead into the future. In this regard, to meet the requirements in this respect, JazzTeam proposed shifting towards a web-based application built on HTML5 standards that would ensure cross-browser compatibility and platform independence. By using the preliminary work of the customer and coming up with a concept of developing a modern cross-browser electronic signature application, JazzTeam has met all the strict constraints of the project, offering a reliable and effective solution within the defined development time.

An applet that implemented all the necessary functionality was launched on time.

Screenshots

List of electronic certificates
Screenshot 1: List of electronic certificates
Form of pin code entering
Screenshot 2: Form of pin code entering

Technologies

Stack: Java, AWT/Swing, JavaScript.

Infrastructure: Maven, IntelliJ IDEA, Jira.

Other libraries: Bouncy Castle Crypto API.

Protocols: TLS.

Related projects

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.