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.
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
"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
Technologies
Stack: Java, AWT/Swing, JavaScript.
Infrastructure: Maven, IntelliJ IDEA, Jira.
Other libraries: Bouncy Castle Crypto API.
Protocols: TLS.